亚洲一区二区三区国产日韩欧美_日韩无码动漫精品一区_欧美日韩另类视频在线_国产极品美女扒开粉嫩小泬91_无遮挡又爽又刺激的视频_综合高清亚洲无码_天天躁夜夜躁狠狠85台湾_一区二区日韩精选_精品国产第一网站_先锋影音中文字幕51啪啪

新聞資訊
串口轉(zhuǎn)以太網(wǎng)的關(guān)鍵技術(shù)有哪些?
2018-04-10


  串口轉(zhuǎn)網(wǎng)口關(guān)鍵技術(shù)一:TCP/IP的工作模式問(wèn)題

  串口轉(zhuǎn)以太網(wǎng)并不是簡(jiǎn)單的物理層和數(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ù)。例如用戶通過(guò)socket的recv()和send()函數(shù)接收和發(fā)送的實(shí)際是應(yīng)用層數(shù)據(jù)。這樣通過(guò)串口轉(zhuǎn)TCP/IP,用戶就可以用recv()和send()函數(shù)收發(fā)串口數(shù)據(jù)了。

  但是TCP/IP并不只是recv()和send()這么簡(jiǎn)單,根據(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ā)送,不需要事先連接,所以這種模式更加接近于串口的通信方式。但是UDP協(xié)議無(wú)法保證數(shù)據(jù)不丟失,容易產(chǎn)生誤碼。

  TCP模式:TCP模式采用數(shù)據(jù)可靠傳輸機(jī)制,因此可以保證數(shù)據(jù)基本不誤碼、不丟失。在TCP通信中,必然是由通信的兩端構(gòu)成,其中一方是TCP客戶端,一方是TCP服務(wù)端。TCP客戶端和TCP服務(wù)端的概念可以用電話來(lái)類比。TCP客戶端是打電話的人,而TCP服務(wù)端是接電話的人。

  如何選擇TCP/IP的工作模式?

  TCP與UDP的選擇:盡量選擇TCP模式,特別是經(jīng)過(guò)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ù)無(wú)法發(fā)送出去。

  原則二:IP或者域名固定的一方為服務(wù)器端。例如在有多個(gè)數(shù)據(jù)采集終端,而只有一個(gè)中心服務(wù)器的情況下,中心服務(wù)器應(yīng)該為服務(wù)端。這是因?yàn)?,中心服?wù)器的IP或域名一般是固定的,而采集終端的IP是不斷增加和變化的。中心服務(wù)器難以記住所有采集終端的IP,所以也難以發(fā)起連接;而采集終端尋找中央服務(wù)器就比較容易。

  串口轉(zhuǎn)網(wǎng)口關(guān)鍵技術(shù)二:串口分幀技術(shù)

  串口數(shù)據(jù)是可以連續(xù)不斷發(fā)送的,而以太網(wǎng)數(shù)據(jù)則是以數(shù)據(jù)包為單位發(fā)送的。這樣就關(guān)系到將多長(zhǎng)的串口數(shù)據(jù)打包后作為一個(gè)以太網(wǎng)數(shù)據(jù)包發(fā)送的問(wèn)題。

  數(shù)據(jù)包長(zhǎng)度:以太網(wǎng)數(shù)據(jù)包最長(zhǎng)1500多字節(jié),所以在串口轉(zhuǎn)網(wǎng)口轉(zhuǎn)發(fā)器收到1500字節(jié)后必須將其打包發(fā)送。用戶可以設(shè)定這個(gè)數(shù)據(jù)包長(zhǎng)度上限。

  數(shù)據(jù)包間隔:除了數(shù)據(jù)包長(zhǎng)度作為串口分幀的規(guī)則外,一個(gè)更為符合邏輯的方法是通過(guò)數(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ù)。


關(guān)注有人微信公眾號(hào)
了解更多信息