CAN 是 Controller Area Network 控制器局域网络的缩写
CAN是Bosch公司为了解决现代汽车众多ECU之间数据交换而被提出
CAN 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发
送方通过使总线电平发生变化,将消息发送给接收方。
逻辑0 代表”显性电平”
逻辑1代表”隐性电平”
高速CAN(125kbps-1Mbps)
用在发动机控制,变速箱控制,刹车,行驶稳定系统ESP
低速CAN(小于125kbps)
用在舒适系统和车身系统
1 CAN总线为什么要有两个120Ω的终端电阻?
2 终端电阻的作用是使阻抗连续,消除反射,
通信速度越快,可支持的总线长度越短
CAN协议描述的是物理层和数据链路层 和can有关的有MCU和can控制器和can收发器。比如stm32芯片集成了MCU和can控制器,再使用恩智浦的can收发器通信矩阵
结论:每一个can id的报文只有可能被唯一的ECU发出
CAN报文的结构
标准帧和扩展帧
标准帧分为帧起始,仲裁域,控制域,数据域,CRC,ACK,帧结尾
仲裁-优先级的决定
在总线空闲态,最先开始发送消息的单元获得发送权。
多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行仲裁。连续输出显性电平最多的单元可继
续发送。
仲裁-标准格式和扩展格式的优先级
标准格式 ID 与具有相同 ID 的遥控帧或者扩展格式的数据帧在总线上竞争时,标准格式的 RTR 位为显性位
的具有优先权,可继续发送。
位填充
位填充是为防止突发错误而设定的功能。
当同样的电平持续 5 位时则添加一个位的反型数据。
(1) 发送单元的工作
在发送数据帧和遥控帧时,SOF~CRC 段间的数据,相同电平如果持续5 位,在下一个位(第
6 个位)则要插入 1 位与前 5 位反型的电平。
(2) 接收单元的工作
在接收数据帧和遥控帧时,SOF~CRC 段间的数据,相同电平如果持续
5 位,需要删除下一个位(第6 个位)再接收。如果这个第 6
个位的电平与前5 位相同,将被视为错误并发送错误帧。
错误的种类回读机制
发1,读1 正常
发0,读0 正常
发1,读0 接收
发0,读1 错误
错误帧的帧结构
主动错误标志:6个连续的显性位;
被动错误标志:6个连续的隐性位;
错误界定符:8个连续的隐性位。
位时序
由发送单元在非同步的情况下发送的每秒钟的位数称为位速率。一个位可分为 4 段。
CAN FD
CAN FD 优点
速度快 数据量大
由博世在2012年提出
速率达15 Mbit/s
通用和雷诺汽车对这个新协议表现了浓厚的兴趣
网友评论