<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 一種新的嵌入式Simplified TCP/IP協(xié)議棧的研究與實現(xiàn)

          一種新的嵌入式Simplified TCP/IP協(xié)議棧的研究與實現(xiàn)

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

          1 引言

          本文引用地址:http://www.ex-cimer.com/article/148753.htm

            nternet是近幾年隨著系統(tǒng)的廣泛應用和計算機網(wǎng)絡(luò)技術(shù)的發(fā)展而興起的一項新興概念和技術(shù)。單片機或微控制器(MCU,Micro ControllerUnit)被廣泛應用在家庭和工業(yè)的各個領(lǐng)域,通稱系統(tǒng)。嵌入式系統(tǒng)具有以應用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪等特點,贏得了巨大的市場,在應用數(shù)量上遠遠超過了各種通用計算機。隨著Internet/Intranet的發(fā)展,各種家用電器,從空調(diào)到微波爐,都產(chǎn)生了連入互聯(lián)網(wǎng)的要求。

            如何通過Internet共享嵌入式設(shè)備的信息,設(shè)備的遠程訪問、控制和管理,對接入到網(wǎng)絡(luò)上各個節(jié)點的設(shè)備實時監(jiān)控,這就是設(shè)備接入互聯(lián)網(wǎng)需要解決的問題。是標準的網(wǎng)絡(luò),如果能把嵌入到設(shè)備的MCU中,就可以通過它在設(shè)備和Internet之間建立通信鏈路,這樣就解決了設(shè)備與網(wǎng)絡(luò)互聯(lián)的關(guān)鍵技術(shù)。

            2  協(xié)議棧的特點

            和嵌入式系統(tǒng)面向特定的應用一樣,分析嵌入式TCP/IP協(xié)議棧的特點和對傳統(tǒng)的TCP/IP協(xié)議棧進行簡化也要針對特定的系統(tǒng)環(huán)境和應用背景。離開了特定的系統(tǒng)環(huán)境和應用背景來討論嵌入式TCP/IP協(xié)議棧的特點和對TCP/IP協(xié)議棧進行簡化是沒有意義的。這里所討論的嵌入式TCP/IP協(xié)議棧是針對那些低檔的8位/16位嵌入式系統(tǒng)能支持嵌入式Internet直連體系結(jié)構(gòu)而提出的。

            嵌入式系統(tǒng)有限的處理能力以及存儲資源相對缺乏,因此在嵌入式Internet環(huán)境里使用標準TCP/IP協(xié)議棧是不合適的。把TCP/IP協(xié)議棧從普通的PC機移植到MCU,內(nèi)存和內(nèi)存管理成了瓶頸。為了既相應的網(wǎng)絡(luò)功能又節(jié)省系統(tǒng)資源,需要對協(xié)議棧進行有針對的模塊化裁減。針對家電系統(tǒng)中的8位/16位MCU結(jié)構(gòu)設(shè)計了一個TCP/IP協(xié)議簇的子集,稱之為 TCP/IP協(xié)議棧。其中包括IP、UDP、ARP和ICMP等協(xié)議的全部或部分功能,對協(xié)議進行了有選擇的,盡最大可能保持協(xié)議功能和機制上的完整。

             TCP/IP協(xié)議棧按照網(wǎng)絡(luò)體系分層思想設(shè)計,如圖1所示。其中每一層都被設(shè)計成一個功能相對獨立的模塊,負責處理各自的數(shù)據(jù),通過函數(shù)調(diào)用把控制權(quán)交給上層或下層的模塊。

          Simplified TCP/IP協(xié)議棧

            低檔嵌入式系統(tǒng)中一般沒有實時多任務(wù)操作系統(tǒng)支持,所以Simplified TCP/IP協(xié)議棧直接面對硬件。MCU中的程序結(jié)構(gòu)一般是順序執(zhí)行和硬件中斷相配合的方式。嵌入式處理器的時鐘頻率低,地址、數(shù)據(jù)總線窄,所以一個IP包的處理要花很多的時間。如果采用中斷處理方式,勢必影響其他中斷和任務(wù)的執(zhí)行。當系統(tǒng)中有實時數(shù)據(jù)采集、串口通信中斷、鍵盤中斷等實時任務(wù)時,則會造成沖突。設(shè)計時需要合理劃分中斷處理程序,將無實時要求和費時的SimplifiedTCP/IP協(xié)議棧處理放在主程序順序循環(huán)中。對網(wǎng)絡(luò)接口控制芯片采用查詢式,即在其他中斷任務(wù)的執(zhí)行間隙處理Simplified TCP/IP協(xié)議棧,以犧牲響應速度換取系統(tǒng)可靠性,如圖2所示。

          嵌入式系統(tǒng)程序控制結(jié)構(gòu)

            3 TCP/IP協(xié)議棧的裁減

            
          普通操作系統(tǒng)可支持完整的TCP/IP協(xié)議族,但嵌入式系統(tǒng)中大多很難做到,也不需做到。嵌入式系統(tǒng)中實現(xiàn)的協(xié)議要根據(jù)各個系統(tǒng)的特點及功能來進行設(shè)計。TCP/IP協(xié)議族中,只實現(xiàn)與實際需要有關(guān)的部分,而不使用的協(xié)議則一概不支持。Simplified TCP/IP協(xié)議棧中支持的協(xié)議。

            3. 1 地址轉(zhuǎn)換協(xié)議—ARP協(xié)議

            ARP協(xié)議是某些網(wǎng)絡(luò)接口(如以太網(wǎng)和令牌環(huán)網(wǎng))使用的特殊協(xié)議,ARP的地址解析功能是為IP地址和數(shù)據(jù)鏈路層使用的硬件地址提供動態(tài)地址映射。通用計算機系統(tǒng)中,ARP高速緩存一般設(shè)計成雙向數(shù)據(jù)鏈的形式,這樣整個緩存可以方便地動態(tài)增減。但是這種非線性存儲的鏈表式緩存結(jié)構(gòu),在進行表項匹配查找時比較費時,不適用于嵌入式系統(tǒng)。因此ARP的地址緩存采用了線性數(shù)組形式的結(jié)構(gòu)。它在內(nèi)存中是連續(xù)線性存儲的,查找速度快。嵌入式應用中節(jié)點不是很多,即ARP緩存容量不需要很大,因此將ARP高速緩存設(shè)計成固定大小。被動的嵌入式服務(wù)器主要是接收來自客戶的服務(wù)請求,為客戶提供服務(wù),即嵌入式服務(wù)器不會主動向某一主機發(fā)數(shù)據(jù)幀。既然如此始終處于被動狀態(tài)的服務(wù)器完全不需要向任何主機發(fā)送ARP請求,設(shè)備只要能處理ARP請求并返回ARP應答即可。鑒于這種情況,ARP協(xié)議中選擇對ARP應答部分進行實現(xiàn)。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

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



          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();