《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 解决方案 > 测量设备CANopen通信的快速实现

测量设备CANopen通信的快速实现

——基于CANopen协议的XGate-COP10应用
2012-02-03
作者:致远电子
来源:来源:电子技术应用2011年第12期

1 引言
    测量设备在日常生活生产中应用非常广泛,例如常见的温度湿度计、电表、汽车仪表等。工业生产现场的控制系统中,控制终端根据各种自动化测量设备测量出的数据对各种现场设备进行相应的控制,这就需要测量设备具有总线通信接口,以连接到控制网络中。CAN总线是测量设备行业中流行且应用成熟的通信方式,基于CAN总线应用层的CANopen协议对测量设备做出了“设备级”的规范(CiA DS404)。
    本期文章将以压力测量仪为例介绍如何利用XGate-COP10模块设计测量设备的CANopen从站接口。
2 XGate-COP10简介
    XGate-COP10是一款CANopen从站协议转换模块,内部集成了CANopen从站协议栈,遵循CiA DS301 V4.02进行设计,其内部集成了网络管理(NMT)、服务数据(SDO)、过程数据(PDO)、错误管理等功能。同时也遵循了DS303-3指示灯以及DS305层设置(LSS)等相关协议,使模块功能更强大。所有的功能均通过CiA提供的一致性测试软件的测试,保证了与其他CANopen设备良好的兼容性。
    XGate-COP10为DIP24封装,拥有较小的占位面积(6 cm2),非常容易集成到用户设备中,其外观如图1所示。

3 压力测量仪CANopen接口硬件设计
    XGate-COP10硬件设计框图如图2所示。

    压力测量仪控制板MCU与XGate-COP10通过串口(TTL电平)进行连接。用户可以使用MCU的一个I/O口连接到XGate-COP10的复位引脚(/RST)实现对模块的复位控制。MCU只需预留1路串口,1个I/O口即可。由于XGate-COP10内部未集成CAN收发器,推荐使用带隔离的CAN收发器模块CTM8251T。XGate-COP10采用的是标准的CANopen协议,可以通过外接DIP开关来设置设备的节点地址和波特率,并通过外接LED指示灯来指示当前模块的CANopen状态。
4 压力测量仪参数资源分配
    对于实时数据,XGate-COP10有96 B输入和96 B输出存储区供用户使用,这些存储区可以用于压力测量仪与其他CANopen设备之间交换各项实时参数。
    对于非实时数据,XGate-COP10提供了直接访问对象字典的串口命令,用户可以通过该命令对模块的对象字典进行读写,实现压力测量仪控制板MCU对CANopen网络非实时参数的访问。
    这样,CANopen主站设备或其他从站设备与压力测量仪之间的通信就变得十分方便。
    (1)资源分配
    压力测量仪相关参数在XGate-COP10存储区的分配情况如表1所示,用户只需要把压力传感器测量出的压力值、超压或欠压告警信息写入到XGate-COP10对应的数据输入存储区,XGate-COP10就会按照CANopen协议的定义对数据进行解析处理并通过TPDO发送到CAN总线上。

 

 

    (2)实时数据传输配置
    XGate-COP10中PDO数据可映射到数据存储区的任意输入输出数据存储区,其数据映射示例如表2所示。


5 压力测量仪控制板MCU对XGate-COP10的操作
    XGate-COP10提供了一个串口与压力测量仪控制板MCU进行连接。为了方便用户快速可靠地实现模块与MCU通信,广州致远电子有限公司提供了XGate-COP10串口协议的驱动源码。用户可将实时更新的数据写入输入缓冲区,XGate-COP10自动发送至主站或者是其他从站设备。用户程序软件操作流程示例如图3所示。

6 结语
  经过以上步骤,快速地实现了压力测量仪的CANopen接口,并能与其他CANopen设备进行通信。XGate-COP10的出现,使开发者不再为开发CANopen协议栈而苦恼,大大缩短了开发周期。相信在XGate-COP10的帮助下,用户能获得更大的成功。
    广州致远电子有限公司提供各种接口的CANopen接口卡、CANopen终端设备(包括数据采集,电机控制等)、CANopen分析仪、网关及网桥、OPC服务器以及基于CANopen协议的整套组网方案及应用开发。

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