基于R8610平臺(tái)的串口聯(lián)網(wǎng)服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
出處:computer00 發(fā)布于:2011-09-19 14:58:05
【摘要】: 近年來(lái),伴隨物聯(lián)網(wǎng)系統(tǒng)在物流、交通、零售領(lǐng)域的廣泛應(yīng)用,物聯(lián)網(wǎng)的下一個(gè)階段---"物體互聯(lián)"時(shí)代即將到來(lái),傳統(tǒng)行業(yè)如安全控制領(lǐng)域、工業(yè)控制領(lǐng)域、醫(yī)療電子領(lǐng)域中大量使用的串口設(shè)備急待接入以太網(wǎng)。本文設(shè)計(jì)并實(shí)現(xiàn)的串口聯(lián)網(wǎng)服務(wù)器與系統(tǒng)是串行設(shè)備與以太網(wǎng)之間的橋梁,是一種性價(jià)比高的解決方案。
1. 引言
傳統(tǒng)行業(yè)中, 特別是工業(yè)控制領(lǐng)域大量設(shè)備采用RS232 或RS485 串口與主機(jī)通訊,比如:數(shù)控機(jī)床、數(shù)字水表、數(shù)字電表、基于字符界面的串口終端等。串口通訊中距離短、速率低是這一類設(shè)備的主要缺點(diǎn),無(wú)法進(jìn)行集中、遠(yuǎn)程管理。本項(xiàng)目的研究與開(kāi)發(fā)旨在為工控領(lǐng)域的串行設(shè)備接入以太網(wǎng)、互聯(lián)網(wǎng)提供全面的解決方案。行業(yè)用戶在不浪費(fèi)原有設(shè)備資源的基礎(chǔ)上,通過(guò)架設(shè)串口聯(lián)網(wǎng)服務(wù)器就可以把原有的串行設(shè)備無(wú)縫接入以太網(wǎng)、互連網(wǎng),實(shí)現(xiàn)集中控制、遠(yuǎn)程控制,并能使所有設(shè)備共享主機(jī)資源, 大大節(jié)約了人力成本和時(shí)間成本,提高了生產(chǎn)率。
2.系統(tǒng)性能
串口服務(wù)器是一款數(shù)據(jù)通訊產(chǎn)品, 不僅要求硬件平臺(tái)性能高、功耗低,而且對(duì)穩(wěn)定性、可靠性要求極高,機(jī)器必須7X24 小時(shí)連續(xù)工作, 硬件平臺(tái)上需要集成看門(mén)狗電路,防止系統(tǒng)死鎖。結(jié)構(gòu)上要求體積小巧,美觀。軟件上要求依托成熟穩(wěn)定的操作系統(tǒng)為平臺(tái),定制串口驅(qū)動(dòng)、網(wǎng)絡(luò)驅(qū)動(dòng),改造硬件中斷優(yōu)先級(jí),提高系統(tǒng)的實(shí)時(shí)性。系統(tǒng)軟件平臺(tái)需要同時(shí)支持TCP/IP、FTP、TELNET、HTTP 協(xié)議。上層應(yīng)用是串口服務(wù)及網(wǎng)絡(luò)服務(wù)程序,需要設(shè)計(jì)完善的進(jìn)程通訊機(jī)制,實(shí)現(xiàn)串口數(shù)據(jù)到網(wǎng)絡(luò)數(shù)據(jù)之間的轉(zhuǎn)發(fā),要求各串口獨(dú)立工作,互不干涉, 每個(gè)串口工作在115.2KBPS 速率下不需要流量控制。用戶要求能夠通過(guò)本地端口、網(wǎng)絡(luò)、Web 等方式對(duì)串口服務(wù)器進(jìn)行參數(shù)配置, 能夠通過(guò)集中管理軟件監(jiān)控機(jī)器運(yùn)行狀態(tài),并能對(duì)代碼進(jìn)行升級(jí),要求維護(hù)、安裝方便。
3. 硬件設(shè)計(jì)
為提升性能, 在實(shí)際設(shè)計(jì)過(guò)程中我們需要完全控制串口和網(wǎng)絡(luò)的底層信號(hào),提高整個(gè)系統(tǒng)的實(shí)時(shí)性,我們選用了性價(jià)比更高一點(diǎn)的X86 兼容平臺(tái)RDC 公司的R8610,主頻柯達(dá)150Mhz,另外,此平臺(tái)下編程及匯編比較容易上手,可以加快產(chǎn)品的上市周期,硬件平臺(tái)的主要性能指標(biāo)如下表:

硬件結(jié)構(gòu)框圖如下:

圖1 硬件平臺(tái)結(jié)構(gòu)框圖
4. 軟件設(shè)計(jì)
4.1 內(nèi)核定制與驅(qū)動(dòng)設(shè)計(jì)
操作系統(tǒng)選擇ucLinux,ucLinux 在工業(yè)控制領(lǐng)域性能卓越。由于其代碼精煉,系統(tǒng)消耗小,效率更高。設(shè)計(jì)過(guò)程中,我們將ucLiux 進(jìn)行了徹底的定制,只保留了與R8610 相關(guān)的代碼,集成文件系統(tǒng)、任務(wù)調(diào)度、進(jìn)程管理和TCP/IP 模塊, 整個(gè)代碼控制在500K 以下,運(yùn)行效果相當(dāng)穩(wěn)定。
驅(qū)動(dòng)程序設(shè)計(jì)上,我們重點(diǎn)實(shí)現(xiàn)winbond 83977 串口擴(kuò)展芯片的驅(qū)動(dòng), 在linux 代碼8250.c 的基礎(chǔ)上設(shè)計(jì)我們自己的驅(qū)動(dòng), 針對(duì)串口擴(kuò)展芯片特性設(shè)計(jì)了硬件緩沖中斷機(jī)制, 當(dāng)硬件緩沖到達(dá)設(shè)置參數(shù)(FIFO_SIZE_1、FIFO_SIZE_4、FIFO_SIZE_8) 規(guī)定的字節(jié)數(shù),或者判斷沒(méi)有后續(xù)字節(jié)到達(dá)時(shí)發(fā)出中斷,這樣可以大大提高串口數(shù)據(jù)讀寫(xiě)效率。網(wǎng)絡(luò)驅(qū)動(dòng)針對(duì)DM9008芯片特性定制,充分發(fā)揮DM9008 全雙工屬性,提高網(wǎng)絡(luò)數(shù)據(jù)交換效率。
4.2 應(yīng)用服務(wù)程序設(shè)計(jì)
應(yīng)用程序基于ucLinux 操作系統(tǒng)設(shè)計(jì),主要設(shè)計(jì)了兩線程,串口服務(wù)線程和網(wǎng)絡(luò)服務(wù)線程,這兩種線程是成對(duì)出現(xiàn)的,彼此之間通過(guò)兩個(gè)隊(duì)列serial_queue和tcpsrv_queue 完成數(shù)據(jù)共享與交換,主要工作流程如下:
(1) 串口線程tcp_ser_proc()偵聽(tīng)串口,接收數(shù)據(jù),然后發(fā)送到tcpsrv_queue 隊(duì)列的數(shù)據(jù)鏈上; 同時(shí)監(jiān)測(cè)serial_queue 隊(duì)列,如果有數(shù)據(jù)則發(fā)送到對(duì)應(yīng)的本地串口。
(2) 網(wǎng)絡(luò)線程tcp_srv_proc()偵聽(tīng)網(wǎng)絡(luò)連接請(qǐng)求,建立連接,接收網(wǎng)絡(luò)數(shù)據(jù),完成解包,發(fā)送到serial_queue 隊(duì)列上;同時(shí)監(jiān)測(cè)serial_queue 隊(duì)列,如果有數(shù)據(jù)則發(fā)送到TCP/IP 遠(yuǎn)端控制節(jié)點(diǎn)。

圖2 軟件系統(tǒng)架構(gòu)圖
5.系統(tǒng)測(cè)試
使用傳統(tǒng)串口字符終端, 與串口服務(wù)器通過(guò)串口連接,后臺(tái)Linux 系統(tǒng)與串口服務(wù)器通過(guò)網(wǎng)絡(luò)連接,服務(wù)器中設(shè)置遠(yuǎn)端主機(jī)為L(zhǎng)inux 系統(tǒng)的IP 地址,當(dāng)串口服務(wù)器開(kāi)機(jī)的時(shí)候直接通過(guò)Telnet 協(xié)議連到Linux 系統(tǒng)上,串口終端就能夠出現(xiàn)login 登錄畫(huà)面,如同串口終端直接連到網(wǎng)絡(luò)上一樣, 可運(yùn)行服務(wù)器上的后臺(tái)應(yīng)用;服務(wù)器上的程序也可以直接對(duì)串口操作。系統(tǒng)測(cè)試性能良好。
6. 結(jié)論
本文設(shè)計(jì)的串口聯(lián)網(wǎng)服務(wù)器,具有操作維護(hù)方便、可靠性高、性能穩(wěn)定等優(yōu)點(diǎn),能夠?qū)⒐I(yè)控制領(lǐng)域、金融領(lǐng)域等大量使用的串口設(shè)備直接連到網(wǎng)絡(luò), 可有效通過(guò)管理程序?qū)υO(shè)備進(jìn)行遠(yuǎn)程、集中管理,提升了設(shè)備適應(yīng)網(wǎng)絡(luò)的能力,具有很好的市場(chǎng)前景。
參考文獻(xiàn):
[1]. RS232 datasheet http://hbjingang.com/datasheet/RS232+_585128.html.
[2]. RS485 datasheet http://hbjingang.com/datasheet/RS485+_585289.html.
[3]. DM9008 datasheet http://hbjingang.com/datasheet/DM9008_264483.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)5G技術(shù)在智能制造中的應(yīng)用與實(shí)踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機(jī)選型與現(xiàn)場(chǎng)應(yīng)用技術(shù)指南2025/12/18 10:48:14
- 無(wú)線傳輸電路基礎(chǔ),射頻前端設(shè)計(jì)、天線匹配與鏈路預(yù)算計(jì)算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點(diǎn)與實(shí)現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21
- 高速PCB阻抗控制核心實(shí)操規(guī)范
- 高速數(shù)字系統(tǒng)(如DDR、SerDes)中的信號(hào)完整性濾波
- MOSFET在UPS電源中的應(yīng)用解析
- 電源管理IC在物聯(lián)網(wǎng)設(shè)備中的應(yīng)用
- SMT連接器焊接缺陷分析
- MOSFET在汽車電子中的應(yīng)用要求
- 通信設(shè)備電源管理IC應(yīng)用解析
- 通信設(shè)備連接器選型與設(shè)計(jì)
- PCB電磁兼容性(EMC)設(shè)計(jì)核心實(shí)操規(guī)范
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號(hào)鏈中的濾波與功耗管理









