面对CAN网络中的实际干扰和复杂的电器环境以及各个节点不同的CAN特性,不同节点之间通信会产生相位差,所以CAN技术中设计了同步机制来保证各个节点保持步调一致。
当总线空闲时,所有的节点均处于接收状态,按照各自的时序来监听总线的信息,在同一时刻,很有可能节点A处于PTS段,节点B处于PBS1段,节点C处于PBS2段。
此时节点A要准备发起通讯,等它的时序到了SS段,它往总线上发送SOF跳变沿,此时,有可能节点B处于PTS,节点C处于PBS1。显然它们的时序没有跟节点A同步。故节点B和C要强行调整它们的SS段,令其包含接收到的SOF的跳变沿。
如下图所示,接收节点在PBS1阶段接收到了SOF的跳变沿,它只能强行调整SS段,变成调整之后的时序。
硬同步只发生在SOF位,它只能保证SOF的同步,无法保证后续位的同步。
当硬同步结束后,在后续的数据传输过程中,必须保证每一个由隐性电平到显性电平的跳变沿也必须落在SS段内。否则,产生重新同步。
重同步(传输过程中隐性到显性的跳变)
如下图,A是发送节点,B C T 都是接收节点,在理想状态下可以通过重同步消除不同节点的相位差。
为什么说在理想状态下,因为还可能不理想的状态,关注博主咱们后面继续探讨!