can总线
CAN电平基础定义
电压范围:0-5V
隐性: 1 显性: 0
通讯机制:
总线
总线空闲时,允许多个节点同时发送报文,总线通过ID进行仲裁,显性位覆盖隐形位,ID越小,优先级越高
节点
节点发送报文前,检测总线状态,空闲时,节点才能发送报文
节点发送报文同时,进行回读检测,判断发出位是否与接收位一致。
滤波器
可以通过滤波器对报文进行滤波
报文:
帧类型
数据帧、远程帧、错误帧、过载帧、
数据帧内容:
标准帧、扩展帧
根据数据作用的不同,将一帧数据分为不同场;如仲裁场,用于总线根据ID的优先级(ID越小,优先级越高)进行总裁。
帧起始: 一个显性位;只有在总线空闲时发送
仲裁场:
ID: 总线仲裁
SRR: 远程代替请求位
IDE: 表明数据帧类型; 0:标准帧,11位ID; 1: 扩展帧,29位ID
RTR: 表明该帧类型; 0:数据帧;1:远程帧
控制场:
DLC: 数据长度; 有效DLC: 0 -8; 无效DLC: 9 - 15
R0 R1 保留
数据场:
0-8 个字节
校验
DEL: CRC界定符,固定格式,一个隐形位;
应答场:
发送节点在ACK发送隐性位,接收节点正确接收后,ACK发送显性位。
未正确接收则发送隐性位
发送节点检测应答位是否被显性覆盖,没有则说明 ACK 错误。
帧结束:
7个连续隐形位,表示帧结束
11个连续隐形位,表示总线空闲
远程帧:向其他节点请求数据
将数据帧的数据去掉