闭环结构:是一种遵循ISO11898标准的高速、短距离网络,它的总线最大长度为40m,通信速度最高为1Mbps。
开环结构:是遵循ISO11519-2标准的低速、远距离网络,它的最大传输距离为1km,最高通信速率为125Kbps。
信号定义:信号有两种不同的信号状态,分别是显性的(Dominant)逻辑0和隐形的(Recessive)逻辑1。ISO11898标准定义了当CAN_H和CAN_L电平很接近甚至相等的时候,总线信号表现为隐性逻辑1,而两线电平差较大时则表现为显性逻辑0。
在每一次传输完后不需要返回到显性逻辑0,而是应用不归零(Non-Return to Zero, NRZ)码位填充技术来确定信号值。
CAN总线信号采用“线与”规则进行总线仲裁和定义。
帧类型:数据帧,远程帧,错误帧,过载帧
数据帧:
头尾段:包含帧起始和帧结束,用于界定一个数据帧。标准帧和扩展帧都包含这两个段。帧起始为单个显性位。总线空闲时,发送节点发送帧起始,其他接收节点同步于该帧起始位。帧结束为7个连续的隐性位
仲裁段:CAN总线使用标识符ID的逐位仲裁方法以解决这个竞争问题
控制段:标准帧中控制段包括扩展帧标志位IDE、保留位r0、数据长度代码DLC;扩展帧中控制段除了包括上述三者,还包括保留位r1
数据段:一般为0-8个字节,传输时最高有效位(Most Significant Bit, MSB)先传输。
CRC校验段:由帧起始段、仲裁段、控制段和数据段计算得到的15位CRC值和1位隐性电平定界符构成。
ACK段:当一个接收节点接收帧起始到CRC段之间的内容没有发生错误时,将在ACK段发送一个显性电平,发送节点检查消息是否存在应答位,如果没有就重发消息。