基于W3100A的IP荷重传感器设计

   2024-02-18 互联网800

  

  芯片内部提供512 B的控制寄存器存储空间和16 KB的数据存储缓冲器。其中8 KB传输数据缓冲器供Mcu传输数据用,MCU只能写而不能读;8 KB接收数据缓冲器供MCU接收数据用,MCU只能读而不能写。芯片提供寄存器供MCU访问,具体的寄存器分类如下;控制寄存器(命令、状态及中断);系统寄存器(网关地址、子网掩码、IP地址等);用于数据收、发的指针寄存器;通道操作的通道寄存器。各寄存器功能和地址参阅文献。

  3.2 硬件接口及其数据传输

  W3100A提供了并口和串口两种方式实现与MCU的通信。图3为基于12C的串口连接方式。其中MCU为传感器中的处理器,以太网物理层设备选用RTIL8201芯片。W3100A提供MII接口与RTL820l相连,其中引脚RX_CLK、RXDV、RXD[3;O]以及COL用于数据的接收,而TX_CLK、TXE、TXD[3:O]用于数据的发送。MCU中提供模拟的I2C接口与W3lOOA通信。I2C是串行通信总线方式,由数据线SDA和时钟线SCL配合完成通信。

  

  TCP连接分主动连接(TCP客户机模式)和被动连接(TCP服务器模式)。本文主要用到TCP被动连接方式,具体过程如图4所示。首先,要完成芯片的TCP/IP初始化,初始化主要是对必要的寄存器进行相应的设置。这些寄存器包括GAR、SMR、SHAR以及SIPR等。

  

上述寄存器被设置后通过执行控制寄存器CO_CR的0位Sys_iNIt激活芯片。其次,设置相应通道,如0通道,的协议选择寄存器C0_SOPR为0x01,选择TCP协议。执行通道O控制寄存器CO_CR中的Socket_Init,同时将C0_Tw_PR、C0_TR_PR及CO_TA_PR置成同一值。然后执行C0_CR的Connect和Listen命令位,TCP连接建立。

  TCP数据传送和接收要在连接建立后才能进行,通过设置RMSR和TMSR来规定数据缓冲器空间大小。TCP数据传送过程是通过使用C0_TW_PR、CO_TA_PR来进行的,它们的初始值相同。然后MCU根据要传送数据的多少增加C0_TW_PR的值。最后,C0_TW_PR、C0_TA_PR两者之差为空闲数据缓冲器空间大小,执行传送命令,同时增加C0_TA_PR的值,数据传送完毕后它们的值又相同。

  4 传感器系统软件设计

  IP荷重传感器的工作流程是:首先采集荷重信号,其次将信号进行A/D转换后将结果存储在EEPROM中,并可将信号和处理结果嵌入到存储在EEPROM中的事先定制好的网页中供客户机通过Internet访问,同时在本机LCD上显示荷重信号的数据。W31130A的工作方式类似于Windows的Socket API,因此程序是在Cygnal公司的集成开发环境下,把仪器作为服务器,基于Socket API用C语言编写的。对C8051F021而言,由于是用W3100A来完成TCP协议,其程序简单了许多。通信主程序流程如图5所示。

  

  网络配置文件预先存储在EEPR()M中,对于仪器的本地IP地址设置为一个静态IP地址,如果没有一个静态IP地址也可以采用动态主机配置协议(DHCP)来动态获取一个IP地址。

  5 应用实例

  红矾钠是一种重要的无机化工原料。在红矾钠的生产中,配料是一个十分重要的工序。由于配料现场的环境恶劣,带毒粉尘多,噪声大,严重影响工人的身体健康[…。传统的计算机配料系统由于其传感器远传能力有限,对配料系统的远距离监控往往力不从心,因此,开发具有web功能的IP传感器十分必要。基于IP传感器的红矾钠配料系统组成框图如图6所示。

  

  系统中Web的工作基于C/S模型,传感器由Web浏览器和Web服务器构成,两者之间采用HTTP协议进行通信,因此在传感器的上层协议应该采用HTTP协议。同时要实现浏览器与嵌入式Web传感器交互,除了要解决上述TCP/IP通信协议接口外,在传感器中应提供一个EEPROM存储相应的网页文件。交互时,HTTP通过统一资源定位器URL(Uniforrm Resource Locator)确定传感器应该为浏览器提供哪些资源。为了节省空间,通过一种灵活的Hllsh算法实现。EEPROM的每一个文件都有一个不同的Hush值与之相对应,存取时可以很快计算出文件的地址。此外,它可以根据网页中嵌入的特殊标志实现动态网页,即显示实时采集的数据并进行控制操作。

 

 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅