(3)以太網(wǎng)通訊模塊
通訊模塊用來實現(xiàn)本地數(shù)據(jù)的遠(yuǎn)程傳送及接收遠(yuǎn)程控制命令等。工業(yè)應(yīng)用中采用的網(wǎng)絡(luò)形式有多種,早期的RS232/485,近期的有各種現(xiàn)場總線等。在這里我們采用的是在PC機(jī)上廣泛使用的TCP/IP協(xié)議和以太網(wǎng)協(xié)議,由于TCP/IP協(xié)議已經(jīng)成為計算機(jī)網(wǎng)絡(luò)通信中的事實標(biāo)準(zhǔn)協(xié)議,它具有開放性、低成本,高速度,高可靠性等特點,而且連網(wǎng)方便,有眾多的應(yīng)用和開發(fā)軟件。
實現(xiàn)網(wǎng)絡(luò)接口的方式一般有兩種:軟件方式和硬件方式。軟件方式是開發(fā)者將TCP/IP協(xié)議嵌入到特定的芯片中,這種方法的優(yōu)點是成本低,但實現(xiàn)較麻煩;硬件方式是直接使用已經(jīng)嵌入了TCP/IP協(xié)議的芯片,如研華的S-7600A,韓國Wiznet公司的Ether-3100,武漢力源公司的WebChip等,使用這些芯片操作簡單,使用方便,但成本太高,利用這些芯片組網(wǎng)動輒幾千元。綜合考慮實現(xiàn)的方便性及設(shè)備的成本問題,這里采用的是軟硬件結(jié)合的方式,即把以太網(wǎng)協(xié)議和TCP/IP協(xié)議寫入到單片機(jī)中,用單片機(jī)驅(qū)動8029網(wǎng)絡(luò)芯片。
2、硬件結(jié)構(gòu)設(shè)計
基于以太網(wǎng)的網(wǎng)絡(luò)化智能傳感器的硬件結(jié)構(gòu)如圖1所示。
其中大虛線框起來部分是以太網(wǎng)絡(luò)接口,實現(xiàn)與遠(yuǎn)程Internet的通訊。復(fù)雜可編程邏輯器件(Complex Programmable Logic Device, CPLD)用于實現(xiàn)單片機(jī)與網(wǎng)絡(luò)芯片8029之間的邏輯轉(zhuǎn)換。RAM作為收發(fā)網(wǎng)絡(luò)數(shù)據(jù)緩沖區(qū),EEPROM用于存放斷電需保存的數(shù)據(jù),如本機(jī)IP地址、網(wǎng)關(guān)IP地址等,這些設(shè)置可在線修改。
3、軟件設(shè)計
這里重點介紹網(wǎng)絡(luò)接口的軟件實現(xiàn)方法。本系統(tǒng)的網(wǎng)絡(luò)接口的實現(xiàn)采用的是軟硬件結(jié)合的方式,微處理器(采用Winbond公司的W78E516單片機(jī))是整個系統(tǒng)的核心。一方面,它要處理外部輸入數(shù)據(jù);另一方面,它既要實現(xiàn)TCP/IP協(xié)議,即根據(jù)IP地址和端口把待發(fā)送的數(shù)據(jù)壓縮成能直接在Internet傳輸?shù)臄?shù)據(jù)包送給網(wǎng)絡(luò)芯片8029發(fā)送,又要根據(jù)8029芯片的邏輯時序,對8029進(jìn)行控制,實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送和接收。
由上分析可知,網(wǎng)絡(luò)接口設(shè)計的關(guān)鍵在于完成對待收發(fā)數(shù)據(jù)的解包打包及實現(xiàn)對8029芯片的控制(即8029驅(qū)動程序的編寫)。
(1)網(wǎng)絡(luò)數(shù)據(jù)的打包解包
將待發(fā)送的數(shù)據(jù)經(jīng)過某種變換,使之符合某種網(wǎng)絡(luò)協(xié)議,即稱之為網(wǎng)絡(luò)數(shù)據(jù)的打包;解包與打包過程相反。限于篇幅,這里只論述網(wǎng)絡(luò)數(shù)據(jù)的打包過程。
TCP/IP體系結(jié)構(gòu)及其與OSI七層模型對照關(guān)系如圖2所示。





