基于ARM微處理器TCP/IP協(xié)議棧LwlP實現-基礎電子_第1頁
基于ARM微處理器TCP/IP協(xié)議棧LwlP實現-基礎電子_第2頁
基于ARM微處理器TCP/IP協(xié)議棧LwlP實現-基礎電子_第3頁
基于ARM微處理器TCP/IP協(xié)議棧LwlP實現-基礎電子_第4頁
基于ARM微處理器TCP/IP協(xié)議棧LwlP實現-基礎電子_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

精品文檔-下載后可編輯基于ARM微處理器TCP/IP協(xié)議棧LwlP實現-基礎電子0引言

隨著嵌入式系統(tǒng)與網絡的日益結合,越來越多的嵌入式設備需要實現Internet網絡化,支持嵌入式設備接入網絡,已成為嵌入式領域重要的研究方向。而目前嵌入式系統(tǒng)中大量應用低速處理器,受內存和速度限制,實現完整的TCP/IP協(xié)議較為困難,LwIP作為較為成熟的嵌入式TCP/IP協(xié)議棧受到了廣泛的應用。

1硬件平臺

本通信系統(tǒng)的硬件平臺由以下幾個部分組成:S3C2410主CPU芯片控制嵌入式外圍設備的存儲、通信、保護、調試、顯示等操作;DSP和FPGA負責信號數據的采集和處理;CS8900A負責網絡數據的收發(fā);其他部分還包括串口RS232的通信、LCD的數據顯示、數據存儲FLASH和SDRAM以及其他硬件控制等。本硬件通信平臺的原理框圖如圖1所示。

嵌入式操作系統(tǒng)選用的是μcosⅡ,μcosⅡ作為目前市場上的嵌入式操作系統(tǒng)得到了廣泛的應用,提供任務問通信、同步使用的信號量、郵箱和消息隊列;具有良好的可裁剪性。

2TCP/IP協(xié)議棧LwIP的移植

LwIP由幾個模塊組成,除TCP/IP協(xié)議的實現模塊外(IP,ICMP,UDP,TCP),還有包括許多相關支持模塊。這些支持模塊包括:操作系統(tǒng)模擬層、緩沖與內存管理子系統(tǒng)、網絡接口函數及一組Internet校驗和計算函數。緩沖與內存管理子系統(tǒng)等大部分模塊LwIP都已經獨立出來,在移植的過程中不需要改動,我們只需要實現操作系統(tǒng)模擬層以及底層硬件驅動就可以正常工作。

操作系統(tǒng)模擬層存在的目的主要是為了方便LwIP的移植,它在底層操作系統(tǒng)μcosⅡ和LwIP之間提供了一個接口。這樣,我們在移植LwIP到一個新的目標系統(tǒng)時,只需修改這個接口即可。操作系統(tǒng)模擬層需要實現信號量操作函數、郵箱操作函數和線程操作函數三類。

為支持操作系統(tǒng)模擬層,還需要完成與CPU或編譯器相關的定義,如數據類型、數據長度、字的高低位順序等,這些應該與實現μC/OS-Ⅱ時相一致。另外需要注意的是由于一個網絡可能由不同的體系結構的CPU組成,其字節(jié)順序可能有兩種方式:Little-endian順序和Big-endian順序。需要注意字節(jié)順序的相互匹配。

3底層網絡驅動的實現

底層網絡驅動的框架LwIP已經為我們實現了絕大部分(如圖2所示),我們只需要在作者設計好的框架中完成與底層硬件相關的部分即可。即我們只需要實現與硬件相關的網卡初始化函數網絡數據包發(fā)送函數和網絡數據包接收函數。

本文所采用的底層網絡芯片CS8900A是CIRRUSLOGIC公司生產的低功耗、性能優(yōu)越的16位以太網控制器,功能強大。突出特點是使用靈活,其物理層接口、數據傳輸模式和工作模式等都能根據需要而動態(tài)調整,通過內部寄存器的設置來適應不同的應用環(huán)境。它的主要特點是符合IEEE802.3以太網標準;片內帶有4K字節(jié)的RAM來存儲發(fā)送和接收數據;與主機之間的數據通訊方式有I/O模式、Memory模式和DMA模式,在電路設計時可根據具體情況靈活選擇;帶有傳送、接收低通濾波的10Base2T連接端口;支持10Base2,10Base5和10Base2F的AUI接口;自動生成報頭,自動進行CRC檢驗,沖突后自動重發(fā);全雙工和半雙工可選模式。

CS8900A初始化部分的主要內容如下:

·軟件復位,并檢查復位完成標志是否置位;

·設定Memory工作模式,使其4K內存地址映射到主機內存中;

·設定臨時使用的以太網物理地址,真實地址需要向權威機構申請;

·設定接收幀的類型,至少要能接收廣播;

·確定數據的傳送方向,一般設為全雙工方式;

·中斷使能允許;

·使能接收中斷;

·確定CS8900A的中斷管腳號,根據硬件線路使用情況來確定;

·接收發(fā)送使能。

其中需要說明的是由于TCP/IP通信非常頻繁,在arm中接收發(fā)送數據采用中斷模式占用資源太多,因此本文采用的是查詢方式,也可以保證數據的基本通信。

CS8900A的數據發(fā)送基本流程如下:在收到由主機發(fā)來的數據報后,偵聽網絡線路。如果線路忙,它就等到線路空閑為止,否則,立即發(fā)送該數據幀。發(fā)送過程中,首先,它添加以太網幀頭(包括先導字段和幀開始標志),然后,生成CRC校驗碼,,將此數據幀發(fā)送到以太網上。數據發(fā)送流程圖如圖3所示。數據接收時,它將從以太網收到的數據幀在經過解碼、去掉幀頭和地址檢驗等步驟后緩存在片內。在CRC校驗通過后,它會根據初始化配置情況,通知主機CS8900A收到了數據幀,然后傳到主機的存儲區(qū)中。數據接收流程圖如圖4所示。

4上層Socket基本通信實現

LwIP已經實現了大部分的Socket網絡連接函數,我們要實現Socket,的基本通信,只需要在此基礎上通過調用其Socket網絡連接函數實現簡單的客戶機/服務器模式即可。儀器作為服務器方,主機作為客戶機進行連接。實現結果如圖5所示,發(fā)送程控命令FREQ300,返回FREQ300.000000MHzOK表示設置成功。

5結束語

本系統(tǒng)已經在場強儀AV3942中使用,能夠通過網絡對其進行遠程控制,實踐證明,該系統(tǒng)簡便實用,能夠方便、靈活的實現各種通信系統(tǒng)的互聯。

參考文獻:

[1].CS8900Adatasheet/da

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論