北京瑞森同升公司 电话:+86-10-82113379 www.rs-promotion.com.cn
CANopen 名词汇编
北京瑞森同升公司
地址:北京市海淀区北三环西路 43 号二区 50 号楼二层东 201 室
电话:+86-10- 82113379
网址:www.rs-promotion.com.cn
邮箱:info@rs-promotion.com.cn
1
北京瑞森同升公司 电话:+86-10-82113379 www.rs-promotion.com.cn
CANopen 名词汇编
1. CAN - Controller Area Network - 控制器局域网
2. CANopen
3. CiA - CAN in Automation - CAN 国际用户和制造商组织
4. CiA 301
5. Object Dictionary - 对象字典
6. PDO - Process Data Object - 进程数据对象
7. SDO – Service Data Object - 服务数据对象
8. NMT – Network Management –网络 管理
9. Heartbeat - 心跳协议
10. SYNC - 同步对象
11. Emergency - 紧急对象
12. 默认 CAN-ID
13. EDS - Electronic Data Sheet - 电子数据表单
14. CAN-ID – CAN Identifier – CAN 标识符
15. COB-ID – Communication Object Identifier
16. CANopen 的行业规范
1. CAN - Controller Area Network - 控制器局域网
CAN 是德国 Bosch 公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开
发的一种串行数据通信协议。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导
纤维,速率可达 1Mbps,通讯距离可达 10km。CAN 协议的一个最大特点是废除了传统的
站地址编码,而代之以对通信数据块进行编码,使网络内的节点个数在理论上不受限制。
CAN 协议采用 CRC 校验并提供相应的错误处理能力,保证了数据通信的可靠性。由于 CAN
卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此越来越
受到工业界的重视。
CAN 属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。
经过 20 余年的发展,CAN 的应用范围已经遍及高速网络及低成本的多线路网络。在汽车电
子领域的汽车发动机控制部件、传感器、抗滑系统等应用中,CAN 的位速率可高达 1Mbps,
满足了实时性的要求。同时,它可以廉价地用于交通运载工具电气系统中。
ISO 11898系列标准中已对CAN 数据链路层以及一些CAN 物理层进行了国际标准化:
ISO 11898-1 对CAN的数据链路层(DLL) 和物理信令进行了规定;
ISO 11898-2 对传输速率高达1Mbit/s下的高速CAN 进行了规定;
ISO 11898-3 对传输速率介于40kbit/s 和125 kbit/s之间的容错CAN进行了规定;
ISO 11898-4 对时间触发的CAN(TTCAN)进行了规定;
ISO 11898-5 对高速CAN的低耗电模式进行了规定。
2. CANopen
CANopen 是 CAN 网络的一种应用层协议,是目前应用最广泛的嵌入式网络。其应用领
域包括:汽车、车载附加设备、轨道交通、海事电子、航空电子、工程车辆、起重设备、新
能源测控(光电,风能)、注塑机、印刷设备、电梯、门控、海底测量、电动汽车等。
2
北京瑞森同升公司 电话:+86-10-82113379 www.rs-promotion.com.cn
图 A.1: CANopen 网络层次参考模型
CANopen通信的概念和ISO的开放式系统参考模型(OSI)相似。CANopen建立在CAN
数据链路层之上,除了对应用层规范进行定义外,CANopen还专门定义了位定时并且对一
些连接器推荐了管脚定义。
图 A.2: CANopen 设备模块
如上图所示,一个典型的CANopen设备可以被分为 3部分:
●通信部分
●对象字典
●应用部分
通信部分提供在总 线上 收发通信对象的服 务。 对象字典是应用部 分和 通信部分
的接口,它描述了设 备 使用的所有的数据类 型 、通信对象和应用对 象 。应用部分除
了处理硬件接口外还提供设备的内部控制功能。
3. CiA - CAN in Automation - CAN 国际用户和制造商组织
1992年,一些公司创建了非盈利性组织—CAN in Automation (CiA),以提供与CAN相
3
北京瑞森同升公司 电话:+86-10-82113379 www.rs-promotion.com.cn
关的技术、产品和市场营销方面的信息。此项举措旨在提升CAN的形象,并且为CAN协议
未来的发展铺平道路。目前(截至2007年1月)有460多家公司成为国际用户和制造商组织
CiA的成员。CiA作为非盈利性组织在德国Erlangen 注册。CiA的代表积极支持CAN协议的
国际标准化,其成员制定技术规范,并作为CiA的技术标准而出版。CiA 技术规范涵盖物理
层定义以及应用层和设备规范的说明。CiA 组织开展包括在展览会和博览会上设立展位在
内的联合市场营销活动,联合举办研讨会以及与CiA市场营销组织合作推出产品指南和特殊
应用手册。其它的活动还包括为选定国家新加入的成员提供免费的CAN培训和大会演讲。
此外,CiA还提供关于CAN技术方面的公关活动,包括发布新闻稿、技术文献以及应用报告。
4. CiA 301
CANopen应用层及通讯规范,任何CANopen设备都必须满足的部分,它也包括了对NMT
从节点(见图A.11)行为的描述。
5. Object Dictionary - 对象字典
CANopen设 备 描 述 中最重 要 的 部 分 是 对 象 字 典 。 对 象 字 典 是 一 组 对 象 的 集 合 ,
它可以以一种定义好的方式通过网络访问。字典中的每一个对象都用 16位的索引和
8位的子索引编址。
一个对象字典的总的层次结构如下图所示:
表 A.1: 对象字典
标准的对象字典可以包含最大到65536 个入口,这些入口通过一个 16位的主索
引编址,对简单对象而言,该索引所指的值即为该对象的值。
为了能够访问数据结构中的元素,还定义了子索引。对于单个对象字典入口而言,
子索引的值总是为0的。对于包含了多个数据区域的复杂对象如记录和数列而言,子
索引则指出了由主索 引 指出的数据结构内部 的 各个数据区域。子索 引 的概念有助于
我们访问这些独立的数据域。如下图所示:
4
北京瑞森同升公司 电话:+86-10-82113379 www.rs-promotion.com.cn
表 A.2: 主索引和子索引举例
在对象字典主索引1A00h处定义了传输PDO映射参数,在其子索引 0h处定义了
映射对象的数量,01h处定义了1h-8h位输入,以此类推。部分子索引还有其缺省值。
6. PDO - Process Data Object - 进程数据对象
实时数据的传输是通过进程数据对象PDO来完成的。PDO的通信方式可以用生产者/消
费者模式来描述。进程数据(process data)可以从一个设备(生产者)那里发送到另一个
设备(消费者)或许多其它设备(通过广播方式),并且是无确认模式的传输。生产者用专
用的标识符发送一个传输PDO(Transmit-PDO,TxPDO),该标识符与一个或是多个消费者
那里的接收PDO(Receive-PDO,RxPDO)相对应。设备PDO的长度和数量由应用决定,并
且必须在对象字典的设备描述中说明。PDO在对象字典中有入口并且向应用程序提供接口。
一个CANopen设备最多可以有512个TxPDO和512个RxPDO。
3 种 PDO 触发模式
图A.3: PDO3种消息触发模式
如上图,PDO通信区别3种消息触发模式:
1,异步触发模式:当在设备描述中定义的对象专用事件发生时,消息发送被触
发。而定时发送的节点由定时器触发(即定时器到时作为事件)。
2,远程索取模式:当收到另一个设备初始化的远程请求时,设备会发送相应的
PDO。
5
北京瑞森同升公司 电话:+86-10-82113379 www.rs-promotion.com.cn
3,同步触发模式:同步PDO将在由接收的同步对象决定的时间间隔后被触发。
同步PDO的传输可以再细分为循环传输模式和非循环传输模式,如下图
图 A.4: 同 步 和 异 步 PDO
同步循环 PDO 的触发只取决于接收到的同步对象;同步非循环 PDO 除了取决于接
收到的同步对象外,还取决于对象专用事件。
PDO 通信参数
PDO通信 参 数 分为 传 输 PDO通信 参 数 ( 1800h—19FFh) 和接 收 PDO通 信 参 数
(1400h-15FFh)。PDO通信参数说明了PDO的基本特性,如 COB-ID、传输类型、
禁止时间和事件定时器等,它只决定了 PDO是以何种方式发送和接收的。如下图所
示:
6
* If a device supports PDOs, the according PDO communication parameter and PDO mappingentries in the object dictionary are mandatory. These may be read_only.Receive PDO Communication Parameter1400RECORD1st receive PDO ParameterPDOCommParrwM/O*1401RECORD2nd receive PDO ParameterPDOCommParrwM/O*::::::::::::::::::::::::::::::15FFRECORD512th receive PDO ParameterPDOCommParrwM/O*Receive PDO Mapping Parameter1600ARRAY1st receive PDO mappingPDOMappingrwM/O*1601ARRAY2nd receive PDO mappingPDOMappingrwM/O*::::::::::::::::::::::::::::::17FFARRAY512th receive PDO mappingPDOMappingrwM/O*Transmit PDO Communication Parameter1800RECORD1st transmit PDO ParameterPDOCommParrwM/O*1801RECORD2nd transmit PDO ParameterPDOCommParrwM/O*:::::::::::::::::::::::::::::19FFRECORD512th transmit PDO ParameterPDOCommParrwM/O*Transmit PDO Mapping Parameter1A00ARRAY1st transmit PDO mappingPDOMappingrwM/O*1A01ARRAY2nd transmit PDO mappingPDOMappingrwM/O*::::::::::::::::::::::::::::::1BFFARRAY512th transmit PDO mappingPDOMappingrwM/O*
北京瑞森同升公司 电话:+86-10-82113379 www.rs-promotion.com.cn
表 A.3: PDO通 信 参 数
图 A.5:PDO 的 COB-ID
PDO 映射参数
PDO 映 射 参 数 分 为 传 输 映 射 参 数 ( 1A00h—1BFFh ) 和 接 收 映 射 参 数
( 1600h—17FFh) , 它 说 明 了 PDO中 所 包 含 的 应 用 对 象 , 它 只 决 定 了 发 送 或 接 收
的数据。
图A.6: PDO映射
图 A.6: PDO映 射
如上图所示,将应用对象 A、B、C映射到PDO_1中,映射的应用对象数目最多
可以达到64个。PDO映射完成了对象字典和通信部分之间的数据交换。如:我们希
望数字输入(对象字典 6000h)的1h-8h位输入和9h-10h位输入(子索引 01h和02h)
映射到第一个传输PDO映射参数(1A00h)中,必须将以下的值写入 1A00h 中:
7
北京瑞森同升公司 电话:+86-10-82113379 www.rs-promotion.com.cn
子索引(hex) 值(hex)
说明
01
02
6000 01 08
读第一个对象:输入1h-8h bit
6000 02 08
读第二个对象:输入9h-10h bit
7. SDO – Service Data Object - 服务数据对象
表 A4: PDO映 射 举 例
对象字典是应用部分和通信部分的桥梁。CANopen设备的所有数据入口都由对
象 字 典 管 理 。 每 个 对 象 字 典 入 口 都 可 以 用 索 引 和 子 索 引 来 寻 址 。 CANopen定 义 了
SDO来访问这些入口,如下图所示:
图 A.7: 通 过 SDO 访 问 对 象 字 典 1
SDO在对象字典中的描述见下图。
8
** If a device supports SDOs, the according SDO parameters in the Object Dictionary aremandatoryServer SDO Parameter1200RECORD1st Server SDO parameterSDOParameterroO1201RECORD2nd Server SDO parameterSDOParameterrwM/O**::::::::::::::::::::::::::::::127FRECORD128th Server SDO parameterSDOParameterrwM/O**Client SDO Parameter1280RECORD1st Client SDO parameterSDOParameterrwM/O**1281RECORD2nd Client SDO parameterSDOParameterrwM/O**::::::::::::::::::::::::::::::12FFRECORD128th Client SDO parameterSDOParameterrwM/O**1300reserved::::::::::::::::::::::::::::::13FFreserved