《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 基于IEEE1451.2标准的接口模块的实现

基于IEEE1451.2标准的接口模块的实现

2008-05-05
作者:赵仕俊,郑明军

  摘 要: 利用ADμC831和TMS320F206的片上资源定义了完整的TEDS,并通过μIP协议建立了带有CGI功能的嵌入式" title="的嵌入式">的嵌入式Web服务器,利用两个芯片丰富的外部接口定义了TII标准接口,从而实现了基于IEEE1451.2标准的嵌入式Web接口模块" title="接口模块">接口模块,为基于IEEE1451标准的嵌入式Web应用提供了一种简单的实现方法。
  关键词: IEEE1451.2标准 TEDS TII接口 μIP协议 嵌入式Web服务器


  为了实现控制总线的统一,在1997年和1999年IEEE先后颁布了IEEE1451.2标准和IEEE1451.1标准。IEEE1451.1标准定义了网络独立的信息模型,使传感器/执行器" title="执行器">执行器通过网络匹配处理器NCAP(Network Capable Application Processor)连接到控制网络;IEEE1451.2标准定义了一个智能变送器接口模块STIM(Smart Transducer Interface Module),主要包括电子数据表单TEDS(Transducer Electronic Data Sheet)和与传感器无关的标准接口TII(Transducer Independent Interface)。
  目前,市场上基于IEEE1451标准的传感器/执行器不多,仅有的产品也只是借用了IEEE1451标准的部分内容,例如定义了部分的TEDS或是没有完全按照标准定义TII接口。本设计严格按照IEEE1451.2标准,在ADμC831和TMS320F206上分别实现STIM模块和NCAP模块,并且定义了标准的TII接口。
1 接口模块的硬件设计
1.1 ADμC831芯片

  ADμC831单片机是美国AD公司出品的高性能微转换器,集成了8通道的自校准12位ADC、2个支持PWM输出的12位DAC以及与8051兼容的可编程8位MCU。片内资源为62KB的闪速" title="闪速">闪速程序存储器、4KB的闪速数据存储器以及2304B的RAM。片内集成看门狗定时器(WDT)、电源监视器(PSM)和可用于温度补偿的温度传感器。另外,为多处理器接口和I/O扩展提供了32条可编程的I/O线、I2C兼容的SPI和标准UART串行端口。
1.2 TMS320F206
  TMS320F206芯片是美国TI公司生产的一款16位定点DSP,采用高性能静态CMOS集成电路工艺制造。它操作灵活、性价比高,已广泛应用于图形图像处理、语音处理、通信及仪器仪表等领域。
  F206采用先进的改进型哈佛结构,其程序存储器和数据存储器具有各自的总线结构,结合四级流水线操作,两条总线独立编址、独立访问,可允许同时读取数据和指令,从而使数据的吞吐率提高了一倍。F206集成了一个4.5K字的片内RAM存储器、32K字的闪速FLASH存储器,可用于存储程序和数据文件。
1.3 总体设计
  本设计严格遵循IEEE1451.2标准,采用高性能的单片机ADμC831实现STIM模块的功能,在其上建立完整的TEDS,可以同时控制8路传感器和2路执行器;采用TMS320F206和以太网控制芯片RTL8019AS实现NCAP模块的功能,在其上建立嵌入式Web服务器以响应远程访问;在两个模块之间设计2×5的标准TII接口,以实现两个模块的连接。其设计原理图如图1所示。


1.4 TII接口设计
  TII是用于连接NCAP和STIM的点对点、时钟同步的标准接口,共有10个引脚。本设计按照IEEE1451.2标准的定义,利用ADμC831、TMS320F206的I/O和中断接口,实现了TII标准接口,其具体含义如表1所示。

  其中NIOE在ADμC831端为从机选择信号,当其低电平有效时表示处于从机状态,接收外部串行时钟信号以实现数据同步传输,所以F206应通过IO3输出低电平;F206通过IO2触发ADμC831的INT0,在中断程序中实现数据采集和执行器控制;F206的/INT2端与STIM模块断开时为高电平,当与STIM模块连接时,在STIM模块上通过10kΩ电阻接地将之拉至低电平,从而触发中断,而在中断程序中改写标志位,使NCAP确认STIM的存在;当STIM模块需要服务时,通过NINT通知F206的IO1,在NCAP模块的主程序中会查询此端口的状态以判断是否需要对STIM模块服务。
2 STIM模块中TEDS的定义
  TEDS是IEEE1451.2标准的核心,它完整详细地描述了STIM所支持的传感器/执行器的类型、操作和属性,并具有自动识别这些传感器/执行器的能力。鉴于ADμC831内置了62KB的闪速程序存储器、4KB的闪速数据存储器以及2304B的RAM,资源丰富,所以在TEDS.c文件中完整地定义了TEDS的8个部分,具体定义如表2所示。


3 NCAP模块的软件设计
3.1 软件设计方法

  为了实现因特网连接,使用μIP协议实现底层网络设备与上层应用程序之间的连接。本设计中μIP协议将ARP协议、IP协议、ICMP协议和TCP协议合为一个有机的整体,通过一系列接口函数" title="接口函数">接口函数与底层网络设备和上层应用程序通信。μIP提供了μip_input()和μip_periodic()两个接口函数给底层网络设备,结合RTL8019AS建立与因特网的连接及数据传输;μIP向应用程序提供了一个接口函数UIP_APPCALL(),将其定义为嵌入式Web服务器程序,从而可以在处理网络数据包时调用Web服务器程序,使远端用户通过Web浏览器(例如IE)便可对NCAP模块上的数据进行读取和改写,从而实现对STIM模块上的传感器/执行器的数据采集和控制。
  为了实现对传感器/执行器的互动操作,在Web服务器上需要有运行外部程序的接口,即CGI(Common Gate Intergace),以便提供动态网页。μIP提供的源代码中包括一个WebServer示例,其中一个很小的脚本语言可以实现CGI的功能。这个脚本语言规定每一个脚本行以一个命令字符开头,例如“i”、“t”、“c”、“#”或者“.”,其语法规则是:
  (1)“i”命令通知脚本解释器从文件系统取出一个静态文件并输出到浏览器;
  (2)“t”命令表示将随后的一段文字输出到浏览器;
  (3)“c”命令用来从cgi.c中调用一个C函数;
  (4)“#”命令表示本行为注释行;
  (5)“.”命令表示本行是最后一行脚本语言。
  利用这个脚本语言生成的动态网页的代码示例如下:
  /code             /*表示代码开始*/
  i/ header.html        /*将header.html文件输出到浏览器*/
  t〈H1〉测试页面〈/H1〉     /*将“测试页面”作为标题输出到浏览器*/
  c open /index.html      /*调用open函数,对index.html文件操作*/
  ./*表示本行是最后一行脚本语言,退出脚本解释器*/
  /endcode           /*表示代码结束*/
3.2 主程序的实现
 NCAP模块没有使用嵌入式操作系统,可以进一步节约资源。主程序采用中断加轮询的方式,除了看门狗WDT外,其余中断(包括STIM模块的触发中断)只设定标志位以控制程序流程。
 在程序中轮询有无网络数据包输入。如果没有则检测定时轮询中断是否发生,如果发生则调用μip_periodic()轮询各连接,检查是否有数据要发送,如果有则构造IP包并发送出去。
 如果有数据包输入则判断数据包的种类,如果是ICMP包只需要把类型字段从“echo”类型改变为“echo reply”类型,调整ICMP 校验和,并互换IP 数据包头中的目的地址和源地址,把包发回到发送方,从而实现对ping功能的支持。如果是TCP包,则利用μIP的μip_input()做相(接上页)
 应处理,并通过调用函数UIP_APPCALL()访问Web服务器,在Web服务器上判断是传送静态网页还是通过CGI对传感器/执行器进行操作。
 主程序的流程图如图2所示。


 经过实验证明,合理利用ADμC831和F206的片上资源以及μIP协议的接口函数,可以实现一个基于IEEE1451.2标准的、功能较为完善的嵌入式Web接口模块。此模块适用于智能仪器仪表和远程控制系统,为建立网络测控系统提供一种简便的实现方案。
参考文献
1 The ADμC812 as an IEEE1451.2 STIM.MicroConverterTM Technical Note-uC003.www.analog.com/microconverter
2 邓治国,张维新.μIP TCP/IP协议栈在51系列单片机上的应用.微计算机信息,2004;20(3):88~90
3 μIP0.9.协议栈网络站点.http://dunkels.com/adam/uip/

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。