基于樹(shù)莓派的多串口多總線(xiàn)服務(wù)器設計
引言
本文引用地址:http://dyxdggzs.com/article/201609/304386.htm工業(yè)控制中,各設備的信號采集和監控只靠串口總線(xiàn)難以實(shí)現擴展,要將現場(chǎng)控制網(wǎng)絡(luò )和信息網(wǎng)絡(luò )相連,就需要解決串口通信協(xié)議和因特網(wǎng)通信協(xié)議的轉換問(wèn)題,即把原有設備轉換為具備網(wǎng)絡(luò )接口的外設,這樣可以將傳統串行鏈路上的數據傳輸到信息網(wǎng)絡(luò )上,而無(wú)需更換原有設備。如此,可以提高原有設備利用率、增加多終端連接數、節約成本、簡(jiǎn)化布線(xiàn)的復雜度及延長(cháng)通信距離。
近年來(lái),因信息化和物聯(lián)網(wǎng)發(fā)展的需要,串口服務(wù)器大量涌現,它們不占用主機資源,且具有終端服務(wù)器的功能。不過(guò),設備體積龐大、價(jià)格昂貴、串口不易裁剪或擴展、傳輸大量數據幀時(shí)丟包、參數配置繁雜等問(wèn)題也隨之出現。
本設計采用的串口服務(wù)器的核心設備——樹(shù)莓派,是一款體積小、價(jià)格便宜但功能非常強大的平臺,可通過(guò)多種通信方式接入互聯(lián)網(wǎng),支持多種完整網(wǎng)絡(luò )協(xié)議,結合USB—hub及USB/串口轉換器使用,可保證串口服務(wù)器使用方便,并實(shí)現實(shí)時(shí)、準確、長(cháng)時(shí)間穩定的數據傳輸。
1 總體設計
根據當今工業(yè)現場(chǎng)數據傳輸需求,應具備的技術(shù)指標和設置參數如下。
1.1 技術(shù)指標
①主控芯片:32位700 MHz的ARM1176JZF—S處理器;
②操作系統:Linux;
③支持協(xié)議:TCP/IP、UDP、HTTP、FTP;
④網(wǎng)絡(luò )接口:10/100 Mbps自適應以太網(wǎng)接口;
⑤串口類(lèi)型:1~16個(gè)RS 232/RS485/RS422接口,1個(gè)TTL電平串口;
⑥參數配置方式:WEB瀏覽器配置;
⑦會(huì )話(huà)數:支持多連接,滿(mǎn)足5個(gè)以?xún)扔脩?hù)同時(shí)管理一個(gè)模塊設備;
⑧工作模式:TCP客戶(hù)端、TCP服務(wù)器、UDP廣播模式;
⑨指示燈:電源指示燈、通信指示燈;
⑩供電電壓:5 V。
1.2 設置參數
該設備選擇WEB瀏覽器設置方式,內置WEB服務(wù)器,用戶(hù)可進(jìn)行IP地址、串口通信參數、工作模式等的管理和配置。以下主要介紹串口通信和工作模式參數的設置。
(1)串口通信參數
①波特率為2 400~115 200 bps;
②數據位為6/7/8/9;
③校驗位為None/Even/Odd;
④停止位為1/1.5/2;
⑤成幀長(cháng)度為1~15000字節;
⑥成幀間隔為30~500位。
其中,成幀長(cháng)度指每一幀接收數據的長(cháng)度,接收端緩沖區一旦接收到該長(cháng)度的數據就轉發(fā)出去;成幀間隔就是所謂的串口超時(shí),超時(shí)時(shí)間T(s)、成幀間隔N(位)、波特率B(b/s)的關(guān)系如下。一旦超時(shí),不管已有數據長(cháng)度是不是達到成幀長(cháng)度,接收端緩沖區就將已有數據組幀轉發(fā)出去。

(2)工作模式參數
①單個(gè)串口支持會(huì )話(huà)數為1~5個(gè),每個(gè)會(huì )話(huà)模式間相互獨立;
②TCP服務(wù)器模式為綁定端口范圍為1025~65535;
③TCP客戶(hù)端模式為需配置目標服務(wù)器IP、端口及自動(dòng)重連時(shí)間,其中自動(dòng)重連時(shí)間指網(wǎng)絡(luò )連接中斷或者服務(wù)器異常時(shí),重新發(fā)起主動(dòng)連接的時(shí)間間隔,循環(huán)自動(dòng)重連直到正常連接上為止;
④UDP廣播模式為需配置本地端口、目標服務(wù)器IP和目標端口。
2 硬件設計
此串口服務(wù)器根據以上指標選用最新的樹(shù)莓派、USB—hub及北京世紀聯(lián)信公司生產(chǎn)的USB/四串口轉換器組合而成。
2.1 硬件結構組成
串口服務(wù)器硬件結構組成如圖1所示,樹(shù)莓派具有兩個(gè)USB接口、一個(gè)TTL串口及一個(gè)10/100 MHz自適應以太網(wǎng)接口。一個(gè)USB接口通過(guò)USB—hub和n(可據情況選擇,最多時(shí)n=4)個(gè)USB/串口轉換器擴展出4n個(gè)RS232/RS422/RS455串口,另一個(gè)可外接無(wú)線(xiàn)USB網(wǎng)卡,從而實(shí)現局域網(wǎng)或廣域網(wǎng)中有線(xiàn)或無(wú)線(xiàn)數據傳輸。

2.2 樹(shù)莓派簡(jiǎn)介
樹(shù)莓派(Raspberry Pi)是一款基于Linux系統的只有一張信用卡大小的單板計算機,配備一枚博通生產(chǎn)的700 MHzARM架構BCM2835處理器,512 MB內存,使用SD卡當作存儲介質(zhì),操作系統采用開(kāi)源的Linux系統,提供并支持Python作為主要編程語(yǔ)言。
2.3 USB—hub簡(jiǎn)介
USB—hub(USB集線(xiàn)器)是一個(gè)將多個(gè)USB設備連接到計算機上的USB接口或另一個(gè)USB集線(xiàn)器上某時(shí)候,它們都來(lái)自于主板內部一個(gè)或者兩個(gè)主USB接口,而不是相互獨立的硬件。一個(gè)USB接口、一個(gè)USB集線(xiàn)器和若干個(gè)外圍設備可以構建一個(gè)USB網(wǎng)絡(luò )。本系統選用的USB—hub由一個(gè)USB接口擴展出4個(gè)USB接口。
2.4 USB/串口轉換器簡(jiǎn)介
USB/串口轉換器選用北京世紀聯(lián)信LENSYS—USB2COM-4模塊。它是一種導軌安裝式串口擴展模塊,實(shí)現了用USB口擴展4串口的功能,可以通過(guò)USB快速擴展四個(gè)計算機串口,通過(guò)撥碼開(kāi)關(guān)設定RS 232/422/485接口方式,還可以實(shí)現4個(gè)RS 232轉4個(gè)RS422/485的功能。通過(guò)該模塊能夠可靠、實(shí)時(shí)、便捷地完成工業(yè)現場(chǎng)RS232/485/422信號的傳輸和轉換,廣泛應用于石油天然氣、水利、電力調度、市政調度等行業(yè)。
3 軟件設計
此串口服務(wù)器軟件設計基本結構如圖2所示,客戶(hù)端只是WEB瀏覽器,軟件設計則主要體現為服務(wù)器端的網(wǎng)頁(yè)展現、業(yè)務(wù)邏輯和數據存儲。

WEB服務(wù)器負責串口服務(wù)器通信參數的手動(dòng)配置和存儲、通信程序的手動(dòng)啟停等;應用服務(wù)器負責實(shí)現TCP/IP網(wǎng)絡(luò )與串行接口設備的互通,完成TCP/IP協(xié)議格式的數據與串行數據間的相互轉換;數據庫主要包含用戶(hù)管理數據表、串口參數配置數據表、工作模式配置數據表。
下面介紹串口服務(wù)器軟件設計中3個(gè)主要任務(wù):WEB服務(wù)器的設計、WEB配置頁(yè)面的設計和串口聯(lián)網(wǎng)通信程序的設計。
3.1 WEB服務(wù)器的設計
由于串口數量較多,所以在樹(shù)莓派中植入WEB服務(wù)器,由WEB服務(wù)器將用戶(hù)的請求轉換為對后臺數據的查詢(xún)或更新,并將友好的圖形界面在瀏覽器上展示給用戶(hù),實(shí)現簡(jiǎn)便統一的遠程通信參數配置、設備管理、用戶(hù)管理、監控串口服務(wù)器運行狀態(tài)。
評論