完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本文介绍了嵌入式WEB传感器的体系结构,提出了网络化接口中TCP/IP协议栈的几种实现方式,着重探讨了基于TCP/IP协议栈芯片W3100A的网络化接口的实现,最后分析了嵌入式WEB传感器的WEB功能的实现。
|
|
相关推荐
1个回答
|
|
介绍了嵌入式WEB传感器的体系结构,提出了网络化接口中TCP/IP协议栈的几种实现方式,着重探讨了基于TCP/IP协议栈芯片W3100A的网络化接口的实现,最后分析了嵌入式WEB传感器的WEB功能的实现。
嵌入式WEB传感器是在智能传感器的基础上发展起来的具有Internet功能的新型传感器。 其实质是在传统传感器的基础上实现TCP/IP网络通信协议接口,将传感器作为网络节点直接与计算机网络通信。它的组成主要有:敏感单元、智能处理单元和TCP/IP通信协议接口。 图1为嵌入式WEB传感器的体系结构。传统的传感器在嵌入式WEB传感器中只占一部分。核心部分是完成信号处理、数据交换和控制的嵌入式智能单元以及完成数据传输的TCP/IP网络接口。整个传感器的工作机理是:传感器将被测物理量转换为电信号,通过A/D转换为数字信号,经过微处理器的数据处理 (滤波、校准)后将结果传送给网络;与网络的数据交换由基于TCP/IP协议的网络接口模块完成。嵌入式WEB传感器的内部存储器存储传感器的物理特征,如偏移、灵敏度、校准参数等;微处理器实现数据的处理和补偿以及输出校准;TCP/IP协议实现传感器的直接网络连接。与传统的传感器相比,基于Internet的嵌入式WEB传感器更加可靠、便宜,扩展性更好且可以在内部直接对原始数据加工、处理,并通过Internet与外界进行数据交换。因而它具有微型化、网络化和智能化。传感器的网络化接口实现了对Internet或以太网的互连以进行信息的发布和资源共享。其实现方式是嵌入式WEB传感器研究的重点。 网络化接口实现的关键在于TCP/IP通信协议的实现。TCP/IP通信协议的实现方法主要有:采用协议栈移植,针对嵌入式系统,将TCP/IP协议栈移植到系统中,然后调用相关的API函数实现网络通信;不采用移植方式,参照标准的TCP/IP协议精简相应的协议层,编写相关的API函数完成简易的TCP/IP通信;采用协议芯片,如W3100A芯片,该方法直接采用硬件方式实现TCP/IP协议,直接对芯片的寄存器进行设置,实现数据对网络的传送。本文着重探讨采用W3100A芯片实现嵌入式WEB传感器的网络化接口的问题。 1 网络化接口的实现 1.1 W3100A芯片及处理器对其访问的实现 W3100A是一TCP/IP协议栈芯片,包含的各协议层有:TCP、IP、UDP、ICMP和以太网协议的数据链路DLC,以及MAC协议。其工作方式类似于Windows的Socket API。芯片的内部结构示意如图2所示。 该芯片可选择地支持Intel/Motorola MCU接口,另外还提供一个I2C接口给上层应用层,一个MII接口给底层物理层。芯片支持全双工模式,内部带有双口的SRAM数据缓冲区。其封装是64脚的LQFP。 芯片提供寄存器供MCU访问,具体的寄存器分类如下:控制寄存器(命令、状态及中断);系统寄存器(网关地址、子网掩码、IP地址等);用于数据收、发的指针寄存器;通道操作的通道寄存器。 比较重要的几个寄存器如表1所示。 表1 寄存器功能和地址示意图 寄存器名称 地 址 类 型 功 能 C0_CR~C3_CR 0X00~0X03 控制寄存器 完成相应通道套接字的初始化、连接、关闭和数据收发 C0_ISR~C3_ISR 0X04~0X07 控制寄存器 套接字命令的结果情况 IR 0X08 控制寄存器 各个通道套接字和数据接收中断产生情况 IMR 00X09 控制寄存器 控制各中断的屏蔽使能 GAR 0X80~0X83 系统寄存器 用于默认的网关地址的设置 SIPR 0x8E~0X91 系统控制 用于IP地址设置寄存器 RW_PR 每寄存器3字节,具体地址见W3100A数据手册 指针寄存器 接收数据的尾指针,依据数据大小自动调整 RR_PR 指针寄存器 接收数据的首指针 TW_PR 指针寄存器 传送数据的尾指针 TR_PR 指针寄存器 传送数据的当前数据指针 TA_PR 指针寄存器 指示传送数据的首指针 SSR C0:0XA0;C1:0XB8 C2:0XD0;C3:0XEB 通道寄存器 相应通道的套接字状态 SOPR C0:0XA1;C1:0XB9 C2:0XD1;C3:0XE9 通道寄存器 相应通道的协议选择 控制寄存器C0_CR(通道0的命令寄存器),用于通道0套接字(Socket)的初始化、连接、关闭和数据收发,其设置如下: 其中,Sys_init用于设置网关、子网掩码以及IP地址等,1~6位用于通道0套接字的初始化、连接、断开、监听以及数据收发,相应位在命令执行后自动清除。通过套接字协议选择寄存器C0_S0PR设置相应的协议值确定套接字中选用TCP还是UDP。 芯片正常工作必须对其完成相应的初始化。初始化主要是对必要的寄存器进行相应的设置,这些寄存器包括:网关地址寄存器GAR、子网掩码寄存器SMR、硬件地址寄存器SHAR以及IP地址寄存器SIPR等。上述寄存器被设置后通过执行控制寄存器CR的0位Sys_init激活芯片。 1.2 硬件接口及其数据传输 图3 I2C接口示意图 该芯片提供了并口和串口两种方式实现与MCU的通信。图3为基于I2C的串口连接方式。其中MCU为传感器中的处理器,以太网物理层设备选用RTL8201芯片。W3100A提供MII接口与RTL8201相连,其中引脚RX_CLK、RXDV、RXD[0:3]以及COL用于数据的接收,而TX_CLK、TXE、TXD[0:3]用于数据的发送。MCU中提供模拟的I2C接口与W3100A通信。I2C是串行通信总线方式,由数据线SDA和时钟线SCL配合完成通信。 建立TCP连接的具体过程如图4所示。首先完成芯片的TCP/IP初始化,设置相应通道如0通道的协议选择寄存器C0_SOPR为0X01;选择TCP协议,执行通道0命令寄存器C0_CR中的Socket_Init,同时将C0_TW_PR、C0_TR_PR及C0_TA_PR置成同一值;然后执行C0_CR的Connect和Listen命令位,如此TCP连接建立。 2 嵌入式WEB传感器的WEB功能的实现及其在测控系统中的应用 WEB的工作基于客户机/服务器模型,由WEB浏览器和WEB服务器即传感器构成,两者之间采用HTTP协议进行通信。因此在传感器的上层协议应该采用HTTP协议。同时要实现浏览器与嵌入式WEB传感器交互,除了要解决上述TCP/IP通信协议接口外,在传感器中应提供一个EEPROM存储相应的网页文件。交互时,HTTP通过统一资源定位器URL(Uniform Resource Locator)确定传感器应该为浏览器提供哪些资源。为了节省空间,通过一种灵活的Hush算法实现。EEPROM中的每一个文件都有一个不同的Hush值与之相对应,存取时很快可以计算出文件的地址。此外,它可以根据网页中嵌入的特殊标志实现动态网页。即显示实时采集的数据并进行控制操作。 下面是存储在温度传感器中的一个简单的动态网页程序,其中的“@”字符用来在网页中插入温度的标志,网页文件存放在传感器的EEPROM里。当用户发出页面请求时,处理器上的程序在TCP打包时,把温度值嵌入到网页中的“@”字符处,再将网页文件添加相应的HTTP头,返回给请求的用户。如此用户将在浏览器上看到实际的温度显示值。 实时温度监视 现在的温度是: @ 如图5所示,嵌入式WEB传感器和以太网测控网关将同时接到以太网上,实现上层网络终端客户端对其的访问。上层监控级对嵌式WEB传感器访问采用B/S模式,监控级通过其浏览器实现对嵌入式WEB传感器的访问。 本文所提出的网络化接口方案是利用硬件芯片实现TCP/IP协议栈,可以解决当前应用中大量存在的8位MCU实现TCP/IP通信协议的问题。该网络化接口应用到嵌入式WEB传感器上,很好地实现了现场级设备对外部网的接入,实现了信息的共享和发布,同时也扩大了控制的半径。该网络化接口实现方便,具有通用性,应用范围广。 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2544 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2331 浏览 5 评论
3158 浏览 3 评论
2802 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2761 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
608浏览 1评论
853浏览 0评论
967浏览 0评论
620浏览 0评论
447浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 17:41 , Processed in 1.055035 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号