CAN通信协议
一、概览
1.CAN总线协议是一种ISO国际化的串行通信协议,有ISO-11898和ISO-11519两个系列
2.高速CAN和低速CAN的速率分别为:125kbps~1Mbps 、 10~125kbps
3.串行通信:Rx:用于接收数据 Tx:用于发送数据
4.双绞线提高了CAN通信的抗干扰能力
5.CAN_H和 CAN_L线上的电位差来表示CAN信号,分为显性电平(逻辑0)和隐形电平(逻辑1);电压差在1.5V~2.5V之间都可以认为显性电平
6.上述的电位差(差分电平)与逻辑电平由CAN收发器实现;CAN控制器在把相应的信号发送到CPU上。
二、CAN总线特性
1.多主工作方式:在总线空闲的状态下,任意节点都可以向总线上发送信息。最先向总线发送信息的节点获得总线的发送权,如图:
图11说明:0x12优先级高于0x67,所以0x12先于0x67发送;紧接着0x52也要求发送,同样其优先级也高于0x67,所以0x52先于0x67发送,依次类推。
2.非破坏性仲裁机制:具体实现要了解 ‘CAN协议帧结构’ 和 ‘线与机制’ ,‘线与机制’ 就是位于计算。
3.系统的柔软性:与总线相连的节点没有类似于“地址”的信息。因此在总线上增加节点时,连接在总线上的其它节点的软硬件及应用层都不需要改变。
4.通信速度:双方必须需要在同一频道交流,不然沟通就有障碍
5.远程数据请求:可通过发送“遥控帧” 请求其他单元发送数据。
6.信息广播:
信息广播就如:节点A发送一条ID 0x12的信息,然后节点B,C,D都能收到。
三、CAN协议帧结构
CAN协议帧有五种类型
1.CAN帧都有两个格式:标准格式与扩展格式
2.数据帧与遥控帧