新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 通用可靠的串口/以太網(wǎng)網(wǎng)關(guān)設(shè)計

通用可靠的串口/以太網(wǎng)網(wǎng)關(guān)設(shè)計

作者: 時間:2012-07-18 來源:網(wǎng)絡(luò) 收藏

摘要:介紹了一種嵌入式方案,詳細(xì)討論了通信的實(shí)現(xiàn)方法,并在開源操作系統(tǒng)RTThread和微處理器S3C2 440開發(fā)板的軟硬件平臺上實(shí)現(xiàn)。實(shí)際應(yīng)用于一個無線傳感器網(wǎng)絡(luò)項(xiàng)目,實(shí)驗(yàn)表明該能實(shí)現(xiàn)的數(shù)據(jù)通信。
關(guān)鍵詞:網(wǎng)關(guān);串口通信;RT-Thread;S3C2440

引言
隨著物聯(lián)網(wǎng)的蓬勃發(fā)展,越來越多的傳統(tǒng)本地設(shè)備或網(wǎng)絡(luò)有接入計算機(jī)網(wǎng)絡(luò)的需求,而這些傳統(tǒng)沒備一般都是不具備網(wǎng)絡(luò)接口的非IP設(shè)備。最常用的通信接口是串口,不能直接接入計算機(jī)網(wǎng)絡(luò),在不改變這些原有設(shè)備的基礎(chǔ)上,使用串口/網(wǎng)關(guān)來接入計算機(jī)網(wǎng)絡(luò)的方式不失為一種比較好的解決方案。

本文引用地址:http://butianyuan.cn/article/148750.htm

a.JPG


基于此需求,和實(shí)現(xiàn)了串口/以太網(wǎng)網(wǎng)關(guān),網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。實(shí)現(xiàn)了非IP設(shè)備與IP設(shè)備間的數(shù)據(jù)通信,并特別考慮了串口通信的可靠性,從軟件和硬件兩方面詳細(xì)討論了保證串口通信可靠性的方法。IP端通信的可靠性由TCP/IP協(xié)議保證,這樣就保證了串口設(shè)備與IP設(shè)備間通信的可靠性。

1 網(wǎng)關(guān)工作原理
1.1 概 述
網(wǎng)關(guān)實(shí)現(xiàn)串口設(shè)備和以太網(wǎng)之間的協(xié)議轉(zhuǎn)換,具體表現(xiàn)為幀格式的轉(zhuǎn)換,可表示為:
Socket幀←→凈荷數(shù)據(jù)←→串口幀
其中Socket(套接字)幀和串口幀郜是為實(shí)現(xiàn)網(wǎng)關(guān)可靠通信而自定義格式的幀,凈荷數(shù)據(jù)為真正需要傳送的應(yīng)用數(shù)據(jù)。
網(wǎng)關(guān)的數(shù)據(jù)通信可分為兩部分:網(wǎng)絡(luò)端和串口端,要保證整個網(wǎng)關(guān)通信的可靠性,那么就要分別保證網(wǎng)絡(luò)端和串口端通信的可靠性。
在網(wǎng)絡(luò)端,網(wǎng)關(guān)使用了流式套接字。流式套接字使用TCP協(xié)議,而TCP協(xié)議是面向連接的,保證了數(shù)據(jù)傳輸?shù)恼_性和順序性。所以,流式的套接字可以提供可靠的、面向連接的通信流。但是,流式數(shù)據(jù)對應(yīng)用來說不易使用,所以Socket數(shù)據(jù)傳送都是基于幀格式的。
在串口端,串口數(shù)據(jù)傳送本質(zhì)上也是字節(jié)流式的,在硬件層次是不可靠的,而且不能保證數(shù)據(jù)的完整性,需要在軟件上有一些其他機(jī)制來保證可靠性。所以,網(wǎng)關(guān)串口的數(shù)據(jù)傳送同樣基于幀格式,并且使用了接收確認(rèn)、超時重發(fā)、差錯校驗(yàn)等機(jī)制來保證可靠性。

b.JPG


圖2為網(wǎng)關(guān)工作時的數(shù)據(jù)流示意圖。圖中3個帶箭頭的橢圓表示3個線程,圖中未畫出建立Socket連接、串口初始化和線程啟動等過程。

tcp/ip相關(guān)文章:tcp/ip是什么



上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉