CAN协议与其它现场总线协议的区别中有一个是:它使用同步数据传输而不是异步传输(面向字符)。这意味着传输性能得到更有效的发挥,但是另一方面,这需要更加复杂的位同步方法。
在面向字符的协议中的位同步实现起来很简单,在接受每个字符的起始位时进行同步。但在同步传输协议中,只有一帧的开始才有一个起始位。这通常不足以使接收器的位采样和发送器保持同步。为了使接收器在帧结束时也能正确采样到接收的位流,就需要接收器不断进行重新同步。重新同步表示在位流中每个有效的信号边沿都可对接收信号的时钟周期进行检测。在信号边沿间的最大时间周期内,发送和接受振荡器之间最大可能的时间差必须在一个位间隔内的标称采样点之前和之后通过足够的空闲时间(“相位缓冲段”)来补偿。
由于CAN协议使用非破坏性的位总线仲裁和显性应答位,信号从发送器传输到接收器再返回到接收器必须在一个位时间内完成。因此除了保留用于同步的时间外,还需要一个时间段(“传输延迟段”)对总线上的信号传输进行补偿以及用于发送和接收节点的内部信号延迟。
图 1所示为标称的位时间,划分为4个不重叠的时间段:
同步段(Sync_Seg)
传输时间段(Prop_Seg)
相位缓冲段1(Phase_Seg1)
相位缓冲段2(Phase_Seg2)