1. 引言
傳統(tǒng)行業(yè)中, 特別是工業(yè)控制領域大量設備采用RS232 或RS485 串口與主機通訊,比如:數控機床、數字水表、數字電表、基于字符界面的串口終端等。串口通訊中距離短、速率低是這一類設備的主要缺點,無法進行集中、遠程管理。本項目的研究與開發(fā)旨在為工控領域的串行設備接入以太網、互聯(lián)網提供全面的解決方案。行業(yè)用戶在不浪費原有設備資源的基礎上,通過架設串口聯(lián)網服務器就可以把原有的串行設備無縫接入以太網、互連網,實現集中控制、遠程控制,并能使所有設備共享主機資源, 大大節(jié)約了人力成本和時間成本,提高了生產率。
2.系統(tǒng)性能
串口服務器是一款數據通訊產品, 不僅要求硬件平臺性能高、功耗低,而且對穩(wěn)定性、可靠性要求極高,機器必須7X24 小時連續(xù)工作, 硬件平臺上需要集成看門狗電路,防止系統(tǒng)死鎖。結構上要求體積小巧,美觀。軟件上要求依托成熟穩(wěn)定的操作系統(tǒng)為平臺,定制串口驅動、網絡驅動,改造硬件中斷優(yōu)先級,提高系統(tǒng)的實時性。系統(tǒng)軟件平臺需要同時支持TCP/IP、FTP、TELNET、HTTP 協(xié)議。上層應用核心是串口服務及網絡服務程序,需要設計完善的進程通訊機制,實現串口數據到網絡數據之間的轉發(fā),要求各串口獨立工作,互不干涉, 每個串口工作在115.2KBPS 速率下不需要流量控制。用戶要求能夠通過本地端口、網絡、Web 等方式對串口服務器進行參數配置, 能夠通過集中管理軟件監(jiān)控機器運行狀態(tài),并能對核心代碼進行升級,要求維護、安裝方便。
3. 硬件設計
為提升性能, 在實際設計過程中我們需要完全控制串口和網絡的底層信號,提高整個系統(tǒng)的實時性,我們選用了性價比更高一點的X86 兼容平臺RDC 公司的R8610,主頻柯達150Mhz,另外,此平臺下編程及匯編比較容易上手,可以加快產品的上市周期,硬件平臺的主要性能指標如下表:
硬件結構框圖如下:
圖1 硬件平臺結構框圖
4. 軟件設計
4.1 內核定制與驅動設計
操作系統(tǒng)選擇ucLinux,ucLinux 在工業(yè)控制領域性能卓越。由于其代碼精煉,系統(tǒng)消耗小,效率更高。設計過程中,我們將ucLiux 進行了徹底的定制,只保留了與R8610 相關的代碼,集成文件系統(tǒng)、任務調度、進程管理和TCP/IP 模塊, 整個核心代碼控制在500K 以下,運行效果相當穩(wěn)定。
驅動程序設計上,我們重點實現winbond 83977 串口擴展芯片的驅動, 在linux 核心代碼8250.c 的基礎上設計我們自己的驅動, 針對串口擴展芯片特性設計了硬件緩沖中斷機制, 當硬件緩沖到達設置參數(FIFO_SIZE_1、FIFO_SIZE_4、FIFO_SIZE_8) 規(guī)定的字節(jié)數,或者判斷沒有后續(xù)字節(jié)到達時發(fā)出中斷,這樣可以大大提高串口數據讀寫效率。網絡驅動針對DM9008芯片特性定制,充分發(fā)揮DM9008 全雙工屬性,提高網絡數據交換效率。
4.2 應用服務程序設計
核心應用程序基于ucLinux 操作系統(tǒng)設計,主要設計了兩線程,串口服務線程和網絡服務線程,這兩種線程是成對出現的,彼此之間通過兩個隊列serial_queue和tcpsrv_queue 完成數據共享與交換,主要工作流程如下:
(1) 串口線程tcp_ser_proc()偵聽串口,接收數據,然后發(fā)送到tcpsrv_queue 隊列的數據鏈上; 同時監(jiān)測serial_queue 隊列,如果有數據則發(fā)送到對應的本地串口。
(2) 網絡線程tcp_srv_proc()偵聽網絡連接請求,建立連接,接收網絡數據,完成解包,最后發(fā)送到serial_queue 隊列上;同時監(jiān)測serial_queue 隊列,如果有數據則發(fā)送到TCP/IP 遠端控制節(jié)點。
圖2 軟件系統(tǒng)架構圖
5.系統(tǒng)測試
使用傳統(tǒng)串口字符終端, 與串口服務器通過串口連接,后臺Linux 系統(tǒng)與串口服務器通過網絡連接,服務器中設置遠端主機為Linux 系統(tǒng)的IP 地址,當串口服務器開機的時候直接通過Telnet 協(xié)議連到Linux 系統(tǒng)上,串口終端就能夠出現login 登錄畫面,如同串口終端直接連到網絡上一樣, 可運行服務器上的后臺應用;服務器上的程序也可以直接對串口操作。系統(tǒng)測試性能良好。
6. 結論
本文設計的串口聯(lián)網服務器,具有操作維護方便、可靠性高、性能穩(wěn)定等優(yōu)點,能夠將工業(yè)控制領域、金融領域等大量使用的串口設備直接連到網絡, 可有效通過管理程序對設備進行遠程、集中管理,提升了設備適應網絡的能力,具有很好的市場前景。
-
以太網
+關注
關注
41文章
5630瀏覽量
175718 -
Web
+關注
關注
2文章
1287瀏覽量
71300 -
Linux
+關注
關注
87文章
11508瀏覽量
213567 -
服務器
+關注
關注
13文章
9783瀏覽量
87822
發(fā)布評論請先 登錄
支持過程級動態(tài)軟硬件劃分的RSoC設計與實現
串口數據采集儲存聯(lián)網服務器應用方案
基于Altera FPGA的軟硬件協(xié)同仿真方法介紹
基于VxWorks和MPC860T的嵌入式串口通信服務器設計
基于VxWorks和MPC860T的嵌入式串口通信服務器設計
如何實現波形發(fā)生器的軟硬件系統(tǒng)設計?
嵌入式Web服務器的設計與實現
基于EDA 的嵌入式系統(tǒng)軟硬件劃分方法
基于軟硬件協(xié)同設計的低功耗生理信號處理ASIC設計
利用FPGA軟硬件協(xié)同系統(tǒng)驗證SoC系統(tǒng)的過程和方法

軟硬件協(xié)同設計是系統(tǒng)芯片的基礎設計方法學
為什么要從“軟硬件協(xié)同”走向“軟硬件融合”?
軟硬件融合的概念和內涵

評論