《CANOpen》 学习笔记4
《现场总线 CANopen 设计与应用》
第一章 通信和设备模型
1.1 通信层和参考模型
- 所有标准的工业通信系统均必须符合国际标准化组织(ISO)所定义的OSI(开放系统互联模型)开放协议标准。CANopen 以涵盖物理层和数据链路层功能的串行总线系统CAN(控制器局域网)为基础,所有的 CANopen 功能均被映射到一个或多个 CAN 报文。
- CAN 控制器中采用的 CAN 协议服务 ISO11898-1 规范标准。它包含的子层有 LLC(逻辑链路控制器),MAC(介质访问控制),PLS(物理信号)。
第二章 物理层
2.1 位定时和位填充
第三章 CAN协议
- 德国 Bosch 公司开发的 CAN 具有以下一些特点:
- 整个网路的范围比较小
- 能够快速传输少量数据
- 具有故障安全性
- 集成错误排除工具
- 成本低
- 串行总线系统多是基于同样的工作方式:待传输的数字信息经过发送次,按序逐个传输到物理媒介上;接收器对物理媒介进行扫描,将串行传输的信息重新转变为系统内部使用的并行数据。各种物理接口的主要区别在于对总线电平的判读方式。
3.1 报文格式
数据帧:
- 帧起始
标识符场(CAN-ID)。在标准格式的数据帧中,标识符场由11位组成,用于表示确定的待传输消息,其数值也作为待传输消息的优先级。
注意:同一个 CAN 网络中,不能够有两个节点同时发送具有相同标识符但却包括不同数据内容的帧。
数据段由 0~64 位组成,包含此帧传输的实际有效信息(0 ~ 8 字节)。通常,数据段的传输都是从第一个字节开始,并且是从每个字节的最高有效位开始。
远程帧可以用来请求有效数据。当一个网络设备的接收器收到一个远程帧时,该设备的发送器就会发送一个用于应答的数据帧。接收到的远程帧与发送出的数据帧应当使用同一个 CAN-ID 标识符。有些型号的 CAN 控制器会在收到远程帧之后自动发送数据帧,而大多数 CAN 控制器必须将远程帧及发送请求提交给微控制器。因此,有微控制器的场合,尽量不要使用远程帧。
第四章 应用层
- CANopen 应用层详细定义了通信服务和其他相关的通信协议。通信对象,过程参数和配置参数一起保存在设备的对象字典中。
- CANopen 的基本服务:
- 请求
- 指示
- 响应
- 确认