什么是CAN
全称Controller Area Network---控制器局域网。CAN网络中可以挂接非常多的接入点,并不会像IIC和SPI那样接点受限制。CAN总线最初是德国Bosch公司最先提出的,主要用于汽车电子系统之间的通信。由于CAN协议抗干扰性好,传输距离长,所以广泛应用于工业现场控制通信系统中。
CAN总线的具体工作原理
这篇博文是本人对过去知识的总结和梳理,所以不会有很多科学标准的名称释义,而多数是自己的认识和理解。
- CAN总线的传输。CAN信号可以使用双绞线、光纤等介质传输。具体信号也是逻辑电平,采用差分方式传输。两条信号线分别是CAN_H CAN_L。H和L均为2.5V左右时,表示信号逻辑“1”,也称为“隐性”。采用CAN_H比CAN_L高表示逻辑“0”,称为“显性”,此时CAN_H=3.5v,CAN_L=1.5v。
- CAN总线采用CSMA/CD模式检测整个网络,只有当总线处于空闲状态时,才允许发送。当发生冲突时CAN收发器具备仲裁能力,仲裁规则根据每个设备的ID决定,ID越小优先权越高。
帧格式
标准帧
数据帧
将数据从发送器传输到接收器。由7个不同的位场组成:帧起始位、仲裁场、控制场、数据场、校验场、应答场、帧结尾。数据场长度可以为0。
远程帧
由总线单元发出,请求发送具有统一识别符的数据帧
错误帧
任何节点检测到总线错误就发出错误帧
过载帧
用以在先行和后续的数据帧之间附加一定延时
CAN总线基本认识,布布扣,bubuko.com
CAN总线基本认识
原文:http://blog.csdn.net/fengyehudie/article/details/22222395