??? 摘? 要: 介紹了嵌入式WEB傳感器的體系結構,提出了網絡化接口中TCP/IP" title="TCP/IP">TCP/IP協(xié)議棧" title="協(xié)議棧">協(xié)議棧的幾種實現(xiàn)方式,著重探討了基于TCP/IP協(xié)議棧芯片W3100A的網絡化接口的實現(xiàn),最后分析了嵌入式WEB傳感器的WEB功能的實現(xiàn)。?
????關鍵詞: 嵌入式WEB傳感器? 網絡化接口
?
??? 嵌入式WEB傳感器是在智能傳感器的基礎上發(fā)展起來的具有Internet功能的新型傳感器。其實質是在傳統(tǒng)傳感器的基礎上實現(xiàn)TCP/IP網絡通信協(xié)議" title="通信協(xié)議">通信協(xié)議接口,將傳感器作為網絡節(jié)點直接與計算機網絡通信。它的組成主要有:敏感單元、智能處理單元和TCP/IP通信協(xié)議接口。?
??? 圖1為嵌入式WEB傳感器的體系結構。傳統(tǒng)的傳感器在嵌入式WEB傳感器中只占一部分。核心部分是完成信號處理、數據交換和控制的嵌入式" title="的嵌入式">的嵌入式智能單元以及完成數據傳輸的TCP/IP網絡接口。整個傳感器的工作機理是:傳感器將被測物理量轉換為電信號,通過A/D轉換為數字信號,經過微處理器的數據處理 (濾波、校準)后將結果傳送給網絡;與網絡的數據交換由基于TCP/IP協(xié)議的網絡接口模塊完成。嵌入式WEB傳感器的內部存儲器存儲傳感器的物理特征,如偏移、靈敏度、校準參數等;微處理器實現(xiàn)數據的處理和補償以及輸出校準;TCP/IP協(xié)議實現(xiàn)傳感器的直接網絡連接。與傳統(tǒng)的傳感器相比,基于Internet的嵌入式WEB傳感器更加可靠、便宜,擴展性更好且可以在內部直接對原始數據加工、處理,并通過Internet與外界進行數據交換。因而它具有微型化、網絡化和智能化。傳感器的網絡化接口實現(xiàn)了對Internet或以太網的互連以進行信息的發(fā)布和資源共享。其實現(xiàn)方式是嵌入式WEB傳感器研究的重點。?
?
?
??? 網絡化接口實現(xiàn)的關鍵在于TCP/IP通信協(xié)議的實現(xiàn)。TCP/IP通信協(xié)議的實現(xiàn)方法主要有:采用協(xié)議棧移植,針對嵌入式系統(tǒng),將TCP/IP協(xié)議棧移植到系統(tǒng)中,然后調用相關的API函數實現(xiàn)網絡通信;不采用移植方式,參照標準的TCP/IP協(xié)議精簡相應的協(xié)議層,編寫相關的API函數完成簡易的TCP/IP通信;采用協(xié)議芯片,如W3100A芯片,該方法直接采用硬件方式實現(xiàn)TCP/IP協(xié)議,直接對芯片的寄存器進行設置,實現(xiàn)數據對網絡的傳送。本文著重探討采用W3100A芯片實現(xiàn)嵌入式WEB傳感器的網絡化接口的問題。?
1 網絡化接口的實現(xiàn)?
1.1 W3100A芯片及處理器對其訪問的實現(xiàn)?
??? W3100A是一TCP/IP協(xié)議棧芯片,包含的各協(xié)議層有:TCP、IP、UDP、ICMP和以太網協(xié)議的數據鏈路DLC,以及MAC協(xié)議。其工作方式類似于Windows的Socket API。芯片的內部結構示意如圖2所示。?
?
?
??? 該芯片可選擇地支持Intel/Motorola MCU接口,另外還提供一個I2C接口給上層應用層,一個MII接口給底層物理層。芯片支持全雙工模式,內部帶有雙口的SRAM數據緩沖區(qū)。其封裝是64腳的LQFP。?
??? 芯片提供寄存器供MCU訪問,具體的寄存器分類如下:控制寄存器(命令、狀態(tài)及中斷);系統(tǒng)寄存器(網關地址、子網掩碼、IP地址等);用于數據收、發(fā)的指針寄存器;通道操作的通道寄存器。?
??? 比較重要的幾個寄存器如表1所示。?
?
?
??? 控制寄存器C0_CR(通道0的命令寄存器),用于通道0套接字" title="套接字">套接字(Socket)的初始化、連接、關閉和數據收發(fā),其設置如下:?
???
??? 其中,Sys_init用于設置網關、子網掩碼以及IP地址等,1~6位用于通道0套接字的初始化、連接、斷開、監(jiān)聽以及數據收發(fā),相應位在命令執(zhí)行后自動清除。通過套接字協(xié)議選擇寄存器C0_S0PR設置相應的協(xié)議值確定套接字中選用TCP還是UDP。其它的寄存器具體內容參閱文獻[3] W3100A數據手冊。?
??? 芯片正常工作必須對其完成相應的初始化。初始化主要是對必要的寄存器進行相應的設置,這些寄存器包括:網關地址寄存器GAR、子網掩碼寄存器SMR、硬件地址寄存器SHAR以及IP地址寄存器SIPR等。上述寄存器被設置后通過執(zhí)行控制寄存器CR的0位Sys_init激活芯片。?
1.2 硬件接口及其數據傳輸?
??? 該芯片提供了并口和串口兩種方式實現(xiàn)與MCU的通信。圖3為基于I2C的串口連接方式。其中MCU為傳感器中的處理器,以太網物理層設備選用RTL8201芯片。W3100A提供MII接口與RTL8201相連,其中引腳RX_CLK、RXDV、RXD[0:3]以及COL用于數據的接收,而TX_CLK、TXE、TXD[0:3]用于數據的發(fā)送。MCU中提供模擬的I2C接口與W3100A通信。I2C是串行通信總線方式,由數據線SDA和時鐘線SCL配合完成通信。?
?
?
??? 建立TCP連接的具體過程如圖4所示。首先完成芯片的TCP/IP初始化,設置相應通道如0通道的協(xié)議選擇寄存器C0_SOPR為0X01;選擇TCP協(xié)議,執(zhí)行通道0命令寄存器C0_CR中的Socket_Init,同時將C0_TW_PR、C0_TR_PR及C0_TA_PR置成同一值;然后執(zhí)行C0_CR的Connect和Listen命令位,如此TCP連接建立。?
?
?
2 嵌入式WEB傳感器的WEB功能的實現(xiàn)及其在測控系統(tǒng)中的應用?
??? WEB的工作基于客戶機/服務器模型,由WEB瀏覽器和WEB服務器即傳感器構成,兩者之間采用HTTP協(xié)議進行通信。因此在傳感器的上層協(xié)議應該采用HTTP協(xié)議。同時要實現(xiàn)瀏覽器與嵌入式WEB傳感器交互,除了要解決上述TCP/IP通信協(xié)議接口外,在傳感器中應提供一個EEPROM存儲相應的網頁文件。交互時,HTTP通過統(tǒng)一資源定位器URL(Uniform Resource Locator)確定傳感器應該為瀏覽器提供哪些資源。為了節(jié)省空間,通過一種靈活的Hush算法實現(xiàn)。EEPROM中的每一個文件都有一個不同的Hush值與之相對應,存取時很快可以計算出文件的地址。此外,它可以根據網頁中嵌入的特殊標志實現(xiàn)動態(tài)網頁。即顯示實時采集的數據并進行控制操作。 ?
??? 下面是存儲在溫度傳感器中的一個簡單的動態(tài)網頁程序,其中的“@”字符用來在網頁中插入溫度的標志,網頁文件存放在傳感器的EEPROM里。當用戶發(fā)出頁面請求時,處理器上的程序在TCP打包時,把溫度值嵌入到網頁中的“@”字符處,再將網頁文件添加相應的HTTP頭,返回給請求的用戶。如此用戶將在瀏覽器上看到實際的溫度顯示值。?
??? ?
??? ?
??? ?
??? ?
??? ?
???
???
?
??? ?
??? ?
??? 如圖5所示,嵌入式WEB傳感器和以太網測控網關將同時接到以太網上,實現(xiàn)上層網絡終端客戶端對其的訪問。上層監(jiān)控級對嵌式WEB傳感器訪問采用B/S模式,監(jiān)控級通過其瀏覽器實現(xiàn)對嵌入式WEB傳感器的訪問。?
?
?
??? 本文所提出的網絡化接口方案是利用硬件芯片實現(xiàn)TCP/IP協(xié)議棧,可以解決當前應用中大量存在的8位MCU實現(xiàn)TCP/IP通信協(xié)議的問題。該網絡化接口應用到嵌入式WEB傳感器上,很好地實現(xiàn)了現(xiàn)場級設備對外部網的接入,實現(xiàn)了信息的共享和發(fā)布,同時也擴大了控制的半徑。該網絡化接口實現(xiàn)方便,具有通用性,應用范圍廣。?
參考文獻?
1 Warrior J. Smart sensor networks in the future. sensors,?1996;(2)?
2 吳仲城.傳感器的發(fā)展方向—網絡化智能傳感器.電子技術應用, 2001;27(2)?
3 WIZnet. Datasheet of W3100A V1.3.?
4 朱文凱.基于Internet的嵌入式WEB傳感器.傳感器技術,?2002;(8)