描述
1. 传输速度最高到1Mbps,通信距离最远到10km。
这句话说的没毛病,但并不能同时满足,传输速率达到1Mbps的话,最远传输距离小于40M,且实际上受温度、湿度、线缆等环境影响,其距离远低于40M;
而传输距离达到10km,其传输速率也只有5kbps,且同样受环境影响传输距离而达不到10km;
2. CAN总线比RS485速度更快,因此其使用更多,应用场景更广泛;
CAN总线的适用场景为短距离大数据或长距离短数据,比如汽车控制领域,大量使用CAN总线,可以快速获取芯片、传感器的数据;
而对于工业自动化领域,CAN总线确实比RS485快一些,但并没有快多少,而其使用更加广泛并不是因为其速率更快,而是因为其有更好的总线利用率(竞争机制和仲裁机制)。
3. CAN总线的帧格式
名词:
显性位:显性电平,逻辑0,标识位置0;
隐性位:隐性电平,逻辑1,标识位置1;
SOF(Start Of Frame):帧起始;
EOF(End Of Frame): 帧结束;
RTR(Remote Transmission Request):远程传输请求;
SRR(Substitute Remote Request):替代远程请求;
IDE(Identifier Extension):标识符扩展位;
r0、r1:保留位;
DLC(Data Length Code):数据长度代码;
SRC:src校验;
ACK:ack确认;
帧类型:
数据帧、遥控帧(远程帧)、错误帧、过载帧、帧间隔
帧格式:
有标准帧和扩展帧两种;
由帧起始,仲裁段,控制段,数据段,CRC段,ACK段、帧结束组成;
帧起始,1位,显性位;
仲裁段:
标准帧:ID(11位) + RTR(1位)
扩展帧:ID(11位) + SRR(1位) + IDE(1位) + ID(18位) + RTR(1位)
控制段:
标准帧:IDE(1位) + r0 + DLC(4位)
扩展帧:r1 + r0 + DLC(4位)
数据段: 0~64位,最多8字节
CRC段:采用CRC-15算法,校验位(15位) + 界定位(1位)
ACK段:ACK槽(1位 ) + 界定位(1位)
帧结束:7位