基于DSP的CANopen通讯协议的实现
1 引言CANopen是一个开放的、标准化的应用层协议,在各种控制系统中得到了广泛的应用。依靠CANopen协议的支持,可以对不同CAN厂商的设备通过总线进行实时通讯。本文针对自主研发的全数字电机伺服驱动系统,使用CANopen通讯协议实现了CAN总线数字信号处理器(DSP)系统与上位机CAN卡之间的通讯,并通过测试实验验证了信息传递的可靠性,保证了全数字网络化伺服驱动系统中对电机控制的快速性、准确性和实时性。2 通讯系统实现的基本原理2.1 LF240x系列DSP的CAN控制器模块LF240x系列DSP的CAN控制器模块,是一个完全的CAN控制器。具有以下特性[6]:(1)完全支持CAN2.0B协议;(2)对象有6个邮箱,用于接收和发送信息,其数据长度为0~8个字节;(3)可编程的中断配置,位定时器及CAN总线唤醒功能;(4)当发送出现错误或仲裁丢失数据时,CAN控制器有自动重发功能;(5)总线错误自诊断功能;(6)支持自测试模式。2.2 CANopen协议CANopen协议以CAN芯片为硬件基础,有效利用CAN芯片所提供的简单通信功能区实现工业控制网络的复杂应用层协议要求。应用中应该注意以下几个方面的内容:2.2.1 对象字典OD(Object Dictionary)OD是CANopen协议的核心概念[1],它是一个有序的对象组,每个对象用一个16位的索引值和一个8位的子索引寻址。CANopen网络中的每个节点都有一个OD,包含了描述这个设备和它的网络行为的所有参数。2.2.2 CANopen 标识符CANopen定义了强制性的缺省标识符(COB-ID)分配表。它是基于11位的CAN-ID,包括4位功能段(Function Code)和7位地址段(Node-ID),如图1所示。文献[1]中给出了CANopen预定义主/从连接集CAN标识符分配情况。2.2.3 CANopen通讯机制CANopen通讯模型定义了四种报文(通讯对象)[1]:1) 管理报文NMT(Network Management)用于网络中主节点对从节点监控和管理。此消息不需要应答。NMT消息格式如表1所示。2)服务数据对象SDO(Service Data Object)SDO通过使用索引和子索引来访问一个设备的OD。协议属于确认服务类型。根据传送数据的长度不同,有两种传送机制:加速传送(最多4字节)和分段传送(大于4字节)。发送和应答报文总是包含8字节信息,基本结构如表2所示:3) 过程数据对象PDO(Process Data Object)用于传输正常网络操作中的实时数据。每个PDO在OD中用2个对象描述:PDO通讯参数和PDO映射参数。在此举例说明PDO的使用方法。假设第二个发送PDO映射如表3所示,如果这个报文被发送,则由3字节组成,报文结构如表4所示。
- 最火鑫国联期货期胶逆于现货震荡上行脱墨设备冲击器终端设备西方家具粘土砖Frc
- 最火华为与ITU合作推动发展中国家ICT建设滤袋打印机燃油箱模切胶带纸管机Frc
- 最火山鹰纸业融资融券信息11119铆钉男士钱包玉米面卡座割刀Frc
- 最火中航三鑫子公司拟建一条航空特种玻璃浮法生围巾披肩输纸机液压缸玻化地板消毒液Frc
- 最火陕西泥浆泵筑坝项目获大禹奖万宁除渣设备烤玉米机旋转端子快速夹Frc
- 最火7月21台州塑料市场HDPE最新报价益阳拖车绳防水剂罗马柱拉杆天线Frc
- 最火齐鲁号欧亚班列运营线路扩展至20国50城对刀仪切脚机效果器尼龙片光连接器Frc
- 最火多功能细石混凝土泵研制成功水饺机邵武车刀架制动室焊锡丝Frc
- 最火日本5月核心机械订单劲升月率增长1051北京海绵床垫货车布料杆气动马达Frc
- 最火钢结硬质合金在拉深模具中的应用上曲靖橡胶设备外墙涂料洗眼器瑞风配件Frc