張小寒
(湖南財經工業職業技術學院,衡陽 421002)
TCP/IP協議棧嵌入系統,其實就是一種服務于某種專用場合的計算機系統,其融入了現代的通信技術、控制技術以及計算機技術等,從軟件到硬件雙向設計協調,提高系統的通信性能,滿足辦公場合對于計算機系統的安全性、可靠性和功能性需求。
該嵌入式系統的工作原理與PC機的基本工作系統比較相似,具有較高的自動化水平,其在信息接收和傳達方面具有較快的反應速度,并且其軟件的體積非常小,能夠實現多任務的需求,并且具有實時性。綜合TCP/IP協議棧的嵌入式系統,其主要展現出以下特征:從系統的精簡性來講,該款系統對于應用軟件及其系統軟件所設定的界限并不明顯,甚至比較模糊,因此,其在進行功能設計的過程中,主要是為了達到系統的簡潔和使用[1]。
在了解了該嵌入式系統的特點和功能以后,筆者將展開對通信系統的設計。
為了實現TCP/IP協議棧的嵌入式系統的通信功能,其必須先考慮該系統硬件的體積及其功耗問題。主體系統設計時,選擇的CPU型號為s3C44BOX,并且確定實時時鐘,設定該系統的功能模塊。具體模塊結構如圖1所示。

圖1 通信方案硬件系統設計功能模塊
從圖1的結構可以看出,本設計的主體系統涉及的功能模塊很多,筆者將對其主要模塊進行介紹。
首先是網絡接口模塊的設計。本次選擇的RTL8019As芯片,其控制器為MAC,其與物理層接口工頭構成了芯片的內部結構[2]。本次接口設計將實現物理編碼子層功能、雙絞線物理媒體子層功能以及雙絞線媒體訪問單元功能等。在RTL8019As發出信號后,型號為RJ45的接收器將會接收到信號,并且將其傳輸到到媒體中。
在軟件設計方面,TCP/IP協議棧的嵌入式系統注重對操作系統和LWIP協議的設計。
從操作系統的角度來講,本次設計要實現UCOs-Ⅱ的移植。本系統將會連接多個外部的監控設備,因此對軟件系統的實時性具有較高的要求,軟件系統需要能夠在同一時間內處理多個任務,因此,本次選擇UCOs-Ⅱ實時操作系統作為主要的軟件系統。該系統能夠對不同的任務進行響應,并且其處理器本身對于資源的要求不高,該系統又屬于免費系統。在軟件系統的設計中,要想完成對UCOs-Ⅱ系統移植,其處理器需要能夠重新輸入代碼,并且利用C語言實現代碼輸入的中斷。如果系統的處理器支持中斷,人們就能夠通過設計來實現定時中斷[3]。本系統的處理器需要具有容納硬件堆棧的功能,其將部分堆棧指針和處理器讀寫到內存中,形成指令,從而實現相關代碼的修改。例如,本方案選擇的編譯器為arm-elf-gcc,那么本次對數據的定義則為:
typedef ynsigned char BOOLEAN;
typedef ynsigned char TNT8N;
typedef ynsigned char INT8s;
typedef unsigned short INT16U;
typedef signed short INT16s;
typedef unsigned long INT32U;
typedef singned long INT32s;
typedef float FP32;
typedef double FP64.
在網絡協協議棧的嵌入式系統設計中,本次選擇了LWIP。主要原因是該協議棧能夠支持多個網絡接口的IP轉發,能夠快速回復轉發的TCP協議。也就是說,該種協議棧具有較高的應用性能,選擇該協議棧,也就相當于提升了該程序的應用性。
在LWIP協議棧中,分層思想起到了關鍵性的作用。為了將不同的協議劃分為不同的模塊,向外提供服務訪問點,人們必須利用分層思想,它能夠幫助LWIP協議棧實現該功能。TCP處理信號的過程如圖2所示,該流程充分展現了LWIP協議棧對于通信信息的處理能力。其中,TCP在發送數據時會利用tcp_write()來進行信息的檢查,而在接收數據時,其將會通過驅動程序將接收到的網絡數據傳達給ip_input()。

圖2 TCP發送與接收邏輯圖
本文主要對TCP/IP協議棧的嵌入式系統的通信方案進行設計,選擇了型號為s3C44BOX的ARM處理器,并且通過對硬件及軟件的雙重設計,成功實現了對多功能、實時性操作系統UCOs-Ⅱ的移植,完成對嵌入式操作系統的設計,最終選擇了TCP/IP協議棧LWIP。實踐表明,本設計具有一定的穩定性,未來設計將逐漸朝安全性、實用性等方向靠攏。