CANOPEN总线的知识点分享

时间:2021-01-22

    CANopen是一个基于CAN(控制局域网)串行总线系统和CAL(CAN应用层)的高层协议。CANopen通讯协议CiADS-301包括周期和事件驱动型通讯,不仅能够将总线负载减少到  限度,而且还能确保极短的反应时间。它可以在较低的波特率下实现较高的通讯性能,从而减少了电磁兼容性问题,并降低了电缆成本。

  CANopen所用的物理介质是符合ISO11898标准,采用分驱动机制和公共反馈的双线总线。总线的  长度取决于通讯速度,具体规定如下:

 

  从理论上来说,  多可以有127个节点。不过,在实际应用中,  节点数量取决于所用CAN收发器的性能。CAN总线线路必须用在CAN-L和CAN-H线之间每端连接的120欧姆(1%,1/4W)电阻来终接,如下所示。

  总线电缆选用有两对双绞线的带屏蔽层电缆:一对双绞线分别接CAN-L和CAN-H,另外一对双绞线直接接GND。

  CANopen的  概念是设备对象字典(OD:ObjectDicTIonary),在其它现场总线(Profibus,Interbus-S)系统中也使用这种设备描述形式。CANopen通讯通过对象字典(OD)能够访问设备的所有参数。

  CAN标识符分配表

 

  注意:

  1、PDO/SDO的发送/接受是由(slave)CAN节点观察的。

  2、一般的器件的CANopen支持4个发送PDO,4个接受PDO。

  服务数据对象SDO

  SDO用来访问一个设备的对象字典。访问者被称作客户(client),对象字典被访问且提供所请求服务的CANopen设备被称作服务器(server)。客户的CAN报文和服务器的应答CAN报文总是包含8字节数据(尽管不是所有的数据字节都一定有意义)。一个客户的请求一定有来自服务器的应答。

  过程数据对象PDO

  PDO用来传输实时数据,数据从一个生产者传到一个或多个消费者。数据传送限制在1到8个字节。PDO通讯没有协议约束(意味着数据内容已预先定义),因此消费者可以在很短的时间内处理完接受到的数据。PDO数据内容只由它的CANID定义,假定生产者和消费者知道这个PDO的数据内容。

  PDO消息的内容是预定义的(或者在网络启动时配置的),映射应用对象到PDO中是在设备对象字典中描述的。如果设备(生产者和消费者)支持动态映射,那么使用SDO报文可以配置PDO映射参数。PDO映射必须遵守以下2个规则:

  1、每个PDO  多可映射4个对象;

  2、每个PDO的长度必须不超过64位。

  PDO映射流程:

  1、设置PDO对应映射参数(如1600h或1A00h)子索引0的内容为0;

  2、修改PDO对应映射参数(如1600h或1A00h)子索引1~4的内容,映射数据;

  3、设置PDO对应映射参数(如1600h或1A00h)子索引0的内容为合法的数字(该PDO映射的对象数)。

  4、PDO映射完成。

  SYNC报文

  同步对象用于控制数据在网络设备间的同步传输,例如同步启动多个轴。同步报文的传输是基于生产者—消费者模型的,所有支持同步PDO的节点都可以作为消费者(同时)接收到此报文,并使用该对象与其他节点进行同步。

  一般应用方式为SYNC主节点定时发送SYNC对象,SYNC从节点收到后同步执行任务。

  CANopen建议用一个  优先级的COB-ID以保证同步信号正常传送。SYNC报文可以不传送数据以使报文尽可能短。

上一篇:什么是电迁移 PCB中的IC电迁移分析
下一篇:二极管温度补偿电路及故障处理

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料