2019-02-01 串口數(shù)據(jù)轉(zhuǎn)以太網(wǎng)

1、究竟是串口轉(zhuǎn)以太網(wǎng)還是串口轉(zhuǎn)TCP/IP九默?

???????? 串口一般來(lái)說(shuō)就是UART震放,它實(shí)際只定義了數(shù)據(jù)鏈路層的規(guī)范,也就是起始位驼修、數(shù)據(jù)位殿遂、停止位。但是在不同的物理層又分為:TTL串口乙各、RS232串口墨礁、RS485串口等。

???????? 如果按照ISO的7層模型(物理層耳峦、數(shù)據(jù)鏈路層恩静、網(wǎng)絡(luò)層、傳輸層蹲坷、會(huì)話層驶乾、表示層、應(yīng)用層)來(lái)分的話循签,串口實(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)也可以說(shuō)成是串口轉(zhuǎn)TCP/IP。

2杆查、TCP/IP的工作模式

???????? 串口轉(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ù)姆绞娇颓汀CP/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)聽(tīng)等囱稽,這是串口轉(zhuǎn)網(wǎng)口后需要增加處理的部分。TCP/IP的工作模式可以分為:TCP服務(wù)端模式(TCP Server)二跋、TCP客戶端模式(TCP Client)战惊、UDP模式。

  UDP模式:UDP模式是基于非連接的模式扎即,只要有數(shù)據(jù)發(fā)送即可發(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連接斷開(kāi)的情況下平痰,客戶端能夠在需要發(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ù)器就比較容易。

3焕刮、串口分幀技術(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ù)包間隔。

4梧油、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ù)缨伊。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市财忽,隨后出現(xiàn)的幾起案子倘核,更是在濱河造成了極大的恐慌,老刑警劉巖即彪,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件紧唱,死亡現(xiàn)場(chǎng)離奇詭異活尊,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)漏益,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門蛹锰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人绰疤,你說(shuō)我怎么就攤上這事铜犬。” “怎么了轻庆?”我有些...
    開(kāi)封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵癣猾,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我余爆,道長(zhǎng)纷宇,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任蛾方,我火速辦了婚禮像捶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘桩砰。我一直安慰自己拓春,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布亚隅。 她就那樣靜靜地躺著硼莽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪枢步。 梳的紋絲不亂的頭發(fā)上沉删,一...
    開(kāi)封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音醉途,去河邊找鬼。 笑死砖茸,一個(gè)胖子當(dāng)著我的面吹牛隘擎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凉夯,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼货葬,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了劲够?” 一聲冷哼從身側(cè)響起震桶,我...
    開(kāi)封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎征绎,沒(méi)想到半個(gè)月后蹲姐,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年柴墩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了忙厌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡江咳,死狀恐怖逢净,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情歼指,我是刑警寧澤爹土,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站踩身,受9級(jí)特大地震影響着饥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜惰赋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一宰掉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赁濒,春花似錦轨奄、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至击你,卻和暖如春玉组,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背丁侄。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工惯雳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸿摇。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓石景,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親拙吉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子潮孽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容