传感器设备是工业自动化、仪器仪表及其他生产活动中使用最广泛的设备之一。传感器是获取自然和生产领域中信息的主要途径与手段。早期传感器设备都是直接与控制器进行连接,并且各个传感器设备之间无法进行通信。在一个庞大的控制系统中,可能拥有各种各样的传感器设备,采用传统的点对点通信方式,会导致整个系统布线复杂、运行效率低、维护成本高等缺点。CAN总线的推出使得系统布线得到最大程度的改善,基于CAN总线应用层的DeviceNet协议不仅改变了设备与控制系统之间的通信方式,更增加了设备级的诊断功能。
本期文章将介绍如何利用XGate-DVN10模块设计一款基于DeviceNet从站协议的多功能传感器模块。
广州致远电子有限公司长期致力于DeviceNet产品的研发,推出了一款非常易于使用、稳定可靠的DeviceNet从站协议转换模块——XGate-DVN10。作为通用DeviceNet从站设备,其内部已经集成了从站协议栈代码,且所有功能通过了ODVA的一致性测试软件(A21)的测试,保证了与其他DeviceNet设备的良好兼容性。
XGate-DVN10为DIP24封装,拥有较小的占位面积(6 cm2),使其更容易集成到用户设备中。其硬件设计比较简单,图1所示为XGate-DVN10应用简图,用户只需要将模块嵌入到传感器设备中,与CPU的串口连接便可完成设计。
图1 设计框图
通过本文的介绍,读者可以清楚地了解怎样使用XGate-DVN10设计一款具有DeviceNet从站通信能力的传感器设备。
本文所设计的传感器系统包含了4路温度和8路霍尔传感器信号。温度传感器使用线性度较好的模拟温度传感器,并采用12位的模拟数字转换芯片(A/D)对信号进行采集。霍尔传感器可用于检测磁性物质的位置状态,当具有磁性的物体靠近霍尔传感器时,霍尔传感器会输出一个低电平(0),否则就输出高电平(1)。
硬件设计分为传感器采集部分和XGate-DVN10连接部分,如图2和图3所示。
本设计中使用了 ARM7处理器(LPC2132),其运行速度快,最高可达72 MHz,并且拥有64 KB的Flash程序存储空间以及16 KB的RAM空间,可满足大部分应用场合的需求。模拟数字转换选用12位精度的转换芯片,完成对温度传感器输出信号的采集,并以数字信号的方式提供给处理器。霍尔传感器的输出信号为逻辑电平(0,1),由于其驱动能力较弱,因此在其输出端增加一个I/O驱动器来增强其驱动能力,通常使用总线驱动芯片 74HC245或 74HC244。
XGate-DVN10提供一路串口与CPU进行连接,该串口负责CPU与XGate-DVN10的全部数据交换和传输控制命令,同时LPC2132的I/O端口连接XGate-DVN10的复位引脚,可灵活地对XGate-DVN10进行复位操作。XGate-DVN10提供了节点地址和波特率设置接口,因此使用DIP拨码开关来设置XGate-DVN10的节点地址和波特率。XGate-DVN10同时还提供了设备状态指示灯接口,用于指示当前 XGate-DVN10(DeviceNet从站)的工作状态,并符合DeviceNet规范指示灯标准。
XGate-DVN10支持DeviceNet规范的4种连接类型(位选通、轮询、状态改变/循环),并为每种连接方式分配了最大I/O报文为128 B的内存,内存视图如图4所示。
图4 XGate-DVN10内存视图
XGate-DVN10协议转换模块的内存区大小可由用户自定义,用户可以根据不同的应用场合,选择合适的连接类型和支持的I/O报文长度。
本系统设计的温度范围为0~100℃,温度数据的采集采用12位的A/D转换器,因此每一路的温度需要使用2 B来存放。由于温度发生变化慢,只要在发生变化的时间内进行检测即可,因此采用轮询的通信方式,这样可以灵活地设定轮询通信时间,以降低网络的负载量。霍尔传感器的输出为开关状态,每一路霍尔传感器占用1 bit,因此8路的霍尔传感器只占用1 B,可以采用状态改变连接方式,当霍尔传感器检测到当前状态发生改变,从站主动向主站发送数据,实时性更加得到保证。
用户只需要将温度传感器和霍尔传感器的数据分别写入到XGate-DVN10轮询、状态改变的输入缓冲区,XGate-DVN10就会按照DeviceNet协议的定义对数据进行解析处理,同样来自DeviceNet网络中控制信息也会经过解析之后分别存放于轮询和状态改变数据输出区,用户只需要读出即可。
为了方便用户快速可靠地实现通信,广州致远电子有限公司提供了XGate-DVN10串口协议的驱动源码。用户程序软件操作流程如图5所示。当XGate-DVN10的输出内存区接收到DeviceNet网络中的实时数据之后就会立即向用户MCU产生一个中断,此时用户可以通过UART发送相关命令字读取轮询连接的数据内容,用户可将实时更新的传感器数据写入输入缓冲区,XGate-DVN10自动发送至主站。
图5 XGate-DVN10软件设计流程图
经过以上步骤,快速地实现了一款具有DeviceNet通信能力的温度及霍尔传感器系统,并能与标准的DeviceNet主站或DeviceNet从站进行通信。因此XGate-DVN10的出现,使开发者不用再为开发DeviceNet协议栈而苦恼,DeviceNet产品短期上市也不再是梦想。
广州致远电子有限公司提供各种接口的DeviceNet接口卡、DeviceNet终端设备(包括数据采集,电机控制等)、DeviceNet分析仪、网关及网桥、OPC服务器以及基于DeviceNet协议的整套组网方案及应用开发。