CANopen从站设备的快速实现方法
电子产品世界
摘要: CANopen协议作为CAN总线的应用层协议,拥有复杂的网络管理、实时过程数据对象、服务数据对象、预定义连 ...
Abstract:
Key words :

     CANopen协议作为CAN总线的应用层协议,拥有复杂的网络管理、实时过程数据对象、服务数据对象、预定义连接和特殊功能对象等基本功能,另外CANopen协议还定义了指示灯规范、通信安全架构、在线配置、以及EDS文件规范、标准设备规范等一系列的协议规范。因此开发基于CANopen协议的设备有着非常高的难度以及较长的开发周期。

    为了解决CANopen产品开发难的问题,广州致远电子有限公司开发的一款嵌入式CANopen从站协议转换模块——XGate-COP10,转换为UART接口,支持CANopen标准协议DS301、DS302、DS303、DS305。XGate-COP10为CANopen从站协议转换模块,其内部已经集成了CANopen从站协议栈代码,不需要二次开发,可快速方便的使现有设备具有CANopen通信能力。该模块具有如下所示的功能特点:

    网络管理服务对象(NMT:Boot up, Node Guarding /Life guarding,Heartbeat Producer);

    过程数据对象(TPDO与RPDO);

    服务数据对象(SDO服务器);

    紧急报文对象(Emergency );

    同步报文对象(Sync);
 
    网络配置对象(LSS从站);

    串口通信能力(UART);

    96字节的输入输出数据缓冲(I/O);

    CAN总线支持5k~1Mbit/s的波特率;

    体积小,18mm×31mm(DIP24封装)。
 
    硬件设计


    图1 所示为XGate-COP10在用户系统中的典型应用,其中用户CPU通过UART(TTL电平)与XGate-COP10进行通信,通过UART用户可以方便的读取或写入XGate-COP10的输入输出数据区,实现应用数据与CANopen主站设备的交换。

    由于XGate-COP10模块中未集成有CAN收发器,因此该原理图采用了CTM8251T隔离收发器,这样可保证CAN通信的稳定可靠,也实现了整个系统与CAN总线的电气隔离。

    软件设计

    XGate-COP10的软件设计,重点在于用户CPU与XGate-COP10的UART通信的建立(即完成XGate-COP10所规定的串口通信协议),在XGate-COP10中,对串口数据进行了简单的协议封装,实现了对XGate-COP10的既定操作。

    如图2所示为操作XGate-COP10软件流程图。首先,用户需要对XGate-COP10模块进行相应的初始化操作,例如写入用户设备信息(必需)、节点地址(可选)和波特率(可选)等操作。其次,只有在XGate-COP10处于操作状态时,与XGate-COP10进行的数据交换才有效。为了方便用户快速的使用XGate-COP10,致远电子提供了UART通信协议源代码,用户可直接在常用的单片机上使用,也可以稍作修改在特殊的单片机上使用。

通知公告
编辑观点
理事会
参考资料
版权声明

凡《网络安全与数据治理》(原《信息技术与网络安全》)录用的文章,如作者没有关于汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权等版权的特殊声明,即视作该文章署名作者同意将该文章的汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权授予本刊,本刊有权授权本刊合作数据库、合作媒体等合作伙伴使用。同时,本刊支付的稿酬已包含上述使用的费用,特此声明。

《网络安全与数据治理》(原《信息技术与网络安全》)编辑部