新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于W3100A的IP荷重传感器设计

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

——
作者:武汉理工大学 文汉云 莫易敏 时间:2007-01-26来源:《单片机与嵌入式系统应用》收藏

工业生产中,传统测控系统已逐渐由集中式向分散式方向发展。分布在现场的传感器和执行机构的智能越来越强,它们之间也越来越表面出对通信的迫切要求。随着internet的迅速发展,tcp/ip协议正逐渐成为一种世界通用的网络通信协议标准。如果让处于现场的传感器实现tcp/ip协议,也就是把网络连接功能嵌入到现场传感器中,使传统的传感器真正成为一个独立的网络结点,数据采集、信息传输等都能直接在intranet/internet上以web方式进行,既统一了标准,又达到了远程控制和操作的目的[1],基于w3100a的嵌入式ip荷重传感器正是为实现这种目的而设计的。

1 ip荷重传感器结构

嵌入式ip荷重传感器是在智能传感器的基础上发展起来的,具有internet功能的新型传感器。其实质是在传统传感器的基础上实现tcp/ip网络通信协议接口,将传感器作为网络节点直接与计算机网络通信。它的组成主要有:敏感单元、智能处理单元和tcp/ip通信协议接口。

图1为嵌入式ip荷重传感器的结构框图。整个传感器的工作原理如下[2]:传统的传感器将被测荷重信号转换为电信号,先通过a/d转换器转换为数字信号,再经过微处理器的数据处理(滤波、校准)将结果传送给网络;与网络的数据交换由基于tcp/ip协议的网络接口模块完成。嵌入式ip荷重传感器的内部存储器存储传感器的物理特征,如偏移、灵敏度、校准参数等;微处理器实现数据的处理及输出校准;tcp/ip协议实现传感器的网络连接。与传统的传感器相比,基于w3100a的嵌入式ip传感器具有可靠、便宜、扩展性好的优点,而且可以在内部直接对原始数据加工、处理,并通过intranet/internet与外界进行数据交换,因而它具有微型化、网络化和智能化的特点。由于传感器可与intranet/internet互连,因而实现了资源共享。

本文引用地址:http://www.eepw.com.cn/article/20806.htm

2 tcp/ip协议栈的几种实现方案

ip传感器的实现的关键在于网络化接口的设计,而网络化接口实现的关键tcp/ip通信协议的实现。目前,实现的方法有下面两种:

(1)基于软件来实现tcp/ip协议堆栈。通过将tcp/ip协议栈移植到系统中,然后调用相关的api函数实现网络通信。或者不采用移植的方法,参照标准的tcp/ip协议精简相应的协议层,编写相关的api函数完成简易的tcp/ip通信。但是这种方法需要有操作系统、高性能mcu及大容量存储器的支持。

(2)直接采用tcp/ip协议栈芯片。这种方案的主要优点在于,应用系统的设计不必考虑任何网络协议,只需要解决并执行网络芯片传送过来的指令和数据就可以实现与internet网络连接,实现数据对网络的传送,且不需要操作系统的支持。本文基于w3100a芯片的嵌入式ip何重传感器就是采用这种方法实现的。

3 传感器系统硬件设计

3.1 w3100a芯片简介

w3100a是韩国wiznet公司生产的一种tcp/ip协议栈芯片,其中包含的协议层有tcp/(传输控制协议)、ip(网际协议)、udp(用户数据报协议)、icmp(因特网控制报文协议)和协议的dlc(数据链路控制),以及mac协议。该芯片提供2个接口给上层应用层--mcu接口和i2c接口,1个mii(media independent interface)接口给底层物理层。芯片支持全双工4m-5mb/s的数据通信;内部带有双口ram的数据缓冲器,64引脚lqfp封装,内部结构如图2所示。

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

3.2 硬件接口及其数据传输

w3100a提供了并口和串口两种方式实现与mcu的通信[4]。图3为基于i2c的串口连接是方式。其中mcu为传感器中的处理器,以太网物理层设备选用rtl8201芯片,w3100a提供mii接口与rtl8201相连,其中引脚rx_clk、rxdv、rxd[3:0]以及col用于数据的接收,而tx_clk、txe、txd[3:0]用于数据的发送。mcu中提供模拟的i2c接口与w3100a通信。i2c是串行通信总线方式,由数据线sda和时钟线scl配合完成通信。

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



上述寄存器被设置后通过执行控制寄存器c0_cr的0位sys_init激活芯片。其次,设置相应通道,如0通道的协议选择寄存器c0_sopc为0x01,选择tcp协议。执行通道0控制寄存器c0_cr中的socket_init,同时将c0_tw_pr、c0_tr_pr及c0_ta_pr置成同一值。然后执行c0_cr的connect和listen命令位,tcp连接建立。

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

4 传感器系统软件设计

ip荷重传感器的工作流程是:首先采集荷重信号,其次将信号进行a/d转换后将结果存储在eeprom中,并可将信号和处理结果嵌入到存储在eeprom中的事先定制好的网页中供客户机通过internet访问,同时在本机lcd上显示荷重信号的数据。w3100a的工作方式类似于windows的socket api,因此程序是在cygnal公司的集成开发环境下,把仪器作为服务器,基于socket api用c语言编写的。对c8051f021而言,由于是用w3100a来完成tcp协议,其程序简单了许多。通信主程序流程如图5所示。

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

5 应用实例

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

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

结语

基于tcp/ip的嵌入式ip荷重传感器是在计算器技术、信号处理、网络控制等技术的基础上发展起来的。它实现了工业现场的远程控制及远程数据采集,使管理人员和测量人员实现虚拟到场,大大节约了管理成本和管理难度。可以预计,随着网络技术、嵌入式技术和计算技术的进一步发展,internet已成为企业管理层的主导网络,基于tcp/ip协议的以太网会逐渐渗入社会生活的各个角落,并不逐步延伸到工业设备现场。新一代的传感器--ip传感器,将具有广泛的发展前景。

tcp/ip相关文章:tcp/ip是什么




关键词:

评论


相关推荐

技术专区

关闭