《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > 嵌入式WEB傳感器的網(wǎng)絡(luò)化接口設(shè)計(jì)

嵌入式WEB傳感器的網(wǎng)絡(luò)化接口設(shè)計(jì)

2008-09-22
作者:盧偉國(guó) 楊本強(qiáng)

??? 摘? 要: 介紹了嵌入式WEB傳感器的體系結(jié)構(gòu),提出了網(wǎng)絡(luò)化接口中TCP/IP" title="TCP/IP">TCP/IP協(xié)議棧" title="協(xié)議棧">協(xié)議棧的幾種實(shí)現(xiàn)方式,著重探討了基于TCP/IP協(xié)議棧芯片W3100A的網(wǎng)絡(luò)化接口的實(shí)現(xiàn),最后分析了嵌入式WEB傳感器的WEB功能的實(shí)現(xiàn)。?

????關(guān)鍵詞: 嵌入式WEB傳感器? 網(wǎng)絡(luò)化接口

?

??? 嵌入式WEB傳感器是在智能傳感器的基礎(chǔ)上發(fā)展起來(lái)的具有Internet功能的新型傳感器。其實(shí)質(zhì)是在傳統(tǒng)傳感器的基礎(chǔ)上實(shí)現(xiàn)TCP/IP網(wǎng)絡(luò)通信協(xié)議" title="通信協(xié)議">通信協(xié)議接口,將傳感器作為網(wǎng)絡(luò)節(jié)點(diǎn)直接與計(jì)算機(jī)網(wǎng)絡(luò)通信。它的組成主要有:敏感單元、智能處理單元和TCP/IP通信協(xié)議接口。?

??? 圖1為嵌入式WEB傳感器的體系結(jié)構(gòu)。傳統(tǒng)的傳感器在嵌入式WEB傳感器中只占一部分。核心部分是完成信號(hào)處理、數(shù)據(jù)交換和控制的嵌入式" title="的嵌入式">的嵌入式智能單元以及完成數(shù)據(jù)傳輸?shù)腡CP/IP網(wǎng)絡(luò)接口。整個(gè)傳感器的工作機(jī)理是:傳感器將被測(cè)物理量轉(zhuǎn)換為電信號(hào),通過(guò)A/D轉(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ò)接口模塊完成。嵌入式WEB傳感器的內(nèi)部存儲(chǔ)器存儲(chǔ)傳感器的物理特征,如偏移、靈敏度、校準(zhǔn)參數(shù)等;微處理器實(shí)現(xiàn)數(shù)據(jù)的處理和補(bǔ)償以及輸出校準(zhǔn);TCP/IP協(xié)議實(shí)現(xiàn)傳感器的直接網(wǎng)絡(luò)連接。與傳統(tǒng)的傳感器相比,基于Internet的嵌入式WEB傳感器更加可靠、便宜,擴(kuò)展性更好且可以在內(nèi)部直接對(duì)原始數(shù)據(jù)加工、處理,并通過(guò)Internet與外界進(jìn)行數(shù)據(jù)交換。因而它具有微型化、網(wǎng)絡(luò)化和智能化。傳感器的網(wǎng)絡(luò)化接口實(shí)現(xiàn)了對(duì)Internet或以太網(wǎng)的互連以進(jìn)行信息的發(fā)布和資源共享。其實(shí)現(xiàn)方式是嵌入式WEB傳感器研究的重點(diǎn)。?

?

?

??? 網(wǎng)絡(luò)化接口實(shí)現(xiàn)的關(guān)鍵在于TCP/IP通信協(xié)議的實(shí)現(xiàn)。TCP/IP通信協(xié)議的實(shí)現(xiàn)方法主要有:采用協(xié)議棧移植,針對(duì)嵌入式系統(tǒng),將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é)議層,編寫(xiě)相關(guān)的API函數(shù)完成簡(jiǎn)易的TCP/IP通信;采用協(xié)議芯片,如W3100A芯片,該方法直接采用硬件方式實(shí)現(xiàn)TCP/IP協(xié)議,直接對(duì)芯片的寄存器進(jìn)行設(shè)置,實(shí)現(xiàn)數(shù)據(jù)對(duì)網(wǎng)絡(luò)的傳送。本文著重探討采用W3100A芯片實(shí)現(xiàn)嵌入式WEB傳感器的網(wǎng)絡(luò)化接口的問(wèn)題。?

1 網(wǎng)絡(luò)化接口的實(shí)現(xiàn)?

1.1 W3100A芯片及處理器對(duì)其訪問(wèn)的實(shí)現(xiàn)?

??? W3100A是一TCP/IP協(xié)議棧芯片,包含的各協(xié)議層有:TCP、IP、UDP、ICMP和以太網(wǎng)協(xié)議的數(shù)據(jù)鏈路DLC,以及MAC協(xié)議。其工作方式類(lèi)似于Windows的Socket API。芯片的內(nèi)部結(jié)構(gòu)示意如圖2所示。?

?

?

??? 該芯片可選擇地支持Intel/Motorola MCU接口,另外還提供一個(gè)I2C接口給上層應(yīng)用層,一個(gè)MII接口給底層物理層。芯片支持全雙工模式,內(nèi)部帶有雙口的SRAM數(shù)據(jù)緩沖區(qū)。其封裝是64腳的LQFP。?

??? 芯片提供寄存器供MCU訪問(wèn),具體的寄存器分類(lèi)如下:控制寄存器(命令、狀態(tài)及中斷);系統(tǒng)寄存器(網(wǎng)關(guān)地址、子網(wǎng)掩碼、IP地址等);用于數(shù)據(jù)收、發(fā)的指針寄存器;通道操作的通道寄存器。?

??? 比較重要的幾個(gè)寄存器如表1所示。?

?

?

??? 控制寄存器C0_CR(通道0的命令寄存器),用于通道0套接字" title="套接字">套接字(Socket)的初始化、連接、關(guān)閉和數(shù)據(jù)收發(fā),其設(shè)置如下:?

???

??? 其中,Sys_init用于設(shè)置網(wǎng)關(guān)、子網(wǎng)掩碼以及IP地址等,1~6位用于通道0套接字的初始化、連接、斷開(kāi)、監(jiān)聽(tīng)以及數(shù)據(jù)收發(fā),相應(yīng)位在命令執(zhí)行后自動(dòng)清除。通過(guò)套接字協(xié)議選擇寄存器C0_S0PR設(shè)置相應(yīng)的協(xié)議值確定套接字中選用TCP還是UDP。其它的寄存器具體內(nèi)容參閱文獻(xiàn)[3] W3100A數(shù)據(jù)手冊(cè)。?

??? 芯片正常工作必須對(duì)其完成相應(yīng)的初始化。初始化主要是對(duì)必要的寄存器進(jìn)行相應(yīng)的設(shè)置,這些寄存器包括:網(wǎng)關(guān)地址寄存器GAR、子網(wǎng)掩碼寄存器SMR、硬件地址寄存器SHAR以及IP地址寄存器SIPR等。上述寄存器被設(shè)置后通過(guò)執(zhí)行控制寄存器CR的0位Sys_init激活芯片。?

1.2 硬件接口及其數(shù)據(jù)傳輸?

??? 該芯片提供了并口和串口兩種方式實(shí)現(xiàn)與MCU的通信。圖3為基于I2C的串口連接方式。其中MCU為傳感器中的處理器,以太網(wǎng)物理層設(shè)備選用RTL8201芯片。W3100A提供MII接口與RTL8201相連,其中引腳RX_CLK、RXDV、RXD[0:3]以及COL用于數(shù)據(jù)的接收,而TX_CLK、TXE、TXD[0:3]用于數(shù)據(jù)的發(fā)送。MCU中提供模擬的I2C接口與W3100A通信。I2C是串行通信總線方式,由數(shù)據(jù)線SDA和時(shí)鐘線SCL配合完成通信。?

?

?

??? 建立TCP連接的具體過(guò)程如圖4所示。首先完成芯片的TCP/IP初始化,設(shè)置相應(yīng)通道如0通道的協(xié)議選擇寄存器C0_SOPR為0X01;選擇TCP協(xié)議,執(zhí)行通道0命令寄存器C0_CR中的Socket_Init,同時(shí)將C0_TW_PR、C0_TR_PR及C0_TA_PR置成同一值;然后執(zhí)行C0_CR的Connect和Listen命令位,如此TCP連接建立。?

?

?

2 嵌入式WEB傳感器的WEB功能的實(shí)現(xiàn)及其在測(cè)控系統(tǒng)中的應(yīng)用?

??? WEB的工作基于客戶機(jī)/服務(wù)器模型,由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(Uniform Resource Locator)確定傳感器應(yīng)該為瀏覽器提供哪些資源。為了節(jié)省空間,通過(guò)一種靈活的Hush算法實(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)行控制操作。 ?

??? 下面是存儲(chǔ)在溫度傳感器中的一個(gè)簡(jiǎn)單的動(dòng)態(tài)網(wǎng)頁(yè)程序,其中的“@”字符用來(lái)在網(wǎng)頁(yè)中插入溫度的標(biāo)志,網(wǎng)頁(yè)文件存放在傳感器的EEPROM里。當(dāng)用戶發(fā)出頁(yè)面請(qǐng)求時(shí),處理器上的程序在TCP打包時(shí),把溫度值嵌入到網(wǎng)頁(yè)中的“@”字符處,再將網(wǎng)頁(yè)文件添加相應(yīng)的HTTP頭,返回給請(qǐng)求的用戶。如此用戶將在瀏覽器上看到實(shí)際的溫度顯示值。?

??? ?

??? ?

??? ?

??? ?

??? ?

???

現(xiàn)在的溫度是: @
?

???
?

??? ?

??? ?

??? 如圖5所示,嵌入式WEB傳感器和以太網(wǎng)測(cè)控網(wǎng)關(guān)將同時(shí)接到以太網(wǎng)上,實(shí)現(xiàn)上層網(wǎng)絡(luò)終端客戶端對(duì)其的訪問(wèn)。上層監(jiān)控級(jí)對(duì)嵌式WEB傳感器訪問(wèn)采用B/S模式,監(jiān)控級(jí)通過(guò)其瀏覽器實(shí)現(xiàn)對(duì)嵌入式WEB傳感器的訪問(wèn)。?

?

?

??? 本文所提出的網(wǎng)絡(luò)化接口方案是利用硬件芯片實(shí)現(xiàn)TCP/IP協(xié)議棧,可以解決當(dāng)前應(yīng)用中大量存在的8位MCU實(shí)現(xiàn)TCP/IP通信協(xié)議的問(wèn)題。該網(wǎng)絡(luò)化接口應(yīng)用到嵌入式WEB傳感器上,很好地實(shí)現(xiàn)了現(xiàn)場(chǎng)級(jí)設(shè)備對(duì)外部網(wǎng)的接入,實(shí)現(xiàn)了信息的共享和發(fā)布,同時(shí)也擴(kuò)大了控制的半徑。該網(wǎng)絡(luò)化接口實(shí)現(xiàn)方便,具有通用性,應(yīng)用范圍廣。?

參考文獻(xiàn)?

1 Warrior J. Smart sensor networks in the future. sensors,?1996;(2)?

2 吳仲城.傳感器的發(fā)展方向—網(wǎng)絡(luò)化智能傳感器.電子技術(shù)應(yīng)用, 2001;27(2)?

3 WIZnet. Datasheet of W3100A V1.3.?

4 朱文凱.基于Internet的嵌入式WEB傳感器.傳感器技術(shù),?2002;(8)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。