999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于樹莓派的多串口多總線服務(wù)器設(shè)計(jì)

2014-07-03 03:33:24李艷芹蔣健李人杰
關(guān)鍵詞:設(shè)備設(shè)計(jì)

李艷芹,蔣健,李人杰

(北京理工大學(xué),北京100081)

引 言

工業(yè)控制中,各設(shè)備的信號(hào)采集和監(jiān)控只靠串口總線難以實(shí)現(xiàn)擴(kuò)展,要將現(xiàn)場(chǎng)控制網(wǎng)絡(luò)和信息網(wǎng)絡(luò)相連,就需要解決串口通信協(xié)議和因特網(wǎng)通信協(xié)議的轉(zhuǎn)換問題,即把原有設(shè)備轉(zhuǎn)換為具備網(wǎng)絡(luò)接口的外設(shè),這樣可以將傳統(tǒng)串行鏈路上的數(shù)據(jù)傳輸?shù)叫畔⒕W(wǎng)絡(luò)上,而無需更換原有設(shè)備。如此,可以提高原有設(shè)備利用率、增加多終端連接數(shù)、節(jié)約成本、簡化布線的復(fù)雜度及延長通信距離。

近年來,因信息化和物聯(lián)網(wǎng)發(fā)展的需要,串口服務(wù)器大量涌現(xiàn),它們不占用主機(jī)資源,且具有終端服務(wù)器的功能。不過,設(shè)備體積龐大、價(jià)格昂貴、串口不易裁剪或擴(kuò)展、傳輸大量數(shù)據(jù)幀時(shí)丟包、參數(shù)配置繁雜等問題也隨之出現(xiàn)。

本設(shè)計(jì)采用的串口服務(wù)器的核心設(shè)備——樹莓派,是一款體積小、價(jià)格便宜但功能非常強(qiáng)大的平臺(tái),可通過多種通信方式接入互聯(lián)網(wǎng),支持多種完整網(wǎng)絡(luò)協(xié)議,結(jié)合USB-hub及USB/串口轉(zhuǎn)換器使用,可保證串口服務(wù)器使用方便,并實(shí)現(xiàn)實(shí)時(shí)、準(zhǔn)確、長時(shí)間穩(wěn)定的數(shù)據(jù)傳輸。

1 總體設(shè)計(jì)

根據(jù)當(dāng)今工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)傳輸需求,應(yīng)具備的技術(shù)指標(biāo)和設(shè)置參數(shù)如下。

1.1 技術(shù)指標(biāo)

①主控芯片:32位700 MHz的ARM1176JZF-S處理器;

②操作系統(tǒng):Linux;

③支持協(xié)議:TCP/IP、UDP、HTTP、FTP;

④網(wǎng)絡(luò)接口:10/100 Mbps自適應(yīng)以太網(wǎng)接口;

⑤串口類型:1~16個(gè) RS 232/RS485/RS422接口,1個(gè)TTL電平串口;

⑥參數(shù)配置方式:WEB瀏覽器配置;

⑦會(huì)話數(shù):支持多連接,滿足5個(gè)以內(nèi)用戶同時(shí)管理一個(gè)模塊設(shè)備;

⑧工作模式:TCP客戶端、TCP服務(wù)器、UDP廣播模式;

⑨指示燈:電源指示燈、通信指示燈;

⑩供電電壓:5 V。

1.2 設(shè)置參數(shù)

該設(shè)備選擇WEB瀏覽器設(shè)置方式,內(nèi)置WEB服務(wù)器,用戶可進(jìn)行IP地址、串口通信參數(shù)、工作模式等的管理和配置。以下主要介紹串口通信和工作模式參數(shù)的設(shè)置。

(1)串口通信參數(shù)

①波特率為2 400~115 200 bps;

②數(shù)據(jù)位為6/7/8/9;

③校驗(yàn)位為 None/Even/Odd;

④停止位為1/1.5/2;

⑤成幀長度為1~15000字節(jié);

⑥成幀間隔為30~500位。

其中,成幀長度指每一幀接收數(shù)據(jù)的長度,接收端緩沖區(qū)一旦接收到該長度的數(shù)據(jù)就轉(zhuǎn)發(fā)出去;成幀間隔就是所謂的串口超時(shí),超時(shí)時(shí)間T(s)、成幀間隔N(位)、波特率B(b/s)的關(guān)系如下。一旦超時(shí),不管已有數(shù)據(jù)長度是不是達(dá)到成幀長度,接收端緩沖區(qū)就將已有數(shù)據(jù)組幀轉(zhuǎn)發(fā)出去。

(2)工作模式參數(shù)

①單個(gè)串口支持會(huì)話數(shù)為1~5個(gè),每個(gè)會(huì)話模式間相互獨(dú)立;

②TCP服務(wù)器模式為綁定端口范圍為1025~65 535;

③TCP客戶端模式為需配置目標(biāo)服務(wù)器IP、端口及自動(dòng)重連時(shí)間,其中自動(dòng)重連時(shí)間指網(wǎng)絡(luò)連接中斷或者服務(wù)器異常時(shí),重新發(fā)起主動(dòng)連接的時(shí)間間隔,循環(huán)自動(dòng)重連直到正常連接上為止;

④UDP廣播模式為需配置本地端口、目標(biāo)服務(wù)器IP和目標(biāo)端口。

2 硬件設(shè)計(jì)

此串口服務(wù)器根據(jù)以上指標(biāo)選用最新的樹莓派、USB-hub及北京世紀(jì)聯(lián)信公司生產(chǎn)的USB/四串口轉(zhuǎn)換器[1]組合而成。

2.1 硬件結(jié)構(gòu)組成

串口服務(wù)器硬件結(jié)構(gòu)組成如圖1所示,樹莓派具有兩個(gè)USB接口、一個(gè)TTL串口及一個(gè)10/100 MHz自適應(yīng)以太網(wǎng)接口。一個(gè)USB接口通過USB-hub和n(可據(jù)情況選擇,最多時(shí)n=4)個(gè)USB/串口轉(zhuǎn)換器擴(kuò)展出4n個(gè)RS232/RS422/RS455串口,另一個(gè)可外接無線USB網(wǎng)卡,從而實(shí)現(xiàn)局域網(wǎng)或廣域網(wǎng)中有線或無線數(shù)據(jù)傳輸。

2.2 樹莓派簡介

樹莓派[2](Raspberry Pi)是一款基于 Linux系統(tǒng)的只有一張信用卡大小的單板計(jì)算機(jī),配備一枚博通生產(chǎn)的700 MHz ARM架構(gòu)BCM2835處理器,512 MB內(nèi)存,使用SD卡當(dāng)作存儲(chǔ)介質(zhì),操作系統(tǒng)采用開源的Linux系統(tǒng),提供并支持Python作為主要編程語言。

2.3 USB-hub簡介

USB-hub[3](USB集線器)是一個(gè)將多個(gè) USB設(shè)備連接到計(jì)算機(jī)上的USB接口或另一個(gè)USB集線器上某個(gè)接口的設(shè)備。當(dāng)一臺(tái)計(jì)算機(jī)主機(jī)有多個(gè)USB接口的時(shí)候,它們都來自于主板內(nèi)部一個(gè)或者兩個(gè)主USB接口,而不是相互獨(dú)立的硬件。一個(gè)USB接口、一個(gè)USB集線器和若干個(gè)外圍設(shè)備可以構(gòu)建一個(gè)USB網(wǎng)絡(luò)。本系統(tǒng)選用的USB-hub由一個(gè)USB接口擴(kuò)展出4個(gè)USB接口。

2.4 USB/串口轉(zhuǎn)換器簡介

USB/串口轉(zhuǎn)換器選用北京世紀(jì)聯(lián)信LENSYSUSB2COM-4模塊。它是一種導(dǎo)軌安裝式串口擴(kuò)展模塊,實(shí)現(xiàn)了用USB口擴(kuò)展4串口的功能,可以通過USB快速擴(kuò)展四個(gè)計(jì)算機(jī)串口,通過撥碼開關(guān)設(shè)定RS 232/422/485接口方式,還可以實(shí)現(xiàn)4個(gè)RS 232轉(zhuǎn)4個(gè)RS 422/485的功能。通過該模塊能夠可靠、實(shí)時(shí)、便捷地完成工業(yè)現(xiàn)場(chǎng)RS232/485/422信號(hào)的傳輸和轉(zhuǎn)換,廣泛應(yīng)用于石油天然氣、水利、電力調(diào)度、市政調(diào)度等行業(yè)。

3 軟件設(shè)計(jì)

此串口服務(wù)器軟件設(shè)計(jì)基本結(jié)構(gòu)如圖2所示,客戶端只是WEB瀏覽器,軟件設(shè)計(jì)則主要體現(xiàn)為服務(wù)器端的網(wǎng)頁展現(xiàn)、業(yè)務(wù)邏輯和數(shù)據(jù)存儲(chǔ)。

圖1 硬件結(jié)構(gòu)框圖

圖2 軟件設(shè)計(jì)基本結(jié)構(gòu)圖

WEB服務(wù)器負(fù)責(zé)串口服務(wù)器通信參數(shù)的手動(dòng)配置和存儲(chǔ)、通信程序的手動(dòng)啟停等;應(yīng)用服務(wù)器負(fù)責(zé)實(shí)現(xiàn)TCP/IP網(wǎng)絡(luò)與串行接口設(shè)備的互通,完成TCP/IP協(xié)議格式的數(shù)據(jù)與串行數(shù)據(jù)間的相互轉(zhuǎn)換;數(shù)據(jù)庫主要包含用戶管理數(shù)據(jù)表、串口參數(shù)配置數(shù)據(jù)表、工作模式配置數(shù)據(jù)表。

下面介紹串口服務(wù)器軟件設(shè)計(jì)中3個(gè)主要任務(wù):WEB服務(wù)器的設(shè)計(jì)、WEB配置頁面的設(shè)計(jì)和串口聯(lián)網(wǎng)通信程序的設(shè)計(jì)。

3.1 WEB服務(wù)器的設(shè)計(jì)

由于串口數(shù)量較多,所以在樹莓派中植入WEB服務(wù)器,由WEB服務(wù)器將用戶的請(qǐng)求轉(zhuǎn)換為對(duì)后臺(tái)數(shù)據(jù)的查詢或更新,并將友好的圖形界面在瀏覽器上展示給用戶,實(shí)現(xiàn)簡便統(tǒng)一的遠(yuǎn)程通信參數(shù)配置、設(shè)備管理、用戶管理、監(jiān)控串口服務(wù)器運(yùn)行狀態(tài)。

本串口聯(lián)網(wǎng)服務(wù)器選擇樹莓派自帶的Python作為開發(fā)語言,采用小巧而靈活的web.py[4]開發(fā)框架提供HTTP服務(wù),其輕量級(jí)滿足采集系統(tǒng)對(duì)數(shù)據(jù)傳輸模塊的要求,可以提高系統(tǒng)的使用效率,WEB服務(wù)器設(shè)計(jì)流程如圖3所示。

圖3 WEB服務(wù)器設(shè)計(jì)流程

設(shè)備上電或系統(tǒng)重啟后,WEB服務(wù)自動(dòng)啟動(dòng),并初始化WEB服務(wù)器所需顯示和配置的信息,用戶通過瀏覽器訪問系統(tǒng)指定端口進(jìn)行登錄認(rèn)證即可訪問參數(shù)配置頁面。其中,設(shè)備信息和網(wǎng)絡(luò)信息通過系統(tǒng)文件管理器進(jìn)行查看和配置,用戶信息、串口參數(shù)和工作模式信息通過數(shù)據(jù)庫進(jìn)行讀寫,幫助信息則通過FTP服務(wù)器進(jìn)行串口服務(wù)器說明手冊(cè)、公司服務(wù)信息等文檔下載。

3.2 WEB配置頁面設(shè)計(jì)

WEB配置頁面即WEB服務(wù)器的展示層,如圖4所示,掃描出的串口數(shù)表明該串口服務(wù)器帶有16個(gè)串口,每個(gè)串口配置相互獨(dú)立。

圖4 WEB配置界面

由于配置程序設(shè)計(jì)采取工作模式配置與串口參數(shù)配置相關(guān)聯(lián),如果選用前3個(gè)串口,則工作模式配置中只顯示此3個(gè)串口的工作模式配置界面,如圖5所示。

圖5 工作模式配置界面

以上配置方式可方便實(shí)現(xiàn)批量配置,配置完成后可生成配置信息查看界面,如圖6所示,該界面還可進(jìn)行選中串口的通信參數(shù)、工作模式的編輯和刪除。

圖6 配置信息查看界面

3.3 串口聯(lián)網(wǎng)通信程序設(shè)計(jì)

WEB服務(wù)器完成配置工作后,即可啟動(dòng)通信程序進(jìn)行數(shù)據(jù)通信工作,具體實(shí)現(xiàn)流程如圖7所示。此程序在設(shè)備上電或系統(tǒng)重啟后自動(dòng)啟動(dòng),讀取用戶配置的串口通信和工作模式參數(shù)后,進(jìn)入通信程序無限循環(huán),圖中進(jìn)程數(shù)即現(xiàn)場(chǎng)應(yīng)用所配置的串口總數(shù)。其中N為串口服務(wù)器串口數(shù),M(M≤W)為N個(gè)串口中使用的串口數(shù);n為各自編號(hào),I為進(jìn)程編號(hào);S為所配會(huì)話數(shù),s為線程編號(hào)。

圖7 串口服務(wù)器通信程序工作流程

3種工作模式中,TCP服務(wù)器和TCP客戶端同屬TCP協(xié)議傳輸程序,其數(shù)據(jù)幀收發(fā)處理過程都采用同一種思想,下面介紹TCP、UDP協(xié)議傳輸程序和數(shù)據(jù)幀轉(zhuǎn)發(fā)程序的設(shè)計(jì):

3.3.1 TCP協(xié)議傳輸程序設(shè)計(jì)

TCP協(xié)議傳輸程序[5]涉及到服務(wù)器端和客戶端的設(shè)計(jì)。

服務(wù)器端程序設(shè)計(jì):

①建立一個(gè)socket,選擇類型INET及TCP連接方式;

②讀取配置端口進(jìn)行綁定監(jiān)聽,等待客戶端主動(dòng)連接;

③設(shè)置監(jiān)聽隊(duì)列大小;

④進(jìn)入一個(gè)無限循環(huán),使用accept()等待客戶連接,返回的新連接對(duì)應(yīng)于客戶端IP,建立通信信道;

⑤進(jìn)入無限子循環(huán),通過sendall()及recv()進(jìn)行讀寫操作。

客戶端程序設(shè)計(jì):

①建立一個(gè)socket,選擇類型及連接方式同服務(wù)器端;

②讀取配置所配置遠(yuǎn)程服務(wù)器IP及端口;

③進(jìn)入無限循環(huán),使用connect()連接遠(yuǎn)程服務(wù)器,若連不上,達(dá)到所配置超時(shí)間隔后再次重連;

④連接成功后進(jìn)入無限子循環(huán),通過sendall()及recv()進(jìn)行讀寫操作。

3.3.2 UDP協(xié)議傳輸程序設(shè)計(jì)

UDP傳輸[6]稱為無連接傳輸,不存在TCP中的三次握手和錯(cuò)誤重傳機(jī)制,其傳輸程序需同時(shí)讀取所配置的本地IP和端口、遠(yuǎn)程IP和端口,建立數(shù)據(jù)報(bào)形式的socket后可同時(shí)作為發(fā)送端和接收端。作為發(fā)送端時(shí),sendto()發(fā)送地址為遠(yuǎn)程接收端IP和端口,作為接收端時(shí)公開本地IP和端口,recvfrom()等待遠(yuǎn)程發(fā)送端的數(shù)據(jù)到來,可以接收任何地址發(fā)送過來的數(shù)據(jù)包。

3.3.3 數(shù)據(jù)幀轉(zhuǎn)發(fā)程序設(shè)計(jì)

串口服務(wù)器功能模塊實(shí)現(xiàn)了串行鏈路數(shù)據(jù)與以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換的功能:一方面,接收來自串行鏈路的數(shù)據(jù)幀,并將其轉(zhuǎn)化為以太網(wǎng)鏈路數(shù)據(jù)幀后發(fā)出;另一方面,接收來自以太網(wǎng)鏈路的數(shù)據(jù)幀,并將其轉(zhuǎn)化為串行鏈路數(shù)據(jù)幀后發(fā)出。以上兩個(gè)通信過程并行執(zhí)行,在程序設(shè)計(jì)中采取多線程實(shí)現(xiàn)方式。

(1)網(wǎng)絡(luò)數(shù)據(jù)的接收

每種通信模式下,網(wǎng)絡(luò)數(shù)據(jù)的接收都在指定的回調(diào)函數(shù)中實(shí)現(xiàn),TCP通信接收函數(shù)為recv(),而UDP通信中為recvfrom()。當(dāng)數(shù)據(jù)幀長度積累到指定的接收緩沖區(qū)大小或達(dá)到串口超時(shí)還不足指定數(shù)據(jù)幀長度,立即調(diào)用實(shí)例化后的串口發(fā)送函數(shù)write(),即可將緩沖區(qū)中接收到的數(shù)據(jù)通過串口轉(zhuǎn)發(fā)。

(2)網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送

接收串口數(shù)據(jù)時(shí)調(diào)用串口接收函數(shù)read(),當(dāng)數(shù)據(jù)幀長度達(dá)到串口接收緩沖區(qū)大小或串口超時(shí),立即調(diào)用網(wǎng)絡(luò)發(fā)送函數(shù)把該緩沖區(qū)中的數(shù)據(jù)幀通過網(wǎng)口轉(zhuǎn)發(fā),其中TCP通信發(fā)送函數(shù)為sendall(),而 UDP通信為sendto()。

結(jié) 語

經(jīng)全面測(cè)試合格后,目前本串口服務(wù)器已經(jīng)成功應(yīng)用到工業(yè)現(xiàn)場(chǎng),由此可見,本串口服務(wù)器支持高頻轉(zhuǎn)發(fā)、大數(shù)據(jù)幀實(shí)時(shí)轉(zhuǎn)發(fā),可長期、全天候穩(wěn)定運(yùn)行。

[1]北京世紀(jì)聯(lián)信科技有限公司.高速USB轉(zhuǎn)四串口模塊產(chǎn)品信息.[EB/OL].[2014-05].http://www.21lensys.com/C_gsus.html.

[2]Upton E,Halfacree G.Raspberry Pi User Guide[M].New Jersey:John Wiley &Sons,2013.

[3]馬偉.計(jì)算機(jī)USB系統(tǒng)原理及其主從機(jī)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2004:222-234.

[4]Grehan R.Pillars of Python:Web.py Web framework[J].InfoWorld IDG Retrieved January,2013(12).

[5]Sarker M O F.Python Network Programming Cookbook[M].StreetBirmin:Packt Publishing Ltd.,2014.

[6]劉永華,趙艷杰.計(jì)算機(jī)網(wǎng)絡(luò)導(dǎo)論[M].北京:北京航空航天大學(xué)出版社,2009:90-91.

猜你喜歡
設(shè)備設(shè)計(jì)
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
瞞天過海——仿生設(shè)計(jì)萌到家
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
如何在設(shè)備采購中節(jié)省成本
主站蜘蛛池模板: 97人妻精品专区久久久久| 久久中文字幕av不卡一区二区| 国内精品视频| 欧美成人免费午夜全| 人人妻人人澡人人爽欧美一区| 国产成人一区在线播放| 99手机在线视频| 国产不卡一级毛片视频| 国产97视频在线| 国产新AV天堂| 91欧美亚洲国产五月天| 东京热av无码电影一区二区| 国产91精选在线观看| 片在线无码观看| 日韩av无码精品专区| 欧美精品成人| 久久96热在精品国产高清| 久久永久免费人妻精品| 无遮挡国产高潮视频免费观看 | 久久久久中文字幕精品视频| 欧美人在线一区二区三区| 99激情网| 97国产在线观看| 国产微拍一区二区三区四区| 国产乱人伦精品一区二区| 99精品久久精品| 久久夜色精品国产嚕嚕亚洲av| 国产精品女人呻吟在线观看| 成年女人18毛片毛片免费| 韩国自拍偷自拍亚洲精品| 日韩精品免费一线在线观看| lhav亚洲精品| julia中文字幕久久亚洲| 97免费在线观看视频| 久久精品人人做人人爽电影蜜月| 中文字幕久久精品波多野结| 自拍偷拍一区| 国产在线无码一区二区三区| 91青青视频| 欧美日韩中文字幕二区三区| 中文字幕 欧美日韩| 亚洲日韩精品无码专区| 性喷潮久久久久久久久| 99久久精品无码专区免费| 精品乱码久久久久久久| 亚洲日本一本dvd高清| 中文字幕波多野不卡一区| 第一页亚洲| 久久黄色影院| 国内丰满少妇猛烈精品播| 亚洲欧美成人综合| 综合色88| 欧美亚洲国产精品久久蜜芽| 成人国产小视频| 香蕉久久国产精品免| 老司机久久精品视频| 中文字幕无码电影| 欧洲高清无码在线| 中文字幕无码中文字幕有码在线| 成年午夜精品久久精品| 九九免费观看全部免费视频| 日韩AV无码一区| 国产主播在线观看| 一级毛片不卡片免费观看| 国产福利一区二区在线观看| 激情爆乳一区二区| 亚洲伦理一区二区| 无码专区在线观看| 极品国产一区二区三区| 精品成人免费自拍视频| 天堂成人在线视频| 精品一区二区三区水蜜桃| 亚洲全网成人资源在线观看| 久久伊人色| 国产凹凸一区在线观看视频| 亚洲色大成网站www国产| a毛片免费看| 国产导航在线| 丰满人妻一区二区三区视频| 操美女免费网站| 日韩精品一区二区三区中文无码| 亚洲国产综合精品中文第一|