现场总线CANopen学习笔记一

更新时间:2024-05-15 16:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

广州虹科电子科技有限公司

现场总线CANopen学习笔记一

通过对《现场总线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 协议的应用及调试的方法和工具。

很荣幸,我手上看的这本书是Holger 亲笔签名的书,读起来的感觉就是不一样。哈哈。闲话少说,直入主题。因为我也算是学习CANopen 的小白,主要采用

广州虹科电子科技有限公司

总结归纳知识点的方式来读。以下就是总结了CANopen的主要知识点和一些自己的理解。书看一遍,刚入味,各种不懂;再看一遍,重新理解之前不明白的,整合知识点,将其联系起来。

首先我觉得还是先看一下CAN总线,了解什么叫CAN ,即CAN总线的基本定义、基本原理、CAN协议等等,从而了解得知CAN协议主要是针对物理层与数据链路层的协议规范。其中比较重要的知识点有:1.CAN总线上的电平;2.CAN控制器;3.CAN报文的格式、其中 数据帧重点熟悉; 4.CAN总线错误检测等。然后,再进入《现场总线CANopen设计与应用》 的学习。

第一章,了解通信层模型、兼容性等级、以及对象的描述和定义。

兼容性等级包括:不兼容、相容、共存、匹配、合作、兼容、可互换。兼容级别逐渐升高,可互换为最高级。

为了达到各种不同的兼容性等级,所有的过程数据、配置参数的诊断信息都必须用同一个对象模型来描述,CANopen规范用通过3套属性来描述一个对象: 1.对象描述---包括对象名称及其唯一的标识符(索引) 2.入口描述---可以为数组和记录(子索引) 3.值定义描述---详细规定了对象的含义

其中对象的描述与定义中的入口描述里新的理解点是:如果入口描述为变量,其子索引总是00h,数组和记录的子索引00h的数据类型通常为UNSIGNED8, 并且是最高子索引。

第二章,物理层主要有位定时和位填充、高速收发器、网络拓扑结构、连接器。

广州虹科电子科技有限公司

CANopen 的物理层相当于CAN控制器中采用的子层PLS(物理信号)、MAU(介质访问单元)和MDI(介质专用接口),这些子层均位于驱动模块中并通过连接器和电缆实现。主要知识点

(1)位定时其实就是针对各种不同的数据传输速率设定的采样点。分为4个部分:同步段、传播段、相位段1和相位段2。而位定时的采样点恰好介于相位段1和2之间。

(2)位填充可以表示为5个相同极性的位后面插入一个不同极性的填充位,而根据第3章里报文格式中得知,位填充只适合对帧起始SOF 到CRC场之间的范围内的数据进行处理。填充位可以由接收CAN控制器自动去除填充,因此CAN报文物理层上的长度取决于待传输的位格式。

(3)收发器芯片具有一个Rx引脚和一个Tx引脚,这些引脚可直接将二进制信号输入到CAN控制器中或微控制器中的CAN模块,CAN_H CAN_L端口直接与两条总线导线连接。另外用户可以利用一个外部电阻,通过一个可选端口来改变脉冲沿斜率。

(4)网络拓扑结构 ISO11898-2 标准规定了一种带2个终端电阻的线性总线结构,在总线两端接上终端电阻可以避免导线上的信号反射。注意终端电阻的使用,总线导线的长度和类别选择。连接器采用9针D-Sub连接器的引脚分布。

第三章,主要有报文格式 和 错误的检测、限制和处理。 3.1 报文格式

CAN 规范定义,隐性电平的逻辑为1,显性电平逻辑为0. 有一个助记的是:显灵(显零),记住一个,另一个当然知道是隐1了。

广州虹科电子科技有限公司

CAN总线上传输的帧有4个类型:数据帧、远程帧、错误帧、超载帧。 标准格式的数据帧组成:

---帧起始(SOF):指示一个数据帧和远程帧的开始,包含一个确定的显性位。 ---标识符场(CAN-ID):标识符场由11位组成,用于表示确定的待传输消息,数值作侍传输消息的优先级。

---远程传输请求位(RTR):用于区分数据帧还是远程帧。当为显性时传输数据帧,隐性为远程帧。

---控制段:由6位组成,其中有4位DLC (数据长度代码)。DLC表示此帧在数据段中的传输字节数。

---数据段:0~8字节,包含此帧传输的实际有效信息。 ---CRC段:循环冗余校验。用来识别是否接收错误的数据。

---应答段:应答间隙位的电平值可以用来提示本网络中没有接收器正确收到了当前发送的消息。

---帧结束: 由7位隐性电平的位组成。

帧间空间(ITM)已经不属于前一条帧的组成单元。

远程帧建议不使用,就不再详细介绍。

广州虹科电子科技有限公司

错误帧: 主动错误标志由6个连续显性电平的位组成,这违反了CAN填充规则,所以网络中所有的设备都可以识别出这种错误标志。由主动错误标志转为被动错误标志。错误界定符由8个隐性电平位组成,用于结束错误帧。

过载帧:假如在错误界定符里出现位错误,就会发送一个过载帧。

通常由尚未处理完上一帧消息的CAN控制器发出,可以用于延迟网络中其他设备发送下一条消息。过载标志由6个连续显性电平位组成,且必须在帧空间ITM的前两个位之内开始。 过载界定符由8个隐性电平组成,用于结束过载帧。 过载帧不会影响错误计数器的读数,这接收错误计数器REC在发送过载标志检测到的位错误 REC不加1的原因吧。

CAN位信息的传输使用不归零编码(NRZ)的方式。

NRZ:信号电平的一次反转代表1,电平不变化表示0,并且在表示完一个码元后,电压不需回到0. 好处是 在一个位时间间隔里,只需要进行一次扫描就可以检测到电平。缺点是当出现一些极性相同的连续位时,没有可用的信号边沿来同步接收器。CAN总线仲裁与填充原理需要注意。 位填充机制:

本文来源:https://www.bwwdw.com/article/his7.html

Top