实测对比:TH7011与友商工具采样点测试,谁更靠谱?

Table of Contents

在CAN、CAN FD总线通信中,采样点的设置直接决定了节点能否在复杂的电磁环境下正确识别总线电平。一个毫厘之间的偏差,就可能引发CRC错误、错误帧甚至总线瘫痪。然而,传统的采样点测试工具,真的测准了吗?

今天,我们通过TH7011干扰仪与某友商工具的实测对比,揭开采样点测试中那些被忽视的“精度陷阱”,并看看TH7011是如何凭借FPGA级5ns步进与自定义多次干扰循环,将测试误差压至极限的。

为了精确采样,11898规范中将⼀个Bit划分成4个段:同步段(SS:Synchronization Segment)、传播段(PS:Propagation Segment)、相位缓冲段1(PBS1:Phase Buffer Segment1)、相位缓冲段2(PBS2:Phase Buffer Segment2),如下所示:

采样点说明示意图

规范要求采样点在相位缓冲段1(Phase Buffer Segent1)和相位缓冲段2(Phase Buffer Segent2)之间。

举例:如下图80%采样点是怎样的?实际上是约定⼀个采样时刻,确保总线上的所有CAN节点在近乎相等的时刻采样。假设:要求设置采样点为80%,通信速率500Kbps,则tBit= 2us,则采样时间点 =2 * 0.8 us = 1.6us。

采样点说明示意图

总线上的节点,虽然处于同⼀个CAN总线内,但是,每个节点的晶振精度未必相同,节点晶振之间可能存在偏差,因此,晶振主导的时钟频率就可能存在相位差,即:不同的节点,虽然设置了相同的通信速率,也可能存在tBit⻓度不同的可能,因此,发送节点在发送帧的时候,接收节点可能识别到下降沿的滞后或者提前。此时,就需要重同步弥补此偏差。

采样点同步机制说明示意图

1、硬同步

在发送节点向总线发送一帧中SOF位作为同步消息(Sync Message),总线上所有节点通过接收同步消息对自身时钟进行校准,准备竞争总线的使用权,即 :所有节点都检测到了起始的显性位( “0”),此刻,总线上所有节点可以公平竞争,这就是”硬同步”。

2、重同步

一帧CAN报文, 由很多个Bit位构成,硬同步使得节点在帧起始的位置完成时序的对齐,一个一个Bit在CAN总线上的串行传输,每个Bit的宽度稳定性( 时序) 无法保证,通过延长PBS1或者缩短PBS2来弥补采样误差,这就是重同步。

重同步的两种情况:

1) PBS2缩短SJW,实现重同步
如果下降沿落在了采样点之后,SS之前,接收节点会缩短PBS2长度,以此弥补发送节点提前导致的偏差。

假设Node A和Node B均以500Kbps速率通信,但是Node A的Bit宽度略小于Node B, 当Node A发送数据的时候,Node B接收,会认为Node A发送提前,Node B就不得不缩短PBS2,弥补两者之间的相位差。

PBS2缩短SJW,实现重同步

2) PBS1延⻓SJW,实现重同步
下降沿落在了SS之后,采样点之前,接收节点会延⻓PBS1⻓度,以此弥补发送节点滞后导致的偏差。

反过来,Node B发送,Node A接收时,Node A认为Node B发送的滞后,Node A需要延⻓PBS1来弥补两者之间的相位差。

 PBS1延⻓SJW,实现重同步

PBS1延⻓多少,PBS2缩短多少,由SJW值决定。SJW不参与采样点的计算,它只是重同步时,延⻓PBS1或者缩短PBS2⻓度的最⼤值。

3、TC设备中的SJW

TC设备中的SJW

同步跳转宽度(SJW)实际上是对发送节点的误差容忍度。

采样点的位置不受DUT所处的收发状态影响,故针对DUT可以做两种采样点测试:

  1. DUT发送采样点:⼲扰DUT发送的指定报⽂的某个位
  2. DUT接收采样点:可以通过测试⼯具发送特定⼲扰报⽂去检测DUT的⾏为。

⼀般来说,都是去做接收采样的测试。

以CAN采样点测试为例,TH7011在与DUT(Device Under Test)成功通信的状态下,⽤⼾使⽤TH7011⾃定义的ID发送报⽂进⾏特定位⼲扰,完成⽤⼾⾃定义次数(默认20次)的⼲扰循环。

波形体现:
⻩⾊:CAN报⽂
蓝⾊:⼲扰使能

TH7011⾃定义的ID发送报⽂进⾏特定位⼲扰

从波形可以看出对DUT发送20次报⽂,削减⼀次(5ns)的现象。

ISO 11898-1中规定在逻辑电平由隐性到显性的跳变沿会进⾏重同步,所以采样点测试中⼲扰位置最好选择⼀帧报⽂“隐性位”→“显性位”→“隐性位”序列中的“显性位”。

黄色:CAN报⽂
蓝色:⼲扰使能

波形可以看出再⼀帧报⽂中“隐性位”→“显性位”→“隐性位”序列中的“显性位”进⾏了削减干扰

从波形可以看出再⼀帧报⽂中“隐性位”→“显性位”→“隐性位”序列中的“显性位”进⾏了削减干扰。

每⼀个⼲扰循环将缩短数段段第15位显性位⻓度,当后⾯的隐性位前移,到达DUT的采样点,会被DUT采到为⾼电平,出现CRC error,DUT随即发送错误帧,并被TH7011采集到。

⼲扰循环将缩短数段段第15位显性位⻓度

采样点的测试结果受到很多因素影响,下⾯列举⼏个主要误差来源:

1、标称位宽度的TQ数
⼀bit位由N个TQ组成

标称位宽度的TQ数
标称位宽度的TQ数

ISO 11898-1协议规定重同步会使跳变沿落在同步段里,实际上跳变沿会落在同步段1个TQ宽度以内的任意的位置,所以由DUT自身带来最大误差为1个TQ,而TQ数量与DUT采用的时钟、预分频值以及传输波特率等都相关。

因此在采样点测试中,CAN总线上会因为两节点晶振相位没有对齐,对发送在总线上波形进行削减干扰,导致与DUT数据链路层接收到的波形不⼀致。

下图为模拟CAN总线通讯的时序图:
假设DUT在CAN时钟的上升沿(虚线处)位置对发送波形进行采样。

模拟CAN总线通讯的时序图

1) 由于发送CAN时钟与接收CAN时钟相位存在差异,导致发送波形不会正好落在接收CAN时钟的上升沿位置,所以发送波形落在接收CAN时钟第一个上升沿之后得到DUT实际接收波形;

2)假设TH7011从右往左进行5ns削减为发送帧总长的2%;此时2%的削减导致DUT实际接收的5%采样点减少;理论上,TH7011在每一次干扰循环中,干扰次数越多,越能避免相位带来的误差。

2、不同测试工具精度的影响
TH7011的测量精度是指在每次干扰循环可缩短或增长的步进长度,即5ns。假设 DUT 的CAN时钟频率为40MHz,预分频值为1,则单个TQ长度为25ns。

例 :在500K 2000K波特率下,位时间分别为2000ns 和 500ns中,

TH7011所带来的精度误差为: 仲裁段:5/2000 = 0.25%,数据段 5/500= 1%;
友商工具所带来的精度误差为: 仲裁段:6.25/2000 = 0.3125%,数据段 6.25/500=1.25%;

由于DUT跳变沿机制自身带来的一个TQ误差:仲裁段:25/2000 = 1.25% 数据段 25/500= 5%。

3、结论
所以在CAN总线通讯上,进行采样点测试,理论最大误差会存在(工具精度误差)+( DUT一个TQ误差) ;但是TH7011可以通过在一个干扰循环内进行多次干扰几乎避免了相位没对齐所带来的误差。

1、TH7011能通过自定义干扰循环消除CAN时钟相位没对齐带来的误差。

TH7011采样点测试每次干扰循环可自定义次数:

TH7011采样点测试每次干扰循环可自定义次数

1)在TH7011能在每次削减(精度*5) ns 的情况下发送 (测试次数)条报文进行采样点测试。

由DUT自身带来最大误差为1个TQ,在“ 显性位”发生重同步的下降沿是这一个TQ内变化的,理论上在进行一个干扰循环内进行多次测试得到的第一帧错误帧采样点够更接近在一个TQ变换范围内的最大值。所带来的测试结果更精确。

经过测试,测试次数设置在20次既能保证准确的同时也保证所用时间较短。

2)友商工具进行采样点测试时会在总线空闲时发送一帧固定ID为0x0的报文进行一次削减干扰。

由于每次干扰循环只有一次,不同通过多次干扰循环消除相位所带来的误差,测得结果会在一个TQ内浮动。

2、更高的测试精度
TH7011是一款基于FPGA实现的干扰仪,晶振为200M,所以一个FPGA ticks周期 T0 = 1/200M = 5.00ns(纳秒)。

如CAN总线波特率是500kb/s速率,所以周期位T1 = 1/500K = 2000 ns (纳秒) ; 而400 * 5.00 =2000,也就是说需要400个 FPGA ticks才能刚好干扰一个CAN bit 位。

友商工具晶振为160M,所以一个FPGA ticks周期 T0 = 1/160M = 6.25ns(纳秒) ; 而320 * 6.25 =2000,也就是说需要320个 FPGA ticks才能刚好干扰一个CAN bit 位。

在进行采样点测试中,TH7011可以一个FPGA ticks周期 5ns进行削减干扰,对比友商 一个FPGA ticks周期6.25ns所带来的误差更小,在进行位内干扰时,TH7011能以更小的步进进行削减。

3、TH7011与友商对比采样点测试案例
使用TH7011和友商工具测试TC1016(TOSUN旗下一款CAN卡工具设备)。

使用TSmaster对TC1016初始化为500Kbps 和 2000Kbps ;仲裁段采样点80%,80个TQ;数段80%,20个TQ。

TH7011与友商对比采样点测试案例

1)TH7011测试结果

TH7011与友商对比采样点测试结果

2)友商工具测试结果

TH7011与友商对比采样点测试案例-友商工具测试结果

使用TH7011与友商工具对TC1016进行测试,TH7011能在测试中几乎避免了由相位差您所带来的误差,测试结果也稳定在固有误差范围内

在CAN/CAN FD总线测试中,采样点测试不是一个“大概齐”的环节。工具精度不足、单次干扰策略,都可能导致测试结果偏离真实值,进而影响ECU开发与整车通信质量。TH7011凭借200MHz FPGA、5ns步进精度、自定义多轮干扰循环,为工程师提供了一个真正可信赖的采样点测试基准。

发表回复

×
×

产品入口: 产品添加到购物车