通过对《
现场总线CANopen设计与应用》的学习,总结了一些学习CANopen的知识要点,希望能够对CANopen初学者有所帮助。首先让我介绍一下这本书,原名为德语《CANopen----das
standardisierte
,
eingebttete
Netzwerk》,中文是《现场
总线CANopen设计与应用》。作者,Holger
Zeltwanger
,是CAN总线技术专家,兼任ISO国际标准化组织CAN标准工作组主席,组织领导发布了ISO11898系列标准,是CAN工业的奠基人,1992年创立了CiA组织(CAN
in
Automation)并担任主席至现在。
本书的内容简介
介绍作为工业现场总线协议重要成员之一的CANopen协议和基本原理、规则及相关背景,重点介绍CANopen协议的工作机制,力求向读者展现CANopen协议的概貌,使读者能够理解为什么CANopen需要制定如此的工作流程。全书分为4个部分:
第一部分由第1~3章组成,主要介绍通信的基本通信以及CANopen协议物理层和链路层的基本特性(CAN总线)。
第二部分由第4~5章组成,主要介绍CANopen的基本核心工作机制和CANopen主站设备的特点。
第三部分由第6~8章组成,主要介绍CANopen应用中的设备子协议规范。
第四部分,主要介绍CANopen协议的应用及调试的方法和工具。
闲话少说,直入主题。因为我也算是学习CANopen的小白,主要采用总结归纳知识点的方式来读。以下就是总结了CANopen的主要知识点和一些自己的理解。书看一遍,刚入味,各种不懂;再看一遍,重新理解之前不明白的,整合知识点,将其联系起来。
首先我觉得还是先看一下CAN总线,了解什么叫CAN,即CAN总线的基本定义、基本原理、CAN协议等等,从而了解得知CAN协议主要是针对物理层与数据链路层的协议规范。其中比较重要的知识点有:
CAN总线上的电平;
CAN控制器;
CAN报文的格式、其中数据帧重点熟悉;
CAN总线错误检测等。
然后,再进入《现场总线CANopen设计与应用》的学习。
第一章,了解通信层模型、兼容性等级、以及对象的描述和定义。
兼容性等级包括:不兼容、相容、共存、匹配、合作、兼容、可互换。兼容级别逐渐升高,可互换为最高级。
为了达到各种不同的兼容性等级,所有的过程数据、配置参数的诊断信息都必须用同一个对象模型来描述,CANopen规范用通过3套属性来描述一个对象:
1.对象描述---包括对象名称及其唯一的标识符(索引)
2.入口描述---可以为数组和记录(子索引)
3.值定义描述---详细规定了对象的含义
其中对象的描述与定义中的入口描述里新的理解点是:如果入口描述为变量,其子索引总是00h,数组和记录的子索引00h的数据类型通常为UNSIGNED8,并且是最高子索引