資源描述:
《LwIP協(xié)議棧在SoPC系統(tǒng)中的實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、LwIP協(xié)議棧在SoPC系統(tǒng)中的實現(xiàn)???可編程單芯片系統(tǒng)(system-on-a-programmable-chip,SoPC)是Altera公司于2000年提出的,它綜合了SOC和PLD、FPGA各自的優(yōu)點。目標(biāo)是將盡可能大而完整的電子系統(tǒng)在一塊FPGA中實現(xiàn)。近年來,隨著PLD器件制造水平、功能復(fù)雜的IP核和可重構(gòu)的嵌入式處理器軟核的發(fā)展,SoPC正處于高速發(fā)展階段,已成為高效、快速的SOC解決方案之一。???嵌入式Intemet技術(shù)已逐步趨于實用化,在工控與信息電器等領(lǐng)域得到了可喜的應(yīng)用。據(jù)專家預(yù)測,今后在Intemet上傳輸?shù)男畔⒂?0%來自小型嵌入式設(shè)備,構(gòu)建基于嵌入式系統(tǒng)的網(wǎng)絡(luò)
2、平臺已成為嵌入式領(lǐng)域的一個重要研究方向。目前Intemet上的通信方式大都是基于TCP/IP協(xié)議,嵌入式設(shè)備要與Intemet網(wǎng)絡(luò)直接交換信息,就必須支持TCP/IP協(xié)議。在當(dāng)前SoPC技術(shù)和嵌入式網(wǎng)絡(luò)技術(shù)飛速發(fā)展、日益結(jié)合的背景下,將LwIP協(xié)議棧引入到SoPC系統(tǒng)中,以支持嵌入式設(shè)備接入網(wǎng)絡(luò),是適合應(yīng)用需求的。???LwIP(lightweightIP)即輕型TCP/IP協(xié)議棧,一般只需要幾十K的RAM和40K左右的ROM就可以運行,并實現(xiàn)了較為完備的IP、ICMP、UDP、TCP,DHCP協(xié)議。以SOC的形式基于uC/OSII實現(xiàn)LwIP,并成功應(yīng)用到實際當(dāng)中的,已有很多文獻(xiàn)進(jìn)行了報道
3、。但是,基于SoPC系統(tǒng)的LwIP的實現(xiàn)比較少見。謝兵森等人主要報道了如何在Altera公司提供的SoPC系統(tǒng)開發(fā)環(huán)境下設(shè)計嵌入式以太網(wǎng)網(wǎng)絡(luò)終端,偏重于應(yīng)用。本文詳細(xì)闡述LwIP協(xié)議棧及其在SoPC系統(tǒng)上的移植原理,在此的基礎(chǔ)上基于SoPC系統(tǒng)完成LwIP協(xié)議棧的移植。1LwIP協(xié)議棧實現(xiàn)原理???LwIP是瑞士計算機(jī)科學(xué)院(SCICS)的AdamDunkels等開發(fā)的一套用于嵌入式系統(tǒng)的開放源碼的輕型TCP/IP協(xié)議棧,LwIP實現(xiàn)了較為完備的IP、ICMP、UDP、TCP、DHCP協(xié)議,具有超時時間估計、快速恢復(fù)和重發(fā)、窗口調(diào)整等功能。LwIP在保持協(xié)議主要功能的基礎(chǔ)上減少對RAM和RO
4、M的占用,一般只需要幾十K的RAM和40K左右的ROM就可以運行,很適合同uC/OSII相配合用在嵌入式系統(tǒng)中。在使用和移植的過程中可根據(jù)傳輸數(shù)據(jù)的不同需求進(jìn)行刪減和增補。移植過程主要是針對系統(tǒng)采用的微處理器、編譯器、操作系統(tǒng)和網(wǎng)絡(luò)控制器做相關(guān)的移植工作。本次研究采用lwip-0.6.3版本,經(jīng)移植優(yōu)化的LwIP作為uC/OSII擴(kuò)展的網(wǎng)絡(luò)模塊運行,為系統(tǒng)提供基本的網(wǎng)絡(luò)通信功能。并且在其基礎(chǔ)上構(gòu)造了一個基于TCP的Telnetecho測試服務(wù)器,以特定網(wǎng)絡(luò)應(yīng)用任務(wù)形式運行。???LwIP可移植到操作系統(tǒng)上,也可在無操作系統(tǒng)的情況下獨立運行。本次研究LwIP在uC/OS-II下實現(xiàn)的原理如圖1
5、。?圖1LwIP實現(xiàn)的原理???系統(tǒng)硬件核心為Stratix1s10的FPGA芯片。根據(jù)開發(fā)板的資源和研究要求將FPGA配置成定制的SoPC系統(tǒng),具體的硬件系統(tǒng)如圖2所示。網(wǎng)絡(luò)控制器是SMSC公司生產(chǎn)的自適應(yīng)10M/100M第3代快速以太網(wǎng)控制器LAN91c111,集成了SMSC/CD協(xié)議的MAC(媒體層)和PHY(物理層)。外圍設(shè)備的驅(qū)動和控制接口都有相應(yīng)的IP核來完成。???系統(tǒng)軟件核心為uC/OS-II-2.76,是一個源碼開放的適合于小型、微控制器的占先式多任務(wù)管理的實時操作系統(tǒng)。它內(nèi)核短小精悍、可裁減、執(zhí)行時間確定。uC/OSII提供的僅僅只是一個實時的調(diào)度及任務(wù)間通信的內(nèi)核,沒有
6、集成網(wǎng)絡(luò)協(xié)議。針對NiosII處理器,首先完成uC/OS-II的移植工作。2LwIP實現(xiàn)的硬件平臺???采用Altera公司的Stratix1s10開發(fā)板。在Altera公司的FPGA集成開發(fā)環(huán)境QuartusII4.0和SoPCBuilder下構(gòu)建基于Avalon總線的SoPC系統(tǒng)。根據(jù)研究的需要,在FPGA上定制的SoPC系統(tǒng)硬件映像如圖2所示。圖2SoPC系統(tǒng)的硬件映像???SoPC系統(tǒng)的硬件核心是NiosII處理器,NiosII內(nèi)核有3種配置——快速(NiosII/f)、標(biāo)準(zhǔn)(NiosII/s)和經(jīng)濟(jì)型(NiosII/e)。NiosII是Nios的第2代,是專門針對Altera的可編
7、程邏輯和可編程單芯片系統(tǒng)(SoPC)而設(shè)計的軟CPU。此處配置成標(biāo)準(zhǔn)。jtag-uart是PC機(jī)和開發(fā)板的連接電纜,功能是下載FPGA配置、軟件程序和調(diào)試程序。tri_bridge是Avalon片內(nèi)總線和片外設(shè)備的連接總線。lan91c111是以太網(wǎng)控制器接口,允許中斷。3LwIP協(xié)議棧的移植???移植LwIP協(xié)議棧,主要是針對系統(tǒng)所采用的NiosII處理器、GCC編譯器、uC/OS-II-2.76和LAN9