CAN总线广泛应用于汽车电子、轨道交通、医疗电子等领域,保障CAN节点间稳定通信变得尤其重要。本文将介绍如何利用CAN采样点测试方案,有效提高CAN网络通信成功率。
为什么要进行采样点测试?
为了保证有效的通信,对于一个只有两个节点的CAN网络,其两边距离不超过最大的传输延迟和每个节点的时钟容差能够正确地接收和解码每个传输的消息,这需要每个节点都能对每个位正确采样。
CAN总线的每一帧可以看作一连串的电平信号。大多数设备使用单点采样,也就是在一个位时间内从采样点的位置读取一个电平信号,以此确定这个“位”的显隐性。在CAN网络中,当每个节点的采样点位置不一样时,由于总线过长引起的通信延迟或现场对总线的干扰,就容易发生读取的电平不一致现象,产生CRC错误报文。为了提高CAN网络的通信成功率,各节点的采样点应设置一致。
如何计算采样点?
在讲采样点之前,我们先了解一下位时间的相关定义。一个位时间可以看作一条水平的时间轴,一般分为四个段,如图1:
图1位时间图
同步段:通过此段实现时序调整,一个位的输出从同步段开始;用于同步总线上的各个节点,跳变沿产生在此段内;通常为1Tq;
传播段:用于补偿信号通过网络和节点传播的物理延迟;传播段长度应能保证2倍的信号在总线的延迟;其长度可编程(1-8Tq);
相位缓冲段1和相位缓冲段2