CAN总线使用两种类型的同步:硬同步(Hard Synchronization)和重同步(Resynchronization)。下面是您提供的规则的具体解释:

  1. 在一比特时间内只允许一次同步

    • 这意味着在一个比特周期内,无论是硬同步还是重同步,只能发生一次。这是为了避免多个同步操作导致的混乱或错误。
  2. 仅当先前采样点的值与边沿之后的总线值不同才使用边沿进行同步

    • 在每个比特期间,有一个固定的采样点(通常是比特中间的位置),用于读取总线上的实际数据位。只有当这个采样点检测到的值与边沿后的新值不同时,这个边沿才能被用来进行同步。
  3. 总线空闲时,任何‘隐性’到‘显性’的边沿都将触发硬同步

    • 当总线处于空闲状态(即所有位都是隐性状态)时,如果检测到一个从隐性到显性的边沿,则立即执行硬同步。硬同步用于重新校准所有节点的时钟。
  4. 所有其他满足规则1和2的‘隐性’到‘显性’边沿将用于重同步,但发送显性位的节点不会因为正相位误差而进行重同步,如果仅使用‘隐性’到‘显性’边沿进行重同步的话

    • 除了上述情况之外的所有‘隐性’到‘显性’边沿,只要符合规则1和2,都可以用于重同步,以调整节点的时钟偏差。但是,如果一个节点正在发送显性位,并且由于正相位误差而检测到了一个‘隐性’到‘显性’边沿,则该节点不会根据这个边沿进行重同步。这是因为正相位误差表明节点的时钟已经超前于总线信号,因此不需要进一步的重同步。

这些规则共同确保了CAN总线上的数据传输能够保持准确的时间同步,从而避免数据冲突和丢失。硬同步和重同步机制确保所有节点能够保持对总线信号的正确理解,即使在时钟偏差的情况下也能正常工作。