張小寒
(湖南財經(jīng)工業(yè)職業(yè)技術(shù)學(xué)院,衡陽 421002)
TCP/IP協(xié)議棧嵌入系統(tǒng),其實就是一種服務(wù)于某種專用場合的計算機系統(tǒng),其融入了現(xiàn)代的通信技術(shù)、控制技術(shù)以及計算機技術(shù)等,從軟件到硬件雙向設(shè)計協(xié)調(diào),提高系統(tǒng)的通信性能,滿足辦公場合對于計算機系統(tǒng)的安全性、可靠性和功能性需求。
該嵌入式系統(tǒng)的工作原理與PC機的基本工作系統(tǒng)比較相似,具有較高的自動化水平,其在信息接收和傳達方面具有較快的反應(yīng)速度,并且其軟件的體積非常小,能夠?qū)崿F(xiàn)多任務(wù)的需求,并且具有實時性。綜合TCP/IP協(xié)議棧的嵌入式系統(tǒng),其主要展現(xiàn)出以下特征:從系統(tǒng)的精簡性來講,該款系統(tǒng)對于應(yīng)用軟件及其系統(tǒng)軟件所設(shè)定的界限并不明顯,甚至比較模糊,因此,其在進行功能設(shè)計的過程中,主要是為了達到系統(tǒng)的簡潔和使用[1]。
在了解了該嵌入式系統(tǒng)的特點和功能以后,筆者將展開對通信系統(tǒng)的設(shè)計。
為了實現(xiàn)TCP/IP協(xié)議棧的嵌入式系統(tǒng)的通信功能,其必須先考慮該系統(tǒng)硬件的體積及其功耗問題。主體系統(tǒng)設(shè)計時,選擇的CPU型號為s3C44BOX,并且確定實時時鐘,設(shè)定該系統(tǒng)的功能模塊。具體模塊結(jié)構(gòu)如圖1所示。
圖1 通信方案硬件系統(tǒng)設(shè)計功能模塊
從圖1的結(jié)構(gòu)可以看出,本設(shè)計的主體系統(tǒng)涉及的功能模塊很多,筆者將對其主要模塊進行介紹。
首先是網(wǎng)絡(luò)接口模塊的設(shè)計。本次選擇的RTL8019As芯片,其控制器為MAC,其與物理層接口工頭構(gòu)成了芯片的內(nèi)部結(jié)構(gòu)[2]。本次接口設(shè)計將實現(xiàn)物理編碼子層功能、雙絞線物理媒體子層功能以及雙絞線媒體訪問單元功能等。在RTL8019As發(fā)出信號后,型號為RJ45的接收器將會接收到信號,并且將其傳輸?shù)降矫襟w中。
在軟件設(shè)計方面,TCP/IP協(xié)議棧的嵌入式系統(tǒng)注重對操作系統(tǒng)和LWIP協(xié)議的設(shè)計。
從操作系統(tǒng)的角度來講,本次設(shè)計要實現(xiàn)UCOs-Ⅱ的移植。本系統(tǒng)將會連接多個外部的監(jiān)控設(shè)備,因此對軟件系統(tǒng)的實時性具有較高的要求,軟件系統(tǒng)需要能夠在同一時間內(nèi)處理多個任務(wù),因此,本次選擇UCOs-Ⅱ?qū)崟r操作系統(tǒng)作為主要的軟件系統(tǒng)。該系統(tǒng)能夠?qū)Σ煌娜蝿?wù)進行響應(yīng),并且其處理器本身對于資源的要求不高,該系統(tǒng)又屬于免費系統(tǒng)。在軟件系統(tǒng)的設(shè)計中,要想完成對UCOs-Ⅱ系統(tǒng)移植,其處理器需要能夠重新輸入代碼,并且利用C語言實現(xiàn)代碼輸入的中斷。如果系統(tǒng)的處理器支持中斷,人們就能夠通過設(shè)計來實現(xiàn)定時中斷[3]。本系統(tǒng)的處理器需要具有容納硬件堆棧的功能,其將部分堆棧指針和處理器讀寫到內(nèi)存中,形成指令,從而實現(xiàn)相關(guān)代碼的修改。例如,本方案選擇的編譯器為arm-elf-gcc,那么本次對數(shù)據(jù)的定義則為:
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.
在網(wǎng)絡(luò)協(xié)協(xié)議棧的嵌入式系統(tǒng)設(shè)計中,本次選擇了LWIP。主要原因是該協(xié)議棧能夠支持多個網(wǎng)絡(luò)接口的IP轉(zhuǎn)發(fā),能夠快速回復(fù)轉(zhuǎn)發(fā)的TCP協(xié)議。也就是說,該種協(xié)議棧具有較高的應(yīng)用性能,選擇該協(xié)議棧,也就相當于提升了該程序的應(yīng)用性。
在LWIP協(xié)議棧中,分層思想起到了關(guān)鍵性的作用。為了將不同的協(xié)議劃分為不同的模塊,向外提供服務(wù)訪問點,人們必須利用分層思想,它能夠幫助LWIP協(xié)議棧實現(xiàn)該功能。TCP處理信號的過程如圖2所示,該流程充分展現(xiàn)了LWIP協(xié)議棧對于通信信息的處理能力。其中,TCP在發(fā)送數(shù)據(jù)時會利用tcp_write()來進行信息的檢查,而在接收數(shù)據(jù)時,其將會通過驅(qū)動程序?qū)⒔邮盏降木W(wǎng)絡(luò)數(shù)據(jù)傳達給ip_input()。
圖2 TCP發(fā)送與接收邏輯圖
本文主要對TCP/IP協(xié)議棧的嵌入式系統(tǒng)的通信方案進行設(shè)計,選擇了型號為s3C44BOX的ARM處理器,并且通過對硬件及軟件的雙重設(shè)計,成功實現(xiàn)了對多功能、實時性操作系統(tǒng)UCOs-Ⅱ的移植,完成對嵌入式操作系統(tǒng)的設(shè)計,最終選擇了TCP/IP協(xié)議棧LWIP。實踐表明,本設(shè)計具有一定的穩(wěn)定性,未來設(shè)計將逐漸朝安全性、實用性等方向靠攏。