版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于嵌入式網絡接口的基于嵌入式網絡接口的TCP/IP協(xié)議棧的設計及實現協(xié)議棧的設計及實現摘要:摘要:根據嵌入式系統(tǒng)及其接入網絡的特點,對標準TCP/IP協(xié)議棧進行裁減,設計了一種適用于8位微控制系統(tǒng)的嵌入式TCP/IP協(xié)議棧。將其移植到UCOSII上并與現有協(xié)議棧uIP進行對比測試。證明了其實用性。關鍵詞:關鍵詞:TCPIP協(xié)議棧嵌入式網絡接口UCOSIIuIP引言引言網絡化是現代電子設備普遍的特點,嵌入式系統(tǒng)也不例外。使嵌入式設備接入
2、網絡,擴寬了設備的通信范圍,也使操作者更加便于操控設備。但是,嵌入式系統(tǒng)具有處理能力有限、存儲資源少、應用場合單一等特點,標準的TCPIP協(xié)議棧顯然不能直接運用于8位的微控制系統(tǒng)中。本文量體裁衣,設計一種精簡的TCPIP協(xié)議棧,主要包括ARP、ICMP、IP、UDP等協(xié)議。本協(xié)議棧的測試平臺配置如下:STC12C5A60S2單片機、62256外部RAM存儲器、RTL8019AS網絡芯片、12M晶振。此協(xié)議棧可方便地移植到嵌入式實時操作系
3、統(tǒng)UCOSII上,作為其一個任務,控制網絡數據的收發(fā)。1TCPIP協(xié)議的設計協(xié)議的設計圖1TCPIP分層模型一些常用協(xié)議在TCP/IP分層模型中所處的位置如圖1所示。根據TCPIP協(xié)議分層的特點,在編寫代碼的過程中,可以圍繞三個特點來設計:第一,由于協(xié)議棧每層都由頭部和數據部分組成,而頭部又由多個項組成,所以應將各層頭部封裝成為結構體形式。第二,當網絡接口收到數據時,需要向上層傳遞或者在本層處理,這就需要判斷數據包的類型。比如,當硬件接
4、口收到數據時,需要對數據包類型進行判斷,如果是IP包,則向上傳遞給IP層,如果是ARP包則調用處理ARP包的函數。第三,當網絡接口發(fā)送數據時,數據從協(xié)議棧上層到下層,層層封裝,最后由硬件接口發(fā)送。這就需要有對每層進行封裝的函數。最后剩下的是數據的解封裝和網絡芯片驅動程序,數據的解封裝相對簡單,可在一個統(tǒng)一的函數中完成,而網絡芯片驅動程序根據使用的芯片類型設計初始化、發(fā)送、接收數據三個函數即可。1.1ARP協(xié)議協(xié)議協(xié)議棧接收數據包的過程就
5、是解析數據包的過程,處理流程如圖2所示。首先當一個數據幀到達時,網絡接口控制程序將其讀入緩沖區(qū),并返回其長度。其次,主程序判斷接收數據包的類型(IP或ARP包)調用響應的解包代碼進行處理。如果是ARP包,則解析ARP包,做更新ARP緩存或回應ARP請求等事宜。若為IP包,則進一步判斷數據包類型(ICMP或UDP包)調用相應的解包代碼處理。若為ICMP包,判斷是否為ICMP回顯請求,如果是制作回顯包并發(fā)送。如果是UDP包,解析出數據交由應
6、用層處理。開始系統(tǒng)初始化進入死循環(huán)獲取數據,做些什么是否有以太網幀到達?是ARP數據包嗎?是ARP請求嗎?是IP數據包嗎?是ARP響應嗎?保存源IPMAC地址到ARP緩存制作ARP響應包,并發(fā)送將MAC地址存儲到ARP緩存是ICMP數據包嗎?是ICMP回顯請求嗎?是UDP數據包嗎?制作ICMP響應包,并發(fā)送有數據要發(fā)送嗎?制作UDP包并層層打包發(fā)送是否是是否是否否是否是是是否是否圖2協(xié)議棧處理流程3協(xié)議棧的測試及應用協(xié)議棧的測試及應用本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一種嵌入式tcpip協(xié)議棧的研究與實現
- 嵌入式精簡IPv6協(xié)議棧的設計與實現.pdf
- 基于嵌入式ip協(xié)議棧的設計與實現
- 基于DSP的嵌入式網絡協(xié)議棧的研究與實現.pdf
- 嵌入式精簡TCP-IP協(xié)議棧的開發(fā)及應用.pdf
- 基于嵌入式Linux的RTP協(xié)議棧實現.pdf
- 基于嵌入式Linux的BACnet協(xié)議棧實現.pdf
- 嵌入式USB主從協(xié)議棧的設計與實現.pdf
- 嵌入式下的USB協(xié)議棧設計與實現.pdf
- 基于OSI協(xié)議棧的嵌入式SNMP代理的設計與實現.pdf
- 嵌入式開發(fā)平臺中IPv6精簡協(xié)議棧的分析與實現.pdf
- 精簡的IPv6協(xié)議棧在嵌入式系統(tǒng)中的應用與實現.pdf
- 基于FPGA技術的嵌入式雙協(xié)議棧的設計與實現.pdf
- 基于DSP的嵌入式TCP-IP協(xié)議棧的實現.pdf
- tcpip協(xié)議在嵌入式系統(tǒng)中的研究與實現
- 嵌入式Linux下網卡設備驅動與網絡協(xié)議棧的設計實現.pdf
- 基于GPRS的嵌入式TCP-IP協(xié)議棧的設計與實現.pdf
- 嵌入式Linux中BACnet協(xié)議棧的設計與實現.pdf
- 基于嵌入式系統(tǒng)的協(xié)議棧的研究與設計.pdf
- 基于ARM嵌入式TCP-IP協(xié)議棧的實現.pdf
評論
0/150
提交評論