在最为广大工控从业者熟悉的RS232/485通讯协议中,为了避免由于通讯距离长、电磁干扰、传输响应时间差异等异常情况的出现,所以会在通讯中加入校验位和停止位等,用以在一定程度上克服通讯错误的情况出现。同样这种举措也适用于CAN通讯上。
CAN协议中应用的是带位填充(填充宽度为5位)的NRZ信号编码,它保证了具有足够同步能力的最高传输性能。这种类型的编码还提供非常良好的信号辐射特性(总线辐射的能量大致上和传输信号的频率以及信号边沿的数量成比例)。
CAN协议中应用NRZ编码的部分包括SOF、仲裁场、控制场、数据场、数据帧和远程请求帧的CRC序列。发送器一检测到5个连续相同值的序列,它就会在实际传输的位流中插入一个反码位。数据帧或远程帧剩下的部分(CRC分隔符、ACK场和EOF)都有一个固定的形式(隐性电平),并且不采用位填充进行发送。出错和超载帧也是如此。
|