關(guān)鍵詞:IP傳感器 網(wǎng)絡(luò)化接口 W31OOA 荷重傳感器
工業(yè)生產(chǎn)中,傳統(tǒng)測(cè)控系統(tǒng)已逐漸由集中式向分散式方向發(fā)展。分布在現(xiàn)場(chǎng)的傳感器和執(zhí)行機(jī)構(gòu)的智能越來(lái)越強(qiáng),它們之間也越來(lái)越表現(xiàn)出對(duì)通信的迫切要求。隨著Intelnet的迅速發(fā)展,TCP/IP協(xié)議正逐漸成為一種世界通用的網(wǎng)絡(luò)通信協(xié)議標(biāo)準(zhǔn)。如果讓處于現(xiàn)場(chǎng)的傳感器實(shí)現(xiàn)TCP/IP協(xié)議,也就是把網(wǎng)絡(luò)連接功能嵌入到現(xiàn)場(chǎng)傳感器中,使傳統(tǒng)的傳感器真正成為一個(gè)獨(dú)立的網(wǎng)絡(luò)結(jié)點(diǎn),數(shù)據(jù)采集、信息傳輸?shù)榷寄苤苯釉贗ntranet/Internet上以Web方式進(jìn)行,既統(tǒng)一了標(biāo)準(zhǔn),又達(dá)到了遠(yuǎn)程控制和操作的目的;赪3IOOA的嵌入式IP荷重傳感器正是為實(shí)現(xiàn)這種目的而設(shè)計(jì)的。
1 IP荷重傳感器結(jié)構(gòu)
嵌入式IP荷重傳感器是在智能傳感器的基礎(chǔ)上發(fā)展起來(lái)的具有Internet功能的新型傳感器。其實(shí)質(zhì)是在傳統(tǒng)傳感器的基礎(chǔ)上實(shí)現(xiàn)TCP/IP網(wǎng)絡(luò)通信協(xié)議接口,將傳感器作為網(wǎng)絡(luò)節(jié)點(diǎn)直接與計(jì)算機(jī)網(wǎng)絡(luò)通信。它的組成主要有:敏感單元、智能處理單元和TCP/IP通信協(xié)議接口。
圖l為嵌入式IP荷重傳感器的結(jié)構(gòu)框圖。整個(gè)傳感器的工作原理如下:傳統(tǒng)的傳感器將被測(cè)荷重信號(hào)轉(zhuǎn)換為電信號(hào),先通過(guò)A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號(hào),再經(jīng)過(guò)微處理器的數(shù)據(jù)處理(濾波、校準(zhǔn))將結(jié)果傳送給網(wǎng)絡(luò);與網(wǎng)絡(luò)的數(shù)據(jù)交換由基于TCP/IP協(xié)議的網(wǎng)絡(luò)接口模塊完成。嵌入式IP荷重傳感器的內(nèi)部存儲(chǔ)器存儲(chǔ)傳感器的物理特征,如偏移、靈敏度、校準(zhǔn)參數(shù)等;微處理器實(shí)現(xiàn)數(shù)據(jù)的處理及輸出校準(zhǔn);TCP/IP協(xié)議實(shí)現(xiàn)傳感器的網(wǎng)絡(luò)連接。與傳統(tǒng)的傳感器相比,基于W3100A的嵌入式IP傳感器具有可靠、便宜、擴(kuò)展性好的優(yōu)點(diǎn),而且可以在內(nèi)部直接對(duì)原始數(shù)據(jù)加工、處理,并通過(guò)Intranet/Internet與外界進(jìn)行數(shù)據(jù)交換,因而它具有微型化、網(wǎng)絡(luò)化和智能化的特點(diǎn)。由于傳感器可與Intranet/Internet互連,因而實(shí)現(xiàn)了資源共享。
2 TCP/lP協(xié)議棧的幾種實(shí)現(xiàn)方案
IP傳感器實(shí)現(xiàn)的關(guān)鍵在于網(wǎng)絡(luò)化接口的設(shè)計(jì),而網(wǎng)絡(luò)化接口實(shí)現(xiàn)的關(guān)鍵在于TCP/IP通信協(xié)議的實(shí)現(xiàn)。目前,實(shí)現(xiàn)的方法有下面兩種:
、倩谲浖䜩(lái)實(shí)現(xiàn)TCP/IP協(xié)議棧。通過(guò)將TCP/IP協(xié)議棧移植到系統(tǒng)中,然后調(diào)用相關(guān)的API函數(shù)實(shí)現(xiàn)網(wǎng)絡(luò)通信;蛘卟徊捎靡浦驳姆椒,參照標(biāo)準(zhǔn)的TCP/IP協(xié)議精簡(jiǎn)相應(yīng)的協(xié)議層,編寫相關(guān)的API函數(shù)完成簡(jiǎn)易的TCP/IP通信。但是這種方法需要有操作系統(tǒng)、高性能MCU及大容量存儲(chǔ)器的支持。
、谥苯硬捎肨CP/IP協(xié)議棧芯片。這種方案的主要優(yōu)點(diǎn)在于,應(yīng)用系統(tǒng)的設(shè)計(jì)不必考慮任何網(wǎng)絡(luò)協(xié)議,只需要解釋并執(zhí)行網(wǎng)絡(luò)芯片傳送過(guò)來(lái)的指令和數(shù)據(jù)就可以實(shí)現(xiàn)與Internet網(wǎng)絡(luò)連接,實(shí)現(xiàn)數(shù)據(jù)對(duì)網(wǎng)絡(luò)的傳送,且不需要操作系統(tǒng)的支持。本文基于W3IOOA芯片的嵌入式IP荷重傳感器就是采用這種方法實(shí)現(xiàn)的。
3 傳感器系統(tǒng)硬件設(shè)計(jì)
3.1 W3100A芯片簡(jiǎn)介
W3100A是韓國(guó)Wiznet公司生產(chǎn)的一種TCP/1P協(xié)議棧芯片,其中包含的協(xié)議層有TCP(傳輸控制協(xié)議)、IP(網(wǎng)際協(xié)議)、UDP(用戶數(shù)據(jù)報(bào)協(xié)議)、ICMP(因持網(wǎng)控制報(bào)文協(xié)議)和協(xié)議的DLC(數(shù)據(jù)鏈路控制),以及MAC協(xié)議。該芯片提供2個(gè)接口給上層應(yīng)用層——MCU接口和I2C接口,1個(gè)MII(Media Independent Interface)接口給底層物理層。芯片支持全雙工4 M~5 Mb/s的數(shù)據(jù)通信;內(nèi)部帶有雙口RAM的數(shù)據(jù)緩沖器,64引腳LQFP封裝,內(nèi)部結(jié)構(gòu)如圖2所示。
芯片內(nèi)部提供512 B的控制寄存器存儲(chǔ)空間和16 KB的數(shù)據(jù)存儲(chǔ)緩沖器。其中8 KB傳輸數(shù)據(jù)緩沖器供Mcu傳輸數(shù)據(jù)用,MCU只能寫而不能讀;8 KB接收數(shù)據(jù)緩沖器供MCU接收數(shù)據(jù)用,MCU只能讀而不能寫。芯片提供寄存器供MCU訪問(wèn),具體的寄存器分類如下;控制寄存器(命令、狀態(tài)及中斷);系統(tǒng)寄存器(網(wǎng)關(guān)地址、子網(wǎng)掩碼、IP地址等);用于數(shù)據(jù)收、發(fā)的指針寄存器;通道操作的通道寄存器。各寄存器功能和地址參閱文獻(xiàn)。
3.2 硬件接口及其數(shù)據(jù)傳輸
W3100A提供了并口和串口兩種方式實(shí)現(xiàn)與MCU的通信。圖3為基于12C的串口連接方式。其中MCU為傳感器中的處理器,以太網(wǎng)物理層設(shè)備選用RTIL8201芯片。W3100A提供MII接口與RTL820l相連,其中引腳RX_CLK、RXDV、RXD[3;O]以及COL用于數(shù)據(jù)的接收,而TX_CLK、TXE、TXD[3:O]用于數(shù)據(jù)的發(fā)送。MCU中提供模擬的I2C接口與W3lOOA通信。I2C是串行通信總線方式,由數(shù)據(jù)線SDA和時(shí)鐘線SCL配合完成通信。
TCP連接分主動(dòng)連接(TCP客戶機(jī)模式)和被動(dòng)連接(TCP服務(wù)器模式)。本文主要用到TCP被動(dòng)連接方式,具體過(guò)程如圖4所示。首先,要完成芯片的TCP/IP初始化,初始化主要是對(duì)必要的寄存器進(jìn)行相應(yīng)的設(shè)置。這些寄存器包括GAR、SMR、SHAR以及SIPR等。
上述寄存器被設(shè)置后通過(guò)執(zhí)行控制寄存器CO_CR的0位Sys_init激活芯片。其次,設(shè)置相應(yīng)通道,如0通道,的協(xié)議選擇寄存器C0_SOPR為0X01,選擇TCP協(xié)議。執(zhí)行通道O控制寄存器CO_CR中的Socket_Init,同時(shí)將C0_Tw_PR、C0_TR_PR及CO_TA_PR置成同一值。然后執(zhí)行C0_CR的Connect和Listen命令位,TCP連接建立。
TCP數(shù)據(jù)傳送和接收要在連接建立后才能進(jìn)行,通過(guò)設(shè)置RMSR和TMSR來(lái)規(guī)定數(shù)據(jù)緩沖器空間大小。TCP數(shù)據(jù)傳送過(guò)程是通過(guò)使用C0_TW_PR、CO_TA_PR來(lái)進(jìn)行的,它們的初始值相同。然后MCU根據(jù)要傳送數(shù)據(jù)的多少增加C0_TW_PR的值。最后,C0_TW_PR、C0_TA_PR兩者之差為空閑數(shù)據(jù)緩沖器空間大小,執(zhí)行傳送命令,同時(shí)增加C0_TA_PR的值,數(shù)據(jù)傳送完畢后它們的值又相同。
4 傳感器系統(tǒng)軟件設(shè)計(jì)
IP荷重傳感器的工作流程是:首先采集荷重信號(hào),其次將信號(hào)進(jìn)行A/D轉(zhuǎn)換后將結(jié)果存儲(chǔ)在EEPROM中,并可將信號(hào)和處理結(jié)果嵌入到存儲(chǔ)在EEPROM中的事先定制好的網(wǎng)頁(yè)中供客戶機(jī)通過(guò)Internet訪問(wèn),同時(shí)在本機(jī)LCD上顯示荷重信號(hào)的數(shù)據(jù)。W31130A的工作方式類似于Windows的Socket API,因此程序是在Cygnal公司的集成開(kāi)發(fā)環(huán)境下,把儀器作為服務(wù)器,基于Socket API用C語(yǔ)言編寫的。對(duì)C8051F021而言,由于是用W3100A來(lái)完成TCP協(xié)議,其程序簡(jiǎn)單了許多。通信主程序流程如圖5所示。
網(wǎng)絡(luò)配置文件預(yù)先存儲(chǔ)在EEPR()M中,對(duì)于儀器的本地IP地址設(shè)置為一個(gè)靜態(tài)IP地址,如果沒(méi)有一個(gè)靜態(tài)IP地址也可以采用動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)來(lái)動(dòng)態(tài)獲取一個(gè)IP地址。
5 應(yīng)用實(shí)例
紅礬鈉是一種重要的無(wú)機(jī)化工原料。在紅礬鈉的生產(chǎn)中,配料是一個(gè)十分重要的工序。由于配料現(xiàn)場(chǎng)的環(huán)境惡劣,帶毒粉塵多,噪聲大,嚴(yán)重影響工人的身體健康[…。傳統(tǒng)的計(jì)算機(jī)配料系統(tǒng)由于其傳感器遠(yuǎn)傳能力有限,對(duì)配料系統(tǒng)的遠(yuǎn)距離監(jiān)控往往力不從心,因此,開(kāi)發(fā)具有web功能的IP傳感器十分必要;贗P傳感器的紅礬鈉配料系統(tǒng)組成框圖如圖6所示。
系統(tǒng)中Web的工作基于C/S模型,傳感器由Web瀏覽器和Web服務(wù)器構(gòu)成,兩者之間采用HTTP協(xié)議進(jìn)行通信,因此在傳感器的上層協(xié)議應(yīng)該采用HTTP協(xié)議。同時(shí)要實(shí)現(xiàn)瀏覽器與嵌入式Web傳感器交互,除了要解決上述TCP/IP通信協(xié)議接口外,在傳感器中應(yīng)提供一個(gè)EEPROM存儲(chǔ)相應(yīng)的網(wǎng)頁(yè)文件。交互時(shí),HTTP通過(guò)統(tǒng)一資源定位器URL(Uniforrm Resource Locator)確定傳感器應(yīng)該為瀏覽器提供哪些資源。為了節(jié)省空間,通過(guò)一種靈活的Hllsh算法實(shí)現(xiàn)。EEPROM的每一個(gè)文件都有一個(gè)不同的Hush值與之相對(duì)應(yīng),存取時(shí)可以很快計(jì)算出文件的地址。此外,它可以根據(jù)網(wǎng)頁(yè)中嵌入的特殊標(biāo)志實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè),即顯示實(shí)時(shí)采集的數(shù)據(jù)并進(jìn)行控制操作。