uIPTCPIP協(xié)議棧在51系列單片機上的應(yīng)用

uIPTCPIP協(xié)議棧在51系列單片機上的應(yīng)用

ID:46496927

大?。?2.50 KB

頁數(shù):15頁

時間:2019-11-24

uIPTCPIP協(xié)議棧在51系列單片機上的應(yīng)用_第1頁
uIPTCPIP協(xié)議棧在51系列單片機上的應(yīng)用_第2頁
uIPTCPIP協(xié)議棧在51系列單片機上的應(yīng)用_第3頁
uIPTCPIP協(xié)議棧在51系列單片機上的應(yīng)用_第4頁
uIPTCPIP協(xié)議棧在51系列單片機上的應(yīng)用_第5頁
資源描述:

《uIPTCPIP協(xié)議棧在51系列單片機上的應(yīng)用》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、uIPTCP/IP協(xié)議棧在51系列單片機上的應(yīng)用ApplicationofuIPTCP/IPStackin51MCU鄧治國張維新摘要:uIP協(xié)議棧是一種免費的可實現(xiàn)的極小的TCP/IP協(xié)議棧,可以使用于由8位或16位微處理器構(gòu)建的嵌入式系統(tǒng)。本文分析了uIP協(xié)議棧的結(jié)構(gòu)和應(yīng)用接口,并討論了如何將其應(yīng)用到51系列單片機上。關(guān)鍵詞:TCP/IP單片機嵌入式系統(tǒng)中圖分類號:TP311.54文獻(xiàn)標(biāo)識碼:Abstract:TheuIPTCP/IPstackisafreesmallimplementationofTCP/IPprotocolsuiteintendedforembe

2、ddedsystemsrunningonlow-end8or16bitmicrocontrollers.ThisdocumentdescribesthearchitectureandapplicationinterfaceofuIPstack,anddiscusseshowtouseuIPTCP/IPstackin51MCU.Keywords:TCP/IPMCUembeddedsystem一引言近幾年來,人們對連接各種裝置到一個現(xiàn)有的IP網(wǎng)絡(luò)例如因特網(wǎng)上產(chǎn)生了濃厚的興趣。為了可以通過因特網(wǎng)通訊,一個可實現(xiàn)的TCP/IP協(xié)議棧是必須的。對于由32位嵌入式處理器構(gòu)建的中、

3、高端網(wǎng)絡(luò)接入嵌入式系統(tǒng)中,通常會運行一個集成有TCP/IP協(xié)議棧的操作系統(tǒng)。但是對于由8位和16位低端處理器構(gòu)建的系統(tǒng),由于其所具有的處理能力和資源十分有限,通常不運行操作系統(tǒng),這就要求系統(tǒng)開發(fā)者根據(jù)應(yīng)用的要求以及所選用的處理器的實際情況構(gòu)建口己的TCP/IP協(xié)議棧。而TCP/IP協(xié)議的透明性掩蓋了其實現(xiàn)的復(fù)雜性,從無到有構(gòu)建一個協(xié)議棧是一件艱巨的任務(wù),并且缺少有效的調(diào)試工具。uIPTCP/IP協(xié)議棧是使用于低端8位或16位微處理器構(gòu)建的嵌入式系統(tǒng)的一個可實現(xiàn)的極小的TCP/IP協(xié)議棧。它可以自由分發(fā)和使用于商業(yè)和非商業(yè)口的。uIP使用C語言編寫,使其方便于移植。并且

4、uIP協(xié)議棧的代碼大小和RAM的需求比其它一般的TCP/IP棧要小,這就使得它可以方便的應(yīng)用到各種低端系統(tǒng)上。本文將簡要描述uIP的實現(xiàn)方法,分析uIP協(xié)議棧的應(yīng)用接口,并討論如何將其應(yīng)用到51系列單片機上。二uIP協(xié)議棧的實現(xiàn)方法簡述uIP實現(xiàn)了TCP/IP協(xié)議集的四個基本協(xié)議:ARP地址解析協(xié)議,IP網(wǎng)際互聯(lián)協(xié)議,ICMP網(wǎng)絡(luò)控制報文協(xié)議和TCP傳輸控制協(xié)議。為了在8位16位處理器上應(yīng)用,uIP協(xié)議棧在各層協(xié)議實現(xiàn)時采用有針對性的方法,保持代碼人小和存儲器使用量最小。1實現(xiàn)ARP地址解析協(xié)議時為了節(jié)省存儲器,ARP應(yīng)答包直接覆蓋ARP請求包。2實現(xiàn)IP網(wǎng)絡(luò)協(xié)議時對

5、原協(xié)議進(jìn)行了極大的簡化,它沒有實現(xiàn)分片和重組。3實現(xiàn)ICMP網(wǎng)絡(luò)控制報文協(xié)議時,只實現(xiàn)echo(回響)服務(wù)。uIP在生成回響報文時并不重新分配存儲器空間,而是直接修改echo請求報文來生成回響報文。將ICMP類型字段從"echo"類型改變成“echoreply"類型,重新計算校驗和修改校驗和字段。4uIP里的TCP沒有實現(xiàn)發(fā)送和接收數(shù)據(jù)的滑動窗口。每個TCP連接的狀態(tài)由uip_conn結(jié)構(gòu)保存,uip_conn結(jié)構(gòu)包括當(dāng)?shù)睾瓦h(yuǎn)端的TCP端口編號,遠(yuǎn)程主機的IP地址,重發(fā)時I'可值,上一段重發(fā)的編號,和連接的段的最大尺寸等信息。一個uip_conn結(jié)構(gòu)數(shù)組用于保存所有的

6、連接,數(shù)組的人小為支持的同時連接的最大數(shù)量。為了減少儲存器的使用量,在處理重發(fā)吋uIP并不緩存發(fā)送的數(shù)據(jù)包,而是由應(yīng)用程序在需要重發(fā)時重新牛成發(fā)送的數(shù)據(jù)。三uIP協(xié)議棧的接口UIP協(xié)議棧為了具有最人的通用性,在實現(xiàn)時將底層硬件驅(qū)動和頂層應(yīng)用層之外的所有協(xié)議集“打包“在一個“庫“里O協(xié)議棧通過接口與底層硬件和頂層應(yīng)用“通信“。通過這種方式,UIP具有極高的通用性和獨立性,移植到不同系統(tǒng)和實現(xiàn)不同的應(yīng)用都很方便,很好的體現(xiàn)了TCP/IP協(xié)議平臺無關(guān)性的特點ouIP協(xié)議棧與系統(tǒng)底層和應(yīng)用程序之間的接口關(guān)系如圖(一)所示:1uIP協(xié)議棧與系統(tǒng)底層的接口uIP與系統(tǒng)底層的接口包

7、括與設(shè)備驅(qū)動的接口和與系統(tǒng)定時器的接口兩類。應(yīng)用耒uIP協(xié)i1.1uIP與設(shè)備驅(qū)動接口uIP通過函數(shù)uip_input()和全局變量uip_buf、uip_len來實現(xiàn)與設(shè)備驅(qū)動的接口。uip_buf用于存放接收到白麻戳跚。數(shù)據(jù)包,為了減少存儲器的使用,接收數(shù)據(jù)包和發(fā)送數(shù)據(jù)包使用相同的緩沖區(qū)。uipjen表明接收發(fā)送緩沖區(qū)里的數(shù)據(jù)長度,通過判斷uipjen的值是否為0來判斷是否接冊刼冊冊3據(jù),是否有數(shù)據(jù)要發(fā)送。當(dāng)設(shè)備驅(qū)動接收到一禦窺麓煖u網(wǎng)絡(luò)設(shè)備驅(qū)動輸入包緩存里(uip_buf)后,應(yīng)該調(diào)用uip_input()函數(shù)。uip_input()函數(shù)是uI

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。