<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式WEB傳感器的網(wǎng)絡(luò )化接口設計

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

作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹了WEB傳感器的體系結構,提出了網(wǎng)絡(luò )化接口中TCP/IP協(xié)議棧的幾種實(shí)現方式,著(zhù)重探討了基于TCP/IP協(xié)議棧芯片W3100A的網(wǎng)絡(luò )化接口的實(shí)現,最后分析了WEB傳感器的WEB功能的實(shí)現。 關(guān)鍵詞:WEB傳感器 網(wǎng)絡(luò )化接口 嵌入式WEB傳感器是在智能傳感器的基礎上發(fā)展起來(lái)的具有Internet功能的新型傳感器。其實(shí)質(zhì)是在傳統傳感器的基礎上實(shí)現TCP/IP網(wǎng)絡(luò )通信協(xié)議接口,將傳感器作為網(wǎng)絡(luò )節點(diǎn)直接與計算機網(wǎng)絡(luò )通信。它的組成主要有:敏感單元、智能處理單元和TCP/IP通信協(xié)議接口。 圖1為嵌入式WEB傳感器的體系結構。傳統的傳感器在嵌入式WEB傳感器中只占一部分。核心部分是完成信號處理、數據交換和控制的嵌入式智能單元以及完成數據傳輸的TCP/IP網(wǎng)絡(luò )接口。整個(gè)傳感器的工作機理是:傳感器將被測物理量轉換為電信號,通過(guò)A/D轉換為數字信號,經(jīng)過(guò)微處理器的數據處理 (濾波、校準)后將結果傳送給網(wǎng)絡(luò );與網(wǎng)絡(luò )的數據交換由基于TCP/IP協(xié)議的網(wǎng)絡(luò )接口模塊完成。嵌入式WEB傳感器的內部存儲器存儲傳感器的物理特征,如偏移、靈敏度、校準參數等;微處理器實(shí)現數據的處理和補償以及輸出校準;TCP/IP協(xié)議實(shí)現傳感器的直接網(wǎng)絡(luò )連接。與傳統的傳感器相比,基于Internet的嵌入式WEB傳感器更加可靠、便宜,擴展性更好且可以在內部直接對原始數據加工、處理,并通過(guò)Internet與外界進(jìn)行數據交換。因而它具有微型化、網(wǎng)絡(luò )化和智能化。傳感器的網(wǎng)絡(luò )化接口實(shí)現了對Internet或以太網(wǎng)的互連以進(jìn)行信息的發(fā)布和資源共享。其實(shí)現方式是嵌入式WEB傳感器研究的重點(diǎn)。 網(wǎng)絡(luò )化接口實(shí)現的關(guān)鍵在于TCP/IP通信協(xié)議的實(shí)現。TCP/IP通信協(xié)議的實(shí)現方法主要有:采用協(xié)議棧移植,針對,將TCP/IP協(xié)議棧移植到系統中,然后調用相關(guān)的API函數實(shí)現網(wǎng)絡(luò )通信;不采用移植方式,參照標準的TCP/IP協(xié)議精簡(jiǎn)相應的協(xié)議層,編寫(xiě)相關(guān)的API函數完成簡(jiǎn)易的TCP/IP通信;采用協(xié)議芯片,如W3100A芯片,該方法直接采用硬件方式實(shí)現TCP/IP協(xié)議,直接對芯片的寄存器進(jìn)行設置,實(shí)現數據對網(wǎng)絡(luò )的傳送。本文著(zhù)重探討采用W3100A芯片實(shí)現嵌入式WEB傳感器的網(wǎng)絡(luò )化接口的問(wèn)題。1 網(wǎng)絡(luò )化接口的實(shí)現 1.1 W3100A芯片及處理器對其訪(fǎng)問(wèn)的實(shí)現 W3100A是一TCP/IP協(xié)議棧芯片,包含的各協(xié)議層有:TCP、IP、UDP、ICMP和以太網(wǎng)協(xié)議的數據鏈路DLC,以及MAC協(xié)議。其工作方式類(lèi)似于Windows的Socket API。芯片的內部結構示意如圖2所示。 該芯片可選擇地支持Intel/Motorola MCU接口,另外還提供一個(gè)I2C接口給上層應用層,一個(gè)MII接口給底層物理層。芯片支持全雙工模式,內部帶有雙口的SRAM數據緩沖區。其封裝是64腳的LQFP。 芯片提供寄存器供MCU訪(fǎng)問(wèn),具體的寄存器分類(lèi)如下:控制寄存器(命令、狀態(tài)及中斷);系統寄存器(網(wǎng)關(guān)地址、子網(wǎng)掩碼、IP地址等);用于數據收、發(fā)的指針寄存器;通道操作的通道寄存器。 比較重要的幾個(gè)寄存器如表1所示。表1 寄存器功能和地址示意圖 寄存器名稱(chēng)地 址類(lèi) 型功 能C0_CR~C3_CR0X00~0X03控制寄存器完成相應通道套接字的初始化、連接、關(guān)閉和數據收發(fā)C0_ISR~C3_ISR0X04~0X07控制寄存器套接字命令的結果情況IR0X08控制寄存器各個(gè)通道套接字和數據接收中斷產(chǎn)生情況IMR00X09控制寄存器控制各中斷的屏蔽使能GAR0X80~0X83系統寄存器用于默認的網(wǎng)關(guān)地址的設置SIPR0x8E~0X91系統控制用于IP地址設置寄存器RW_PR每寄存器3字節,具體地址見(jiàn)W3100A數據手冊指針寄存器接收數據的尾指針,依據數據大小自動(dòng)調整RR_PR指針寄存器接收數據的首指針TW_PR指針寄存器傳送數據的尾指針TR_PR指針寄存器傳送數據的當前數據指針TA_PR指針寄存器指示傳送數據的首指針SSRC0:0XA0;C1:0XB8C2:0XD0;C3:0XEB通道寄存器相應通道的套接字狀態(tài)SOPRC0:0XA1;C1:0XB9C2:0XD1;C3:0XE9通道寄存器相應通道的協(xié)議選擇控制寄存器C0_CR(通道0的命令寄存器),用于通道0套接字(Socket)的初始化、連接、關(guān)閉和數據收發(fā),其設置如下:其中,Sys_init用于設置網(wǎng)關(guān)、子網(wǎng)掩碼以及IP地址等,1~6位用于通道0套接字的初始化、連接、斷開(kāi)、監聽(tīng)以及數據收發(fā),相應位在命令執行后自動(dòng)清除。通過(guò)套接字協(xié)議選擇寄存器C0_S0PR設置相應的協(xié)議值確定套接字中選用TCP還是UDP。 芯片正常工作必須對其完成相應的初始化。初始化主要是對必要的寄存器進(jìn)行相應的設置,這些寄存器包括:網(wǎng)關(guān)地址寄存器GAR、子網(wǎng)掩碼寄存器SMR、硬件地址寄存器SHAR以及IP地址寄存器SIPR等。上述寄存器被設置后通過(guò)執行控制寄存器CR的0位Sys_init激活芯片。 1.2 硬件接口及其數據傳輸圖3 I2C接口示意圖該芯片提供了并口和串口兩種方式實(shí)現與MCU的通信。圖3為基于I2C的串口連接方式。其中MCU為傳感器中的處理器,以太網(wǎng)物理層設備選用RTL8201芯片。W3100A提供MII接口與RTL8201相連,其中引腳RX_CLK、RXDV、RXD[0:3]以及COL用于數據的接收,而TX_CLK、TXE、TXD[0:3]用于數據的發(fā)送。MCU中提供模擬的I2C接口與W3100A通信。I2C是串行通信總線(xiàn)方式,由數據線(xiàn)SDA和時(shí)鐘線(xiàn)SCL配合完成通信。 建立TCP連接的具體過(guò)程如圖4所示。首先完成芯片的TCP/IP初始化,設置相應通道如0通道的協(xié)議選擇寄存器C0_SOPR為0X01;選擇TCP協(xié)議,執行通道0命令寄存器C0_CR中的Socket_Init,同時(shí)將C0_TW_PR、C0_TR_PR及C0_TA_PR置成同一值;然后執行C0_CR的Connect和Listen命令位,如此TCP連接建立。2 嵌入式WEB傳感器的WEB功能的實(shí)現及其在測控系統中的應用 WEB的工作基于客戶(hù)機/服務(wù)器模型,由WEB瀏覽器和WEB服務(wù)器即傳感器構成,兩者之間采用HTTP協(xié)議進(jìn)行通信。因此在傳感器的上層協(xié)議應該采用HTTP協(xié)議。同時(shí)要實(shí)現瀏覽器與嵌入式WEB傳感器交互,除了要解決上述TCP/IP通信協(xié)議接口外,在傳感器中應提供一個(gè)EEPROM存儲相應的網(wǎng)頁(yè)文件。交互時(shí),HTTP通過(guò)統一資源定位器URL(Uniform Resource Locator)確定傳感器應該為瀏覽器提供哪些資源。為了節省空間,通過(guò)一種靈活的Hush算法實(shí)現。EEPROM中的每一個(gè)文件都有一個(gè)不同的Hush值與之相對應,存取時(shí)很快可以計算出文件的地址。此外,它可以根據網(wǎng)頁(yè)中嵌入的特殊標志實(shí)現動(dòng)態(tài)網(wǎng)頁(yè)。即顯示實(shí)時(shí)采集的數據并進(jìn)行控制操作。 下面是存儲在溫度傳感器中的一個(gè)簡(jiǎn)單的動(dòng)態(tài)網(wǎng)頁(yè)程序,其中的“@”字符用來(lái)在網(wǎng)頁(yè)中插入溫度的標志,網(wǎng)頁(yè)文件存放在傳感器的EEPROM里。當用戶(hù)發(fā)出頁(yè)面請求時(shí),處理器上的程序在TCP打包時(shí),把溫度值嵌入到網(wǎng)頁(yè)中的“@”字符處,再將網(wǎng)頁(yè)文件添加相應的HTTP頭,返回給請求的用戶(hù)。如此用戶(hù)將在瀏覽器上看到實(shí)際的溫度顯示值。 <HTML> <HEAD> <TITLE>實(shí)時(shí)溫度監視</TITLE> </HEAD> <BODY> <center>現在的溫度是:<font size=+2 color=#FF99FF> @ </font></center> <BR></BODY> </HTML> 如圖5所示,嵌入式WEB傳感器和以太網(wǎng)測控網(wǎng)關(guān)將同時(shí)接到以太網(wǎng)上,實(shí)現上層網(wǎng)絡(luò )終端客戶(hù)端對其的訪(fǎng)問(wèn)。上層監控級對嵌式WEB傳感器訪(fǎng)問(wèn)采用B/S模式,監控級通過(guò)其瀏覽器實(shí)現對嵌入式WEB傳感器的訪(fǎng)問(wèn)。 本文所提出的網(wǎng)絡(luò )化接口方案是利用硬件芯片實(shí)現TCP/IP協(xié)議棧,可以解決當前應用中大量存在的8位MCU實(shí)現TCP/IP通信協(xié)議的問(wèn)題。該網(wǎng)絡(luò )化接口應用到嵌入式WEB傳感器上,很好地實(shí)現了現場(chǎng)級設備對外部網(wǎng)的接入,實(shí)現了信息的共享和發(fā)布,同時(shí)也擴大了控制的半徑。該網(wǎng)絡(luò )化接口實(shí)現方便,具有通用性,應用范圍廣。 linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

tcp/ip相關(guān)文章:tcp/ip是什么




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>