当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于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所示。[!--empirenews.page--]


4) 预定义报文或特殊功能报文

定义了三个用于同步,应急指示和时间标记的特定对象。用于配合以上三种通讯机制。

3系统通讯的软、硬件设计

3.1 CAN总线硬件设计

由于TMS320LF2407A芯片内自带了CAN总线控制器模块,使得CAN总线的电路设计变得非常简单。将TMS320LF2407A的CANTX、CANRX引脚和CAN收发器PCA82C250的TXD、RXD引脚相连即可。CAN总线之间需要使用一个合适的终端电阻连接。为了进一步提高系统的抗干扰能力,可以在控制器和传输介质之间加接光电隔离器件6N137。电路原理图如图2所示。



3.2 CANopen协议对象字典OD的建立

本伺服驱动器通讯支持CANopen通讯子协议(DS301)和驱动设备子协议及运动控制命令(DSP-402)。在开发的过程中,根据应用的具体要求,将数字输入/输入模块、电机及驱动设备、控制器、编码器等设备类型及其相应的功能在设备描述的协议中进行了描述。建立的OD分为三个部分:

1) 通讯协议对象(Index 0x1000-0x1AFF)

定义设备类型,错误寄存器,厂商指定状态寄存器,COB-ID同步信息,通讯循环周期,同步CAN信息窗口,以及设备名,软硬件版本号等。另外SDO的通讯参数以及PDO的通讯和映射参数也在该部分定义。本设计中采用固定PDO映射,不允许动态映射。

2) 标准设备子协议对象(Index 0x6000-0x65FF)

定义三类信息:第一类是电机及驱动器的相关设备参数,如类型,厂商信息,分类号等;第二类是命令字和状态字;第三类是位置、速度的相关参数。

3) 厂商指定协议对象(0x2000-0x20FF)

根据厂商需求,灵活定义所使用的变量。 此部分的使用使CANopen协议既保证了设备的通用性,又保证了系统良好的扩展性。

3.3 通讯程序的设计及实现

针对带CAN控制器的TMS320LF2407A和PC机CAN卡之间的通讯进行了软件设计。

TMS320LF2407A的CAN控制器的邮箱2配置为接收方式,邮箱3配置为发送方式。都采用标准信息帧格式(11Bit ID)。其中发送信息采用查询方式,接收信息采用中断方式,邮箱2用低中断优先级。信息传输波特率设置为500Kbps。

采用CANopen协议对设备进行控制的过程可以理解为用SDO对数据字典的读写过程。检测设备对象的状态或查询设备当前信息时,可用SDO读取数据字典中的对象;要对设备发布控制命令可利用SDO向相应的数据字典对象写入数据。接收到信息帧时首先要将其命令字节(byte0)读出,以确定下一步的读写命令处理。

信息帧的接收和发送均采用缓冲区的方式。读操作时,发送信息帧长度为4字节,应答信息帧约定为8字节;写操作时,发送信息帧长度约定为8字节,应答信息帧为4字节。

采用不同的发送邮箱发送数据长度不同的信息帧。本程序设计中,采用邮箱4发送4字节长度的信息帧,采用邮箱5发送8字节长度的信息帧。这种方式可以提高信息传输的效率。软件设计流程图如图3所示。[!--empirenews.page--]



4 测试结果

为了测试CAN总线DSP系统与PC机CAN卡之间的通讯情况,采用VC++编写了友好的人机界面(见图4)。进行通讯测试时,首先要选择通讯端口,设置通讯波特率,ID屏蔽位,信息帧格式及传输数据的格式(十进制或十六进制)。特别需要注意PC端设置的通讯波特率要和DSP端的通讯波特率保持一致。然后打开CAN总线端口,选定发送SDO的功能段及地址段,填写信息帧长度(以字节为单位)及内容,即可进行通讯测试。



例如,要将1号地址的电机轮速期望值设为0x3E8,电机轮速期望值在OD中的索引为0x606B,使用启动域下载协议,加速传输。则设置地址段为1,信息帧长度为8,信息帧内容为2B 6B 60 00 E8 03 00 00。发送成功后返回应答信息帧内容为:ID=581,LENTH=4,DATA=60 6B 60 0 0 0 0 0,说明写入操作正确(见图4)。

要将1号地址的电机轮速期望值读出,即读出OD中的对象0x606B,使用启动域上传协议,服务器使用加速传输方式应答。则设置地址段为1,信息帧长度为4,信息帧内容为40 6B 60 00 00 00 00 00,发送成功后返回应答信息帧内容为:ID=581,LENTH=8,DATA=4B 6B 60 0 E8 03 0 0,说明读取操作正确(见图4)。

5 结束语

本文用CANoen协议实现了CAN总线DSP系统与上位机CAN的通讯,实现了控制系统的数字化、模块化,并保持了系统的可扩展性,为提高伺服驱动系统的智能化水平奠定了坚实的基础。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

立邦不断推动环境友好型涂料的创新研发,并将低温固化粉末涂料产品应用于煤矿设备领域。相较其他粉末涂料,立邦低温固化粉末涂料NPD-ACE -LT系列,全面降低了实现涂料理想固化效果所需的烘烤温度,使之所需的升温时间也大幅减...

关键字: 温度 PD D-A CE

苏州2022年10月13日 /美通社/ -- 北京时间2022年10月13日,开拓药业(股票代码:9939.HK),一家专注于潜在同类首创和同类最佳创新药物研发及产业化的生物制药公司,宣布其联合美国德克萨斯大学...

关键字: 模型 LM EMI PD

默沙东宣布,其PD-1抑制剂帕博利珠单抗(商品名:可瑞达®️)已获得中国国家药品监督管理局批准单药用于既往接受过索拉非尼或含奥沙利铂化疗的肝细胞癌患者的治疗。(医药健闻)...

关键字: PD

上海2022年9月30日 /美通社/ -- 2022年9月30日,君实生物肿瘤免疫高峰论坛暨拓益®(特瑞普利单抗注射液)肺癌适应症全国上市会以线上形式顺利召开。大会汇集中外肺癌大咖学者,荟萃全球肺癌前沿...

关键字: PD CHOICE AC SHEET

北京2022年9月30日 /美通社/ -- 随着信息化的发展,全国医疗职能机构也走向数字化的变革,通过科学管理、建设智能化的医保平台驱动数据价值 , 打造高效、精细、便捷、可靠的服务平台,帮助群众更便利、 高效地就医问诊...

关键字: PD SE 数据中心 触发

歌礼制药有限公司宣布皮下注射PD-L1抗体ASC22(恩沃利单抗)用于慢性乙型肝炎(慢乙肝)功能性治愈的IIb期扩展队列研究已完成首例患者给药。ASC22(恩沃利单抗)是全球临床进度最快的通过阻断PD-1/PD-L1通路...

关键字: PD ASC2 HB

上海2022年9月20日 /美通社/ -- 北京时间2022年9月20日,君实生物(1877.HK,688180.SH)宣布,由公司自主研发的抗PD-1单抗药物特瑞普利单抗注射液(拓益®)联合培美曲塞和铂类适用于...

关键字: PD OS CHOICE AC

摘要:主要介绍了应用DSP的电能质量检测系统的硬件电路及软件开发工具,对采集来的某电铁电流信号进行了电能质量检测,并开展了实际实验尝试。实验结果显示,实际信号含有大量谐波,但通过应用DSP的电能质量检测系统成功检测到了它...

关键字: 电能质量检测 Matlab仿真 DSP

随着生活水平的提高,大家都想从生活压力中释放出来,越来越多的人向往户外运动、露营等,在大自然的拥抱中释放压力,解放自我,从而成为户外旅行火热的原因之一。因此,很多音箱厂商都开始推出针对户外的户外蓝牙音箱。但是市面上的蓝牙...

关键字: PD快充 I2S DSP IC

随着复杂便利生态系统的转型,新品牌将支持不断增长的解决方案,从而满足客户需求 亚特兰大2022年8月26日 /美通社/ -- 提供强大便利零售和石油批发生态系统支柱解决方案...

关键字: PD TECHNOLOGIES 生态系统 COM

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭