焦毅霞
(晉城職業技術學院,晉城 048026)
所謂TCP/IP協議,即把Internet上各種系統互相聯系起來的一套網絡通信協議組,是Internet的基礎協議,也是電腦數據打包的標準辦法。其作用是保證Internet上每一時刻內數據的準確性,規范網絡上所有通信設備,尤其是一個主機和另一個主機的數據往來格式。
TCP/IP的結構,從OsI的角度來看,層次并未明確劃分,但是大致可分為四個層次,即鏈路層、網絡層、傳輸層和應用層。
(1)鏈路層
鏈路層由控制同一網絡上的不同機器之間數據傳輸的底層協議所構成。該層的作用在于管理Internet的鏈接并且提供網絡上的數據與報文的輸入、輸出。
(2)網絡層
網絡層的作用在于根據數據與報文的信息決定數據與報文的去向。網絡層使信息可以發送到TCP/IP網絡上的任一主機上,并且同時可以建立網絡之間的互連。
(3)傳輸層
該傳輸層的基本作用是管理源和目的之間的數據傳輸。但是與其他傳輸層不同,TCP/IP協議中的傳輸層不保證數據的準確傳輸。
(4)應用層
應用層包括以下一些服務。
①用戶相關認證。
②數據處理以及壓縮。該系統處理來自數據終端的數據。這里需要注意,應用層往往只對大數據做打包拆包的處理。
(1)單片機的概念
單片機,又被稱為微控制器,它是指一個集成于一塊芯片上的完整計算機系統,最初被應用于工業控制領域。單片機雖然大部分功能集于一塊芯片上,但是它具有一個完整計算機需要的大多部件,如CPU、內存、內外部總線系統。
(2)單片機的硬件接口
本文中要介紹的典型8位機,采用TCP/IP協議接入Internet的網絡接口,目前單片機首選的接口芯片,是性價比超高的RTL8019As,RTL8019As是臺灣Realtek半導體公司生產的以太網控制器,其性能包括:支持EthernetII和IEEE802.3標準;支持8/16位數據總線;內置16K Word的sRAM;全雙工,收發同時達到10Mb/s;支持BNC、AUI、UTP介質。
RTL8019As工作于8位模式,通過網絡變壓器和接口,相連接入Internet,可以隔離網絡上的干擾信號[1]。
系統提供相應的接口連接網絡,并給用戶提供一個串口使用,如圖1所示。

圖1 系統硬件結構圖
系統將IP數據解包后提供給串口,外部RAM使用61C1024(128kB)時,得到了極大的緩存,使用X5045可以將IP地址、網卡物理地址和其他數據參數保存在里面,還可以將串口過來的數據封裝為數據包送到局域網中。網卡芯片RTL8019As是一種局域網處理芯片,并且提供8位和16位的兩種接口。但是由于本系統中使用的單片機是8位數接口,因此本文只介紹8位數的模式[2]。NE103是一種脈沖變壓器,用于對網絡信號進行脈沖波形變換。從圖中可以看出,整個系統以單片機為核心,通過RTL8019As以太網控制芯片,來實現遠程通訊。系統中還使用了X5045作為外部擴展,用來存儲網卡和物理地址等一系列的配置信息。與此同時,X5045還具有看門狗、監控電壓、上電復位等功能。因而使用X5045監控系統的運行過程,當系統不穩定的時候可以有效地進行復位。
該TCP/IP網絡通信系統為了具有較好的實時性和穩定性,采用μC/Os-II設計系統軟件。μC/Os-II是一種基于優先級的搶占式多任務實時操作系統它可以使各個任務獨立工作,互不干涉,很容易實現準時而且無誤執行,使實時應用程序的設計和擴展變得容易,使應用程序的設計過程大為減化。軟件設計工作主要分為操作系統μC/Os-II部分、TCP/IP協議各模塊在μC/Os-II上的實現以及RTL8019As驅動模塊的編寫。操作系統首先初始化網絡設備,然后根據需要建立任務,完成數據的解包打包,用戶建立自己的應用程序。TCP/IP的基本協議流程圖如圖2所示。

圖2 TCP/IP基本協議流程圖
TCP/IP在μC/Os-II上的設計結束后,剩下的工作就是編寫應用程序。將系統劃分成若干個任務,每個任務對應一個獨立的無限循環的主程序,完成一個特定的功能。為簡化設計,應用程序采用靜態優先級,即應用程序在執行的過程中各個任務優先級保持不變。
根據TCP/IP協議的層次特性,每個協議層都有自己的數據格式。用戶數據從本地嵌入式設備傳輸到遠程主機過程中,需要走過各個協議時不斷的打包和解包。單片機把數據包放到一確定的存儲區,協議棧各層間傳遞的都是數據指針,當數據最終發送出去或被用戶程序取走時,再進行真正的數據搬移。把嵌入式TCP/IP連入網時,首先將芯片復位,將內部寄存器初始化,等待一定時間后對RTL8019進行操作,RTL8019復位后初始化寄存器,進行數據包的接收和發送。它通過DMA進行讀寫內部的RAM,將數據包放入外部RAM,單片機直接操作外部RAM。TCP處理數據包流程圖,如圖3所示。

圖3 TCP處理數據包流程圖
嵌入式TCP/IP協議單片機具有占用小、成本低、硬件少、使用方便、傳輸速度快等優點,還可以很好的運用于Internet的傳輸系統中,適用于現有的網絡傳輸系統,特別是傳輸數據和采集數據的領域中,有著十分廣泛的應用前景。
目前,TCP/IP協議單片機在屏幕板的數據成像、遠程數據收集系統中被廣泛應用。
(1)TCP/IP可以傳輸通用數據,并且能夠輕而易舉地取代以前的由專有數據網絡傳輸的數據。
(2)開銷極小,成本低。
(3)客戶需求量大。
(1)功能與實現方法區別不明確。在這一點上,它未能清楚地區分服務、接口和協議三者的區別。一個應用效果良好的軟件工程應該將功能與實現方法區別出來,但是TCP/IP卻未能做到這一點。
(2)沒有區分開主機和網絡層。一個應用效果良好的參考模型應該區分開來物理層與鏈路層,但TCP/IP也未能做到這一點。
(3)TCP/IP協議模型對新的技術的指導意義不夠。綜上兩點,TCP/IP的參考模型不適用于其他協議簇。
縱觀國內市場,基于TCP/IP協議單片機技術在網絡通信中的應用正在逐步發展,廣泛的應用促進了該技術的不斷發展與創新,以TCP/IP協議單片機技術的應用系統穩定性高的優勢,最終促進我國網絡通信事業的發展,為推動我國網絡通信事業打下了堅實的基礎。