串口轉(zhuǎn)以太網(wǎng)關(guān)鍵技術(shù)
時(shí)間:2009-11-03 17:13:43來源:sunjuan
導(dǎo)語:?串口轉(zhuǎn)以太網(wǎng)并不是簡單傳輸媒介的變化,而是串口到TCP/IP的協(xié)議轉(zhuǎn)化。其中關(guān)系到的關(guān)鍵技術(shù)。
1.概述
串口轉(zhuǎn)以太網(wǎng)目前可以采用串口轉(zhuǎn)以太網(wǎng)模塊來實(shí)現(xiàn),變得非常簡單易用,但是在該技術(shù)中出現(xiàn)的一些新問題、使用誤區(qū)需要引起注意。串口轉(zhuǎn)以太網(wǎng)并不是簡單傳輸媒介的變化,而是串口到TCP/IP的協(xié)議轉(zhuǎn)化。其中關(guān)系到的關(guān)鍵技術(shù)包括:TCP/IP的工作模式問題、串口分幀技術(shù)、9位技術(shù)。這里詳細(xì)分析這些串口轉(zhuǎn)網(wǎng)口的技術(shù)。
2.澄清一個(gè)概念:到底是串口轉(zhuǎn)以太網(wǎng)還是串口轉(zhuǎn)TCP/IP?
串口一般來說就是UART,它實(shí)際只定義了數(shù)據(jù)鏈路層的規(guī)范,也就是起始位、數(shù)據(jù)位、停止位。但是在不同的物理層又分為:TTL串口、RS232串口、RS485串口等。
TTL串口:它是MCU芯片之間進(jìn)行數(shù)據(jù)通信的串口,它以+5V(或者+3.3V)表示1,以GND表示0。 RS232串口:它是實(shí)現(xiàn)設(shè)備之間通信的串口,其主要將信號(hào)電壓從0~5V的電壓變?yōu)?#177;15V(實(shí)際一般為±12V)。電壓的增加,增大了數(shù)據(jù)傳輸?shù)木嚯x和可靠性。
RS485串口:它是實(shí)現(xiàn)遠(yuǎn)距離通信的串口,可以實(shí)現(xiàn)上千米的數(shù)據(jù)傳輸。其主要特征是用差模信號(hào)(A、B兩根線之間的電壓)代替了RS232共模信號(hào)(信號(hào)線和GND之間的電壓),從而能夠抵抗共模干擾,實(shí)現(xiàn)更遠(yuǎn)距離的傳。
如果按照ISO的7層模型(物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層)來分的話,串口實(shí)際上只包含了物理層、數(shù)據(jù)鏈路層。而TCP/IP協(xié)議應(yīng)該屬于網(wǎng)絡(luò)層和傳輸層。所以串口轉(zhuǎn)TCP/IP并不準(zhǔn)確。以太網(wǎng)屬于物理層和數(shù)據(jù)鏈路層,所以串口轉(zhuǎn)以太網(wǎng)更加準(zhǔn)確。
由于目前在以太網(wǎng)之上運(yùn)行的協(xié)議多半是TCP IP協(xié)議,所以串口轉(zhuǎn)以太網(wǎng)也可以說成是串口轉(zhuǎn)TCP IP。
3.串口轉(zhuǎn)網(wǎng)口關(guān)鍵技術(shù)一:TCP/IP的工作模式問題
串口轉(zhuǎn)以太網(wǎng),并不是簡單物理層和數(shù)據(jù)鏈路層的轉(zhuǎn)化。由于串口協(xié)議本身不具有網(wǎng)絡(luò)層和傳輸層,串口轉(zhuǎn)以太網(wǎng),實(shí)際是將串口的數(shù)據(jù)作為TCP/IP的應(yīng)用層數(shù)據(jù),用TCP/IP封裝傳輸?shù)姆绞?。TCP/IP的應(yīng)用層數(shù)據(jù)是TCP/IP所要傳送的真正有效的數(shù)據(jù)。例如用戶通過socket的recv()和send()函數(shù)接收和發(fā)送的實(shí)際是應(yīng)用層數(shù)據(jù)。這樣通過串口轉(zhuǎn)TCP IP用戶就可以用recv()和send()函數(shù)收發(fā)串口數(shù)據(jù)了。
但是TCP/IP并不只是recv()和send()這么簡單,根據(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模式:TCP模式采用數(shù)據(jù)可靠傳輸機(jī)制,所以可以保證數(shù)據(jù)基本不誤碼、不丟失。在TCP通信中,必然是由通信的兩端構(gòu)成,其中一方是TCP客戶端,一方是TCP服務(wù)端。TCP客戶端和TCP服務(wù)端的概念可以用電話來類比。TCP客戶端是打電話的人,而TCP服務(wù)端是接電話的人。
如何選擇TCP/IP的工作模式?
TCP與UDP的選擇:盡量選擇TCP模式,特別是經(jīng)過internet的大數(shù)據(jù)量傳輸,udp容易誤碼和丟失。
選擇TCP客戶端還是TCP服務(wù)器端:請(qǐng)遵循以下原則:
原則一:發(fā)起數(shù)據(jù)發(fā)送的一方應(yīng)該選擇為客戶端。例如一個(gè)數(shù)據(jù)采集系統(tǒng),采集終端應(yīng)該為客戶端。這是因?yàn)楫?dāng)TCP連接斷開的情況下,客戶端能夠在需要發(fā)送數(shù)據(jù)的時(shí)候主動(dòng)建立連接。而TCP服務(wù)端,只能夠被動(dòng)地接受連接,使得數(shù)據(jù)無法發(fā)送出去。
原則二:IP或者域名固定的一方為服務(wù)器端。例如在有多個(gè)數(shù)據(jù)采集終端,而只有一個(gè)中心服務(wù)器的情況下,中心服務(wù)器應(yīng)該為服務(wù)端。這是因?yàn)?,中心服?wù)器的IP或域名一般是固定的,而采集終端的IP是不斷增加和變化的。中心服務(wù)器難以記住所有的采集終端的IP,所以也難以發(fā)起連接;而采集終端尋找中央服務(wù)器就比較容易。
4.串口轉(zhuǎn)網(wǎng)口關(guān)鍵技術(shù)二:串口分幀技術(shù)
串口數(shù)據(jù)是可以連續(xù)不斷發(fā)送的,而以太網(wǎng)數(shù)據(jù)則是以數(shù)據(jù)包為單位發(fā)送的。這樣就關(guān)系到將多長的串口數(shù)據(jù)打包后作為一個(gè)以太網(wǎng)數(shù)據(jù)包發(fā)送的問題。
數(shù)據(jù)包長度:以太網(wǎng)數(shù)據(jù)包最長1500多字節(jié),所以在串口轉(zhuǎn)網(wǎng)口轉(zhuǎn)發(fā)器收到1500字節(jié)后必須將其打包發(fā)送。用戶可以設(shè)定這個(gè)數(shù)據(jù)包長度上限。
數(shù)據(jù)包間隔:除了數(shù)據(jù)包長度作為串口分幀的規(guī)則外,一個(gè)更為符合邏輯的方法是通過數(shù)據(jù)包間隔。當(dāng)串口轉(zhuǎn)TCP IP轉(zhuǎn)發(fā)器發(fā)現(xiàn)的串口數(shù)據(jù)流中出現(xiàn)了T毫秒的空閑時(shí)間時(shí),則認(rèn)為之前收到的串口數(shù)據(jù)可以作為一個(gè)以太網(wǎng)數(shù)據(jù)包發(fā)送了。這里的T就是用戶設(shè)定的數(shù)據(jù)包間隔。
串口轉(zhuǎn)網(wǎng)口關(guān)鍵技術(shù)三:9位技術(shù)
以太網(wǎng)數(shù)據(jù)是以字節(jié)Byte計(jì)算的每個(gè)字節(jié)都是8位,但是串口數(shù)據(jù)則有可能出現(xiàn)9位,第9位常常用于區(qū)分是地址幀還是數(shù)據(jù)幀,1表示地址幀0表示數(shù)據(jù)幀。那么在當(dāng)串口轉(zhuǎn)化為以太網(wǎng)之后,如何將第9位也傳送出去就成了一個(gè)關(guān)鍵技術(shù)。
在眾多的串口轉(zhuǎn)網(wǎng)口方案中都是將第9位直接舍棄的,目前據(jù)了解上海卓嵐信息科技的方案具有快速地適應(yīng)9位的功能,其實(shí)現(xiàn)方法中采用了稱之為RealCom的協(xié)議。由于增加了第9位,所以串口數(shù)據(jù)不能夠直接透明地轉(zhuǎn)化為TCP IP應(yīng)用層數(shù)據(jù),realcom 協(xié)議將串口數(shù)據(jù)打包之后整個(gè)作為TCP IP的應(yīng)用數(shù)據(jù)傳輸。這樣可以在realcom協(xié)議的協(xié)議頭部加入該數(shù)據(jù)包的9位是1還是0的信息,從而實(shí)現(xiàn)了9位傳輸技術(shù)。
標(biāo)簽:
中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。