采样点是接收节点判断信号逻辑的位置,采样点对CAN总线来说极其重要,尤其是在组网的时候,多个节点尽量保持同一个采样点,若网络中节点采样点不一致会导致同样的采样频率出现采样错误,进而会使整个网络出现故障。 一、采样点的规则及原理
CAN 协议里将一个位时间分为同步段、传播段、相位缓冲段 1 和相位缓冲段 2。这些段又由称之为time Quantum(以下称为Tq)的最小时间单位构成。1位由多少个Tq构成、每个段由多少个Tq构成等是可以设定的。通过设置bit时序,使得可以设定一个采样点以使总线上多个单元可同时采样,所谓采样点就是在这一时刻总线上的电平被锁存,这个锁存的电平作为位的值。采样点的位置在相位缓冲段1(PBS1)的结束处。
图1 CAN 位时间结构图
l 同步段(SS):多个连接在总线上的单元通过此段实现时序调整,同步进行接收和发送工作,边沿包含在此段中;
l 传播时间段(PTS):用于补偿网络上所有的物理延迟;
l 相位缓冲段1(PBS1)和相位缓冲段2(PBS2):当信号不能被包换于(SS)段中时,可在此段进行补偿;
l 采样点:读取并解释总线上各位值的一个时间点。
采样点位置如图1所示,它是读取总线电平,并将读到的电平作为位值的点,所以从一个位的开始到采样点的时间占一个完整位的总时间的百分比就是所求的采样点的值:sample =(1+TSEG1)/(1+TSEG1+TSEG2)。 二、 采样点测试原理
测试原理:波特率采样点是CAN节点判断位逻辑值的判断点。采用干扰的手段,将采样点位置的逻辑电平破坏,则这个CAN报文将出现错误。以此就可以确定干扰的位置为采样点位置。如图2所示,使用我们的CANScope-Pro的错误与干扰功能,可以调整需要翻转的位偏移时间与持续时间,发送此错误的报文给DUT。通过递进式移动干扰位置,查看总线出现错误帧的情况,则出现错误帧的偏移时间(图中红色箭头)为采样点位置。