can (controller area network) 通常运用于汽车上,可以理解为汽车各个计算处理模块组成的局域网(让ECU进行通信)。
can 可以看做一台计算机,内部集成了供电系统,单片机,驱动系统。
ECU通讯需要can收发芯片,can收发器会将0 1 信号转为差分信号
差分信号:压差为2V代表信号0(一个3.5V, 一个1.5V),无压差代表信号1(两个都是2.5V)
识别码:器件地址(还代表发送的优先级,用位来对比,逻辑0优先)
RTR位:区分是数据帧(0)还是远程请求帧(1)
控制码:控制数据长度,其中
IDE位:区分标准格式0( 有11位识别码)还是拓展格式 1 (29位识别码)
DLC位(数据长度代码):共4位,代表后面数据的字节的位数,如果是0001,则后面的数据为1个字节,共8位,如果是1000,则后面数据为8个字节,共64位
CRC码:循环冗余校验位
CRC界定符: 1,把后面信息隔离开
ACK码:发送端是1,接受端回复0
ACK界定位:1,隔开后面数据
后7位;都是逻辑1,表示数据结束