What is CAN?
CAN = "Controller Area Network" = 控制器局域网;
特点:速度快,距离远。最高1Mbps(距离<40m),最远可达10KM(速率<5Kbps);
它是一种异步通信,只具有CAN_High和CAN_Low两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯;
显性电平对应逻辑:0
CAN_High的电平为3.5V,CAN_Low线的电平为1.5V,CAN_H和CAN_L的电压差为2V左右。
隐性电平对应逻辑:1
CAN_High和CAN_Low线上的电压均为2.5V, CAN_H和CAN_L之间的电压差为0V。
CAN2.0A:支持11位的标识符(标准帧)
CAN2.0B:支持11位和29位标识符(扩展帧)
CAN传输的数据单元称报文,一个报文可能有几帧组成。
报文中可能包含的帧的全部类型:数据帧、远程帧、错误帧、过载帧。
数据帧格式:帧起始、仲裁场、数据场、CRC场、应答场、帧结尾。
仲裁场
RTR: Remote Transmission Request Bit 远程发送请求位,在数据帧中必须为"显性0",而在远程帧里必须位"隐性1"
IDE: Identifier Extension Bit 标识符扩展位,标准格式里为“显性0”,扩展格式里为“隐性1”
SRR: Substitute Remote Request Bit 替代远程请求位, 替代标准帧RTR位置,为"隐性1"
(标准帧和扩展帧的仲裁场格式不同。对标准格式,这些位按ID28到ID18的顺序发生,最低为是ID18,7个最高位ID28~ID22必须不能全是“隐性”,即逻辑电平1。11位标识符后面是RTR(Remote Transmission Request Bit),RTR位在数据帧中必须为0,而在远程帧里必须位1。对于扩展格式,首先发送基本ID(ID28~ID18),其次是SRR(Substitute Remote Request Bit替代标准帧RTR位置),IDE位(Identifier Extension Bit标识符扩展位,标准格式里为“显性0”,扩展格式里为“隐性1”),然后是扩展ID(ID17~ID0),最后是RTR位。)
控制场
1 r0: 保留位, 必须发送为"显性"
数据场
CRC(Cyclic Redundancy Check 循环冗余校验)
应答场ACK
帧结尾
标志序列7个"隐性"的位组成。
简述CAN通信协议-02(数据帧)https://blog.csdn.net/qq_39478139/article/details/107456553