相位误差的定义

  • 相位误差(Phase Error):指的是信号边沿相对于同步段(SYNC_SEG)的位置偏差,以时间量子为单位进行度量。
  • 时间量子(Time Quantum):是CAN总线中用于计时的基本单位。
  • 同步段(SYNC_SEG):是每个比特时间的起始部分,用于检测边沿并进行硬同步。
  • 采样点(Sample Point):是在每个比特时间内的某个固定点上进行数据位采样的位置。

相位误差的符号

相位误差的符号取决于信号边沿相对于采样点的位置:

  • e = 0:如果边沿位于同步段(SYNC_SEG)内。
  • e > 0:如果边沿位于采样点之前。
  • e < 0:如果边沿位于前一个比特的采样点之后。

作用和原理

  • 同步和重同步:CAN总线使用硬同步(Hard Synchronization)和重同步(Resynchronization)两种方式来保持节点间的同步。硬同步发生在总线空闲时出现从隐性到显性的边沿,而重同步则用于调整节点的时钟以适应小的时钟偏差或传播延迟变化。
  • 相位缓冲段调整:基于相位误差的大小和符号,可以调整PHASE_SEG1 或 PHASE_SEG2 的长度。如果相位误差为正,则PHASE_SEG1 可能会被加长;如果相位误差为负,则PHASE_SEG2 可能会被缩短。这种调整确保了采样点仍然位于比特时间的正确位置,从而确保数据位的正确采样。

实际应用

  • 保持同步:通过定期调整相位缓冲段,CAN总线可以确保即使在网络中存在轻微的时钟偏移或传播延迟变化时,各个节点仍能保持同步。
  • 提高可靠性:相位误差的概念以及相应的调整机制提高了CAN总线的可靠性和鲁棒性,使它能够适应各种环境条件下的数据传输。