欢迎来到天天文库
浏览记录
ID:40639921
大小:155.96 KB
页数:8页
时间:2019-08-05
《基于DSP的CANopen通讯协议的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于DSP的CANopen通讯协议的实现[作者:马艳歌 贾凯 徐方 转贴自:微计算机信息 点击数:128 更新时间:2008-11-16【字体:A 】AnImplementationofCANopenProtocolBasedonDSPAbstract:CANopenprotocolisanopenapplicationprotocol,theuseofitenhancestheagilityandefficiencyincommunicationandimprovesinteroperabilityandinterchangeability
2、amongproductsfromdifferentmanufacturers.ThispaperdescribesitsimplementationonthecommunicationsystembetweenCAN-busDSPsystemandCANcardinPCsystem.Thereliabilityofcommunicationisverifiedbytestingexperimentandtheresultsillustratethatthissolutioncanensuretheveracityandrealtimefeatureofmot
3、ioncontrolsystem.KeyWords:DSP;CAN-bus;CANopenprotocol;servodriver摘要:CANopen是一种开放的应用层协议,其应用可以进一步提高系统的可靠性、通讯效率及灵活性,而且可以使产品具有很好的兼容性。本文采用CANopen通讯协议实现了CAN总线DSP系统与上位机CAN卡之间的通讯,并通过测试实验验证了信息传递的可靠性,保证了全数字网络化伺服驱动系统中对电机控制的准确性和实时性。关键词:DSP;CAN总线;CANopen协议;伺服驱动1引言CANopen是一个开放的、标准化的应用层协议,在各种控制系统中
4、得到了广泛的应用。依靠CANopen协议的支持,可以对不同CAN厂商的设备通过总线进行实时通讯。本文针对自主研发的全数字电机伺服驱动系统,使用CANopen通讯协议实现了CAN总线数字信号处理器(DSP)系统与上位机CAN卡之间的通讯,并通过测试实验验证了信息传递的可靠性,保证了全数字网络化伺服驱动系统中对电机控制的快速性、准确性和实时性。2通讯系统实现的基本原理2.1LF240x系列DSP的CAN控制器模块LF240x系列DSP的CAN控制器模块,是一个完全的CAN控制器。具有以下特性[6]:(1)完全支持CAN2.0B协议;(2)对象有6个邮箱,用于接收和
5、发送信息,其数据长度为0~8个字节;(3)可编程的中断配置,位定时器及CAN总线唤醒功能;(4)当发送出现错误或仲裁丢失数据时,CAN控制器有自动重发功能;(5)总线错误自诊断功能;(6)支持自测试模式。2.2CANopen协议CANopen协议以CAN芯片为硬件基础,有效利用CAN芯片所提供的简单通信功能区实现工业控制网络的复杂应用层协议要求。应用中应该注意以下几个方面的内容:2.2.1对象字典OD(ObjectDictionary)OD是CANopen协议的核心概念[1],它是一个有序的对象组,每个对象用一个16位的索引值和一个8位的子索引寻址。CANop
6、en网络中的每个节点都有一个OD,包含了描述这个设备和它的网络行为的所有参数。2.2.2CANopen标识符CANopen定义了强制性的缺省标识符(COB-ID)分配表。它是基于11位的CAN-ID,包括4位功能段(FunctionCode)和7位地址段(Node-ID),如图1所示。文献[1]中给出了CANopen预定义主/从连接集CAN标识符分配情况。2.2.3CANopen通讯机制 CANopen通讯模型定义了四种报文(通讯对象)[1]: 1) 管理报文NMT(NetworkManagement)用于网络中主节点对从节点监控和管理。此消息不需要应答。NM
7、T消息格式如表1所示。2)服务数据对象SDO(ServiceDataObject)SDO通过使用索引和子索引来访问一个设备的OD。协议属于确认服务类型。根据传送数据的长度不同,有两种传送机制:加速传送(最多4字节)和分段传送(大于4字节)。发送和应答报文总是包含8字节信息,基本结构如表2所示: 3) 过程数据对象PDO(ProcessDataObject)用于传输正常网络操作中的实时数据。每个PDO在OD中用2个对象描述:PDO通讯参数和PDO映射参数。在此举例说明PDO的使用方法。假设第二个发送PDO映射如表3所示,如果这个报文被发送,则由3字节组成,报文结
8、构如表4所示。 4) 预定义报文或特殊
此文档下载收益归作者所有