文章目录
- 1 什么是采样点
- 2 为什么需要采样点
- 3 采样点的计算公式
- 4 VH6501测试原理和方法
- 4.1 VH6501测试采样点原理
- 4.2 VH6501测试方法
>>返回总目录<<
1 什么是采样点
采样点是节点判断信号逻辑电平的位置,是CAN控制器读取总线电平,并解释各个比特的逻辑值的时间点。
2 为什么需要采样点
合适的采样点位置是CAN控制器正常通信的保证。对于CAN网络这个整体而言,多个节点要尽量保持同一个采样点。若网络中节点采样点不一致可能会导致同样的采样频率出现采样错误,进而使整个网络出现故障。
3 采样点的计算公式
CAN控制器的最小时间周期称作时间份额(Time quantum,简称Tq),它是通过对芯片晶振周期进行分频而得来的。一个位时间由若干个Tq组成(通常为8到25个),同时根据功能分为4个阶段:同步段、传播段、相位缓冲段1和相位缓冲段2。
采样点计算公式:CAN Simple Point = (SS+PTS+PBS1)/(SS+PTS+PBS1+PBS2)
仲裁段采样点计算得(1+7+8)/(1+7+8+4)*100%=80%
数据段采样点计算得(1+7+6)/(1+7+6+6)*100%=70%
4 VH6501测试原理和方法
4.1 VH6501测试采样点原理
采用VH6501(俗称干扰仪)作为总线干扰设备,连接方式如下。
基本测试原理:干扰一帧报文中某一位的采样点附近的总线电平,利用CAN错误帧机制,根据ECU是否发送错误帧来判断是否出现采样错误,进而计算ECU的采样点。
具体步骤如下:
- VH6501在检测到总线空闲时,发送高优先级的干扰报文(报文ID:0x00),完成一个干扰循环。
- 每次干扰循环发送结束,以Tq为单位微调CRC界定符位,使其逐次缩短,相应ACK位长度增加,保证整帧报文长度不变。
- 当显性电平依次由后往前移,移至ECU采样点位置,会被ECU采到并判定CRC界定符位为高电平,出现格式错误,ECU随即发送错误帧,并被CANoe采集到,如下图所示:
测试时需要将CANoe逻辑通道(VH6501所在通道)的采样点选取尽量靠前,避免VH6501本身先被干扰到而报错。另外,每次干扰循环结束,VH6501会发送一定数目的正常报文,使DUT始终保持在Error Active状态,该状态下发送的主动错误帧容易被识别。
4.2 VH6501测试方法
- 波特率和采样点配置与软件所测CAN一致,并勾选Activate选项使能VH6501总线干扰功能。
- VH6501的采样点设置尽量小于ECU上CAN控制器采样点,确保优先干扰到DUT的采样点,BTL Cycles和SJW选择数值较大的组合。
- 点击⚡符号,然后点击Active Sample Point Test开始测试。
- 下图红色框线中时采样点的测试结果。79.38%的测量结果是VH6501逐步缩短CRC Delimiter位至该位宽度为254ticks(500K通讯速率下标称位宽度为320ticks)时DUT报错,即表明干扰到DUT采样点,计算254/320得到。右侧的计算结果是根据DUT采用的时钟频率、预分频值考虑了DUT标称位宽度的TQ数量后,经过换算得到仲裁段采样点位置在80.00%~80.63%之间,数据段采样点在77.50%~80.00%之间。
参考:
[1] 基于VH6501的CAN/CAN FD采样点测试
[2] 科普系列:CAN/CAN FD 采样点及其测试简介
[3] 如何使用VH6501进行busoff和采样点测试