焦毅霞
(晉城職業(yè)技術學院,晉城 048026)
所謂TCP/IP協(xié)議,即把Internet上各種系統(tǒng)互相聯(lián)系起來的一套網(wǎng)絡通信協(xié)議組,是Internet的基礎協(xié)議,也是電腦數(shù)據(jù)打包的標準辦法。其作用是保證Internet上每一時刻內數(shù)據(jù)的準確性,規(guī)范網(wǎng)絡上所有通信設備,尤其是一個主機和另一個主機的數(shù)據(jù)往來格式。
TCP/IP的結構,從OsI的角度來看,層次并未明確劃分,但是大致可分為四個層次,即鏈路層、網(wǎng)絡層、傳輸層和應用層。
(1)鏈路層
鏈路層由控制同一網(wǎng)絡上的不同機器之間數(shù)據(jù)傳輸?shù)牡讓訁f(xié)議所構成。該層的作用在于管理Internet的鏈接并且提供網(wǎng)絡上的數(shù)據(jù)與報文的輸入、輸出。
(2)網(wǎng)絡層
網(wǎng)絡層的作用在于根據(jù)數(shù)據(jù)與報文的信息決定數(shù)據(jù)與報文的去向。網(wǎng)絡層使信息可以發(fā)送到TCP/IP網(wǎng)絡上的任一主機上,并且同時可以建立網(wǎng)絡之間的互連。
(3)傳輸層
該傳輸層的基本作用是管理源和目的之間的數(shù)據(jù)傳輸。但是與其他傳輸層不同,TCP/IP協(xié)議中的傳輸層不保證數(shù)據(jù)的準確傳輸。
(4)應用層
應用層包括以下一些服務。
①用戶相關認證。
②數(shù)據(jù)處理以及壓縮。該系統(tǒng)處理來自數(shù)據(jù)終端的數(shù)據(jù)。這里需要注意,應用層往往只對大數(shù)據(jù)做打包拆包的處理。
(1)單片機的概念
單片機,又被稱為微控制器,它是指一個集成于一塊芯片上的完整計算機系統(tǒng),最初被應用于工業(yè)控制領域。單片機雖然大部分功能集于一塊芯片上,但是它具有一個完整計算機需要的大多部件,如CPU、內存、內外部總線系統(tǒng)。
(2)單片機的硬件接口
本文中要介紹的典型8位機,采用TCP/IP協(xié)議接入Internet的網(wǎng)絡接口,目前單片機首選的接口芯片,是性價比超高的RTL8019As,RTL8019As是臺灣Realtek半導體公司生產(chǎn)的以太網(wǎng)控制器,其性能包括:支持EthernetII和IEEE802.3標準;支持8/16位數(shù)據(jù)總線;內置16K Word的sRAM;全雙工,收發(fā)同時達到10Mb/s;支持BNC、AUI、UTP介質。
RTL8019As工作于8位模式,通過網(wǎng)絡變壓器和接口,相連接入Internet,可以隔離網(wǎng)絡上的干擾信號[1]。
系統(tǒng)提供相應的接口連接網(wǎng)絡,并給用戶提供一個串口使用,如圖1所示。
圖1 系統(tǒng)硬件結構圖
系統(tǒng)將IP數(shù)據(jù)解包后提供給串口,外部RAM使用61C1024(128kB)時,得到了極大的緩存,使用X5045可以將IP地址、網(wǎng)卡物理地址和其他數(shù)據(jù)參數(shù)保存在里面,還可以將串口過來的數(shù)據(jù)封裝為數(shù)據(jù)包送到局域網(wǎng)中。網(wǎng)卡芯片RTL8019As是一種局域網(wǎng)處理芯片,并且提供8位和16位的兩種接口。但是由于本系統(tǒng)中使用的單片機是8位數(shù)接口,因此本文只介紹8位數(shù)的模式[2]。NE103是一種脈沖變壓器,用于對網(wǎng)絡信號進行脈沖波形變換。從圖中可以看出,整個系統(tǒng)以單片機為核心,通過RTL8019As以太網(wǎng)控制芯片,來實現(xiàn)遠程通訊。系統(tǒng)中還使用了X5045作為外部擴展,用來存儲網(wǎng)卡和物理地址等一系列的配置信息。與此同時,X5045還具有看門狗、監(jiān)控電壓、上電復位等功能。因而使用X5045監(jiān)控系統(tǒng)的運行過程,當系統(tǒng)不穩(wěn)定的時候可以有效地進行復位。
該TCP/IP網(wǎng)絡通信系統(tǒng)為了具有較好的實時性和穩(wěn)定性,采用μC/Os-II設計系統(tǒng)軟件。μC/Os-II是一種基于優(yōu)先級的搶占式多任務實時操作系統(tǒng)它可以使各個任務獨立工作,互不干涉,很容易實現(xiàn)準時而且無誤執(zhí)行,使實時應用程序的設計和擴展變得容易,使應用程序的設計過程大為減化。軟件設計工作主要分為操作系統(tǒng)μC/Os-II部分、TCP/IP協(xié)議各模塊在μC/Os-II上的實現(xiàn)以及RTL8019As驅動模塊的編寫。操作系統(tǒng)首先初始化網(wǎng)絡設備,然后根據(jù)需要建立任務,完成數(shù)據(jù)的解包打包,用戶建立自己的應用程序。TCP/IP的基本協(xié)議流程圖如圖2所示。
圖2 TCP/IP基本協(xié)議流程圖
TCP/IP在μC/Os-II上的設計結束后,剩下的工作就是編寫應用程序。將系統(tǒng)劃分成若干個任務,每個任務對應一個獨立的無限循環(huán)的主程序,完成一個特定的功能。為簡化設計,應用程序采用靜態(tài)優(yōu)先級,即應用程序在執(zhí)行的過程中各個任務優(yōu)先級保持不變。
根據(jù)TCP/IP協(xié)議的層次特性,每個協(xié)議層都有自己的數(shù)據(jù)格式。用戶數(shù)據(jù)從本地嵌入式設備傳輸?shù)竭h程主機過程中,需要走過各個協(xié)議時不斷的打包和解包。單片機把數(shù)據(jù)包放到一確定的存儲區(qū),協(xié)議棧各層間傳遞的都是數(shù)據(jù)指針,當數(shù)據(jù)最終發(fā)送出去或被用戶程序取走時,再進行真正的數(shù)據(jù)搬移。把嵌入式TCP/IP連入網(wǎng)時,首先將芯片復位,將內部寄存器初始化,等待一定時間后對RTL8019進行操作,RTL8019復位后初始化寄存器,進行數(shù)據(jù)包的接收和發(fā)送。它通過DMA進行讀寫內部的RAM,將數(shù)據(jù)包放入外部RAM,單片機直接操作外部RAM。TCP處理數(shù)據(jù)包流程圖,如圖3所示。
圖3 TCP處理數(shù)據(jù)包流程圖
嵌入式TCP/IP協(xié)議單片機具有占用小、成本低、硬件少、使用方便、傳輸速度快等優(yōu)點,還可以很好的運用于Internet的傳輸系統(tǒng)中,適用于現(xiàn)有的網(wǎng)絡傳輸系統(tǒng),特別是傳輸數(shù)據(jù)和采集數(shù)據(jù)的領域中,有著十分廣泛的應用前景。
目前,TCP/IP協(xié)議單片機在屏幕板的數(shù)據(jù)成像、遠程數(shù)據(jù)收集系統(tǒng)中被廣泛應用。
(1)TCP/IP可以傳輸通用數(shù)據(jù),并且能夠輕而易舉地取代以前的由專有數(shù)據(jù)網(wǎng)絡傳輸?shù)臄?shù)據(jù)。
(2)開銷極小,成本低。
(3)客戶需求量大。
(1)功能與實現(xiàn)方法區(qū)別不明確。在這一點上,它未能清楚地區(qū)分服務、接口和協(xié)議三者的區(qū)別。一個應用效果良好的軟件工程應該將功能與實現(xiàn)方法區(qū)別出來,但是TCP/IP卻未能做到這一點。
(2)沒有區(qū)分開主機和網(wǎng)絡層。一個應用效果良好的參考模型應該區(qū)分開來物理層與鏈路層,但TCP/IP也未能做到這一點。
(3)TCP/IP協(xié)議模型對新的技術的指導意義不夠。綜上兩點,TCP/IP的參考模型不適用于其他協(xié)議簇。
縱觀國內市場,基于TCP/IP協(xié)議單片機技術在網(wǎng)絡通信中的應用正在逐步發(fā)展,廣泛的應用促進了該技術的不斷發(fā)展與創(chuàng)新,以TCP/IP協(xié)議單片機技術的應用系統(tǒng)穩(wěn)定性高的優(yōu)勢,最終促進我國網(wǎng)絡通信事業(yè)的發(fā)展,為推動我國網(wǎng)絡通信事業(yè)打下了堅實的基礎。