本發(fā)明專利技術(shù)公開了一種把串口數(shù)據(jù)流轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)幀的新技術(shù),該技術(shù)可把現(xiàn)有的RS-232/485標(biāo)準(zhǔn)接口數(shù)據(jù)轉(zhuǎn)化成IP端口數(shù)據(jù),然后IP化管理,IP化存取,這樣就能將傳統(tǒng)的串行數(shù)據(jù)送上流行的網(wǎng)絡(luò)通道,無需過早淘汰現(xiàn)有串口設(shè)備,提高設(shè)備利用率。串口以太網(wǎng)協(xié)議轉(zhuǎn)換技術(shù)是一個面向RS-232/485標(biāo)準(zhǔn)數(shù)據(jù)和太網(wǎng)數(shù)據(jù)幀的鏈接,對各種來自串口設(shè)備的數(shù)據(jù)流進(jìn)行格式轉(zhuǎn)換使之成為可以在以太網(wǎng)中傳播的數(shù)據(jù)幀并對來自以太網(wǎng)的數(shù)據(jù)幀進(jìn)行判斷轉(zhuǎn)換成串行數(shù)據(jù)送達(dá)相應(yīng)的串口設(shè)備。
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及一種將串口數(shù)據(jù)流轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)幀的新技術(shù)。具體為一種將串口數(shù)據(jù)長度和串口數(shù)據(jù)時間間隔結(jié)合在一起,實現(xiàn)快速將串口數(shù)據(jù)流打包為以太網(wǎng)數(shù)據(jù)幀的技術(shù)。
技術(shù)介紹
串口一般來說就是UART,它實際只定義了數(shù)據(jù)鏈路層的規(guī)范,也就是起始位、數(shù)據(jù)位、停止位。但是在不同的物理層又分為:TTL串口、RS232串口、RS485串口等。TTL串口:它是MCU芯片之間進(jìn)行數(shù)據(jù)通信的串口,它以+5V (或者+3.3V)表示1,以GND表示O。RS232串口:它是實現(xiàn)設(shè)備之間通信的串口,其主要將信號電壓從O 5V的電壓變?yōu)椤?5V,電壓的增加,增大了數(shù)據(jù)傳輸?shù)木嚯x和可靠性。RS485串口:它是實現(xiàn)遠(yuǎn)距離通信的串口,可以實現(xiàn)上千米的數(shù)據(jù)傳輸。其主要特征是用差模信號(A、B兩根線之間的電壓)代替了 RS232共模信號(信號線和GND之間的電壓),從而能夠抵抗共模干擾,實現(xiàn)更遠(yuǎn)距離的傳輸。近年來,互聯(lián)網(wǎng)以其高速便捷傳輸數(shù)據(jù)的特點越來越受到人們的青睞。而在工控和通信設(shè)備中,更多的卻是符合RS-232/485標(biāo)準(zhǔn)的串行口設(shè)備。與基于RS-232/485標(biāo)準(zhǔn)的串行通信相比,TCP/IP網(wǎng)絡(luò)具有帶寬、高速、遠(yuǎn)距離及通信業(yè)務(wù)廣泛的優(yōu)點,而且聯(lián)網(wǎng)通信距離可以無限延長,并且相對RS-232/485標(biāo)準(zhǔn)的通信抗干擾能力差,信息傳輸容易出錯,網(wǎng)絡(luò)是基于復(fù)雜環(huán)境設(shè)計的,具有自動糾錯功能,通信質(zhì)量穩(wěn)定不易受外界干擾。因此,將串口數(shù)據(jù)通過網(wǎng)絡(luò)傳輸成為串口設(shè)備網(wǎng)絡(luò)化進(jìn)程的研發(fā)熱點。按照ISO的7層模型(物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應(yīng)用層)來分,串口實際上只包含了物理層、數(shù)據(jù)鏈路層,而TCP/IP協(xié)議應(yīng)該屬于網(wǎng)絡(luò)層和傳輸層。串口數(shù)據(jù)轉(zhuǎn)以太網(wǎng)數(shù)據(jù),并不是簡單物理層和數(shù)據(jù)鏈路層的轉(zhuǎn)化。由于串口協(xié)議本身不具有網(wǎng)絡(luò)層和傳輸層,串口數(shù)據(jù)轉(zhuǎn)以太網(wǎng)數(shù)據(jù)實際是將串口的數(shù)據(jù)作為TCP/IP的應(yīng)用層數(shù)據(jù),用TCP/IP封裝傳輸?shù)姆绞?圖1)。串口以太網(wǎng)協(xié)議轉(zhuǎn)換器(圖2)的出現(xiàn)使得基于TCP/IP的串口數(shù)據(jù)流傳輸成為可能,它可以連接多個串口設(shè)備并將串口數(shù)據(jù)流進(jìn)行選擇和處理,把現(xiàn)有的RS-232/485標(biāo)準(zhǔn)接口數(shù)據(jù)轉(zhuǎn)化成IP端口數(shù)據(jù),然后IP化管理,IP化存取,這樣就能將傳統(tǒng)的串行數(shù)據(jù)送上流行的網(wǎng)絡(luò)通道,無需過早淘汰現(xiàn)有串口設(shè)備,提高設(shè)備利用率。串口以太網(wǎng)協(xié)議轉(zhuǎn)換器是一個面向RS-232/485標(biāo)準(zhǔn)的鏈接和以太網(wǎng)通信數(shù)據(jù)存儲控制器,對各種來自串口設(shè)備的數(shù)據(jù)流進(jìn)行格式轉(zhuǎn)換使之成為可以在以太網(wǎng)中傳播的數(shù)據(jù)幀并對來自以太網(wǎng)的數(shù)據(jù)幀進(jìn)行判斷轉(zhuǎn)換成串行數(shù)據(jù)送達(dá)相應(yīng)的串口設(shè)備。(圖3) 串口以太網(wǎng)協(xié)議轉(zhuǎn)換器關(guān)鍵技術(shù):1.TCP /IP協(xié)議的工作模式: 串口轉(zhuǎn)以太網(wǎng),并不是簡單物理層和數(shù)據(jù)鏈路層的轉(zhuǎn)化。由于串口協(xié)議本身不具有網(wǎng)絡(luò)層和傳輸層,串口轉(zhuǎn)以太網(wǎng),實際是將串口的數(shù)據(jù)作為TCP/IP的應(yīng)用層數(shù)據(jù),用TCP/IP封裝傳輸?shù)姆绞健CP/IP的應(yīng)用層數(shù)據(jù)是TCP/IP所要傳送的真正有效的數(shù)據(jù)。但是TCP/IP根據(jù)工作模式的不同,它關(guān)系到連接、關(guān)閉、監(jiān)聽等,這是串口轉(zhuǎn)網(wǎng)口后需要增加處理的部分。TCP /IP的工作模式可以分為:TCP服務(wù)端模式(TCP Server),TCP客戶端模式(TCP Client),UDP模式。UDP模式:UDP模式是基于非連接的模式,只要有數(shù)據(jù)發(fā)送即可發(fā)送,不需要事先連接。所以這種模式更加地接近于串口的通信方式。但是UDP協(xié)議無法保證數(shù)據(jù)不丟失,容易產(chǎn)生誤碼。TCP服務(wù)器模式:在該工作方式下,串口聯(lián)網(wǎng)服務(wù)器作為TCP服務(wù)器端,轉(zhuǎn)換器在指定的TCP端口上監(jiān)聽平臺程序的連接請求,該方式比較適合于一個轉(zhuǎn)換器與多個平臺程序建立連接。TCP客戶端模式:在該工作方式下,串口聯(lián)網(wǎng)服務(wù)器作為TCP客戶端,轉(zhuǎn)換器上電時主動向平臺程序請求連接,該方式比較適合于多個轉(zhuǎn)換器同時向一個平臺程序建立連接。2.串口數(shù)據(jù)分幀: 串口數(shù)據(jù)是可以連續(xù)不斷發(fā)送的,而以太網(wǎng)數(shù)據(jù)則是以數(shù)據(jù)包為單位發(fā)送的。這樣就關(guān)系到將多長的串口數(shù)據(jù)打包后作為一個以太網(wǎng)數(shù)據(jù)包發(fā)送的問題(圖4)。3.9 位技術(shù): 以太網(wǎng)數(shù)據(jù)是以字節(jié)Byte計算的每個字節(jié)都是8位,但是串口數(shù)據(jù)則有可能出現(xiàn)9位,第9位常常用于區(qū)分是地址幀還是數(shù)據(jù)幀,I表示地址幀O表示數(shù)據(jù)幀。那么在當(dāng)串口轉(zhuǎn)化為以太網(wǎng)之后,如何將第9位也傳送出去就成了一個關(guān)鍵技術(shù)。串口以太網(wǎng)協(xié)議轉(zhuǎn)換器通訊模式:1.點對點通訊模式:該模式下轉(zhuǎn)換器成對的使用,一個作為服務(wù)器端,一個作為客戶端,兩者之間建立連接,實現(xiàn)數(shù)據(jù)的雙向透明傳輸。該模式適用于將兩個串口設(shè)備之間的總線連接改造為TCP/IP網(wǎng)絡(luò)連接。2.使用虛擬串口通訊模式:該模式下一個或者多個轉(zhuǎn)換器與一臺電腦建立連接,實現(xiàn)數(shù)據(jù)的雙向透明傳輸。由電腦上的虛擬串口軟件管理下面的轉(zhuǎn)換器,可以實現(xiàn)一個虛擬串口對應(yīng)多個轉(zhuǎn)換器,N個虛擬串口對應(yīng)M個轉(zhuǎn)換器(N〈=M )。該模式適用于串口設(shè)備由電腦控制的485總線或者232設(shè)備連接。3.基于網(wǎng)絡(luò)通訊模式:該模式下電腦上的應(yīng)用程序基于SOCKET協(xié)議編寫了通訊程序,在轉(zhuǎn)換器設(shè)置上直接選擇支持SOCKET協(xié)議即可。串口以太網(wǎng)協(xié)議轉(zhuǎn)換器應(yīng)用領(lǐng)域: 它主要應(yīng)用在門禁系統(tǒng)、考勤系統(tǒng)、售飯系統(tǒng)、POS系統(tǒng)、樓宇自控系統(tǒng)、自助銀行系統(tǒng)電信機(jī)房監(jiān)控,電力監(jiān)控等。
技術(shù)實現(xiàn)思路
為了實現(xiàn)串口以太網(wǎng)協(xié)議轉(zhuǎn)換器功能,本專利技術(shù)采用嵌入式MQX作為實時操作系統(tǒng)和開源的TCP/IP協(xié)議棧。串口數(shù)據(jù)分幀方式: 數(shù)據(jù)包長度分巾貞: 以太網(wǎng)數(shù)據(jù)包最長1500字節(jié),所以在串口以太網(wǎng)協(xié)議轉(zhuǎn)換器收到1024字節(jié)后必須將其打包發(fā)送到網(wǎng)口。數(shù)據(jù)包間隔分幀: 除了數(shù)據(jù)包長度作為串口分幀的規(guī)則外,一個更為符合邏輯的方法是通過兩個數(shù)據(jù)包之間的時間間隔。當(dāng)串口以太網(wǎng)協(xié)議轉(zhuǎn)換器發(fā)現(xiàn)的串口數(shù)據(jù)流中出現(xiàn)了 T毫秒的空閑時間時(默認(rèn)T設(shè)置為三個字符時間),則認(rèn)為之前收到的串口數(shù)據(jù)可以作為一個以太網(wǎng)數(shù)據(jù)包發(fā)送了。這里的T就是用戶設(shè)定的數(shù)據(jù)包間隔。數(shù)據(jù)轉(zhuǎn)發(fā)方式:1.網(wǎng)絡(luò)收到數(shù)據(jù)實時轉(zhuǎn)發(fā)給串口。如果串口不可寫,將數(shù)據(jù)緩存在內(nèi)存中。等待串口可寫時將數(shù)據(jù)發(fā)出。2.串口收到數(shù)據(jù)后做條件判斷,以下兩個條件達(dá)到其一及轉(zhuǎn)發(fā),收到的串口數(shù)據(jù)總數(shù)達(dá)到1024字節(jié),或者串口空閑當(dāng)前波特率下發(fā)送三個字節(jié)所需要的時間。根據(jù)波特率來計算空閑時間比固定定義多少ms更加精準(zhǔn)的控制打包時間,提升響應(yīng)速度。具體實現(xiàn)過程是首先配置相應(yīng)設(shè)備的串口服務(wù)器IP地址、TCP通信端口號和串口參數(shù)等,這些配置通過上位機(jī)完成。系統(tǒng)上電初始化,初始化MCU各硬件模塊,然后讀取配置信息,初始化網(wǎng)絡(luò)芯片,初始化TCP/IP協(xié)議棧。然后進(jìn)入串口轉(zhuǎn)以太網(wǎng)任務(wù)中輪詢查找串口模塊是否有數(shù)據(jù)需要接受,同時監(jiān)聽網(wǎng)絡(luò)狀態(tài),對從網(wǎng)絡(luò)芯片接受的數(shù)據(jù)幀進(jìn)行解包分析,根據(jù)分析結(jié)果分別進(jìn)入TCP/IP協(xié)議棧的ARP,I CMP, TCP, UDP等處理子程序。串口有數(shù)據(jù)發(fā)往以太網(wǎng)時,讀取串口數(shù)據(jù),等待一個字符的時間,時間計數(shù)器加I,數(shù)據(jù)長度增加讀取到的數(shù)據(jù)長度,再次讀取串口數(shù)據(jù),如果串口有數(shù)據(jù),時間計數(shù)器清0,等待一個字符的時間,再次讀取串口數(shù)據(jù)。反復(fù)循環(huán)讀取串口數(shù)據(jù),直到時間計數(shù)器大于2或者長度超過設(shè)定值,將時間計數(shù)器清0,長度清0,將數(shù)據(jù)發(fā)往網(wǎng)絡(luò)端。進(jìn)行下一次數(shù)據(jù)接收發(fā)送。以太本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點】
一種把串口數(shù)據(jù)流轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)幀的技術(shù),該技術(shù)采用串口收到的數(shù)據(jù)總長度和串口數(shù)據(jù)時間間隔相結(jié)合的數(shù)據(jù)分幀方式,其特征是:在串口以太網(wǎng)協(xié)議轉(zhuǎn)換器的串口方向收到一定長度字節(jié)數(shù)據(jù)后將其作為一個以太網(wǎng)數(shù)據(jù)幀發(fā)送到網(wǎng)口,當(dāng)串口以太網(wǎng)協(xié)議轉(zhuǎn)換器發(fā)現(xiàn)串口數(shù)據(jù)流中出現(xiàn)了T毫秒的空閑時間時,將收到的串口數(shù)據(jù)作為一個以太網(wǎng)數(shù)據(jù)幀發(fā)送到網(wǎng)口。
【技術(shù)特征摘要】
1.一種把串口數(shù)據(jù)流轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)幀的技術(shù),該技術(shù)采用串口收到的數(shù)據(jù)總長度和串口數(shù)據(jù)時間間隔相結(jié)合的數(shù)據(jù)分幀方式,其特征是:在串口以太網(wǎng)協(xié)議轉(zhuǎn)換器的串口方向收到一定長度字節(jié)數(shù)據(jù)后將其作為一個以太網(wǎng)數(shù)據(jù)幀發(fā)送到網(wǎng)口,當(dāng)串口以太網(wǎng)協(xié)議轉(zhuǎn)換器發(fā)現(xiàn)串口數(shù)據(jù)流中出現(xiàn)了 T毫秒的空閑時間時,將收到的串口數(shù)據(jù)作為一個以太網(wǎng)數(shù)據(jù)幀發(fā)送到網(wǎng)口。2.根據(jù)權(quán)利要...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:周厚明,
申請(專利權(quán))人:武漢邁威實達(dá)軟件有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。