本文导读
为提升CAN/CAN FD网络的通信可靠性,各节点需尽可能配置合适且一致的采样点。然而在设备CAN通信采样点参数未知的情况下,如何验证各节点采样点设置的一致性?本文结合ZPS-CANFD设备的采样点测量功能,介绍其测量原理及具体操作流程。
采样点是CAN/CAN FD控制器在一个位时间(bit time)内读取总线电平、判断位逻辑值(显性/隐性)的关键位置。如果采样点位置不合理,可能导致通讯距离不达标、预期电平错误等异常的产生,进而影响系统通信稳定性。
因此,合理配置采样点,确保网络中各节点采样点一致至关重要。
采样点定义
采样点是CAN/CANFD控制器读取并判断总线上各位逻辑值的一个时间点,也就是说一个位时间内从采样点的位置读取一个电平信号,以此确定这个“位”的显隐性。CAN/CANFD控制器的最小时间周期称作时间量子(Tq),它是通过对芯片晶振周期进行分频而得来的,一个位时间有若干个Tq组成,同时根据功能分为四个阶段:同步段、传播段、相位缓冲段1和相位缓冲段2,如图 1所示。图1 位时间结构图
四个阶段功能介绍如下:
- 同步段:位定时的时间基点,用于捕捉边沿跳变,通常为1Tq。
- 传播段:用于补偿网络内的信号传播延迟,长度必须大于等于2倍的信号传播时间,其可编程,通常是(1-8Tq)。
- 相位缓冲段1和相位缓冲段2:用于必要的重同步补偿。作用方式为加长相位缓冲段1或者缩短相位缓冲段2。
由图1可看到采样点的位置,它位于相位缓冲段1的结束位置,其计算公式如下:
采样点测量原理
ZPS-CANFD节点采样点测量方法,以DUT作为接收节点,使用ZPS-CANFD发送某一位从后往前逐步被干扰脉冲干扰后的报文,直到DUT发送错误帧来判断出现了采样错误,进而确认DUT采样点位置,也就是从错误帧波形数据中找到被干扰的位,然后测量出这个位未被干扰部分的脉宽作为分子,位时间作为分母,然后计算出结果,最后经过统计的方法得出采样点的位置。
为了减少采样点测量的误差,从DUT的视角去判断出现错误帧的时间点,所以需要拿到DUT的RX波形作为数据源进行采样点的计算。ZPS-CANFD节点采样点测量功能,既可以支持CAN节点采样点的测量,也可以支持CANFD节点的采样点测量,所以分为仲裁域采样点测量和数据域采样点测量。当进行仲裁域采样点测量时,ZPS-CANFD发送标准CAN帧,当进行数据域采样点测量时,ZPS-CANFD发送变速CANFD帧,具体的测量流程如下:1)将发送帧中数据场的第一个字节的第四位作为固定干扰位,并设置干扰脉宽;2)ZPS-CANFD发送满足条件的干扰报文若干帧,观察是否出现错误帧;
若无错误,按照选择的测量算法对应步进值逐步往前移动干扰脉宽,重复以上步骤,直到DUT发送错误帧为止,进而判断为采样点位置。

图2 干扰脉宽步进流程
ZPS实测步骤
DB9板卡 vs 传统方案通过ZPS-CANFD的采样点测量功能对CAN/CAN FD网络上的各节点进行采样点测量,进而判断各节点的采样点是否设置一致。下面以实测某DUT采样点(仲裁域采样点为80%,数据域采样点为75%)的步骤为例,进行相关的介绍。第一步,按照图 3连接方式,将DUT的RX、CAN信号分别和ZPS-CANFD的高速模拟通道DSO1、CAN1 OUT通道连接;

图3 节点采样点测试框图
第二步,打开ZView软件,点开【CAN1】通道参数设置界面,设置波特率、采样点、终端电阻、工作模式及采样比等参数;

图4 CAN参数设置
注:1、ZPS-CANFD的采样点设置时,建议设置和DUT的采样点一致,尤其是测试变速CANFD帧的采样点时,因为BRS位和CRC界定符位位宽的特殊性,设置不一致可能会出现通信错误,进而导致采样点测试无法进行。另外采样点设置一致,在报文解码时,可以以DUT的采样点进行解码,更好分析错误帧。
2、采样比必须设置到最大,否则会影响测量精度。
3、要保证总线上的终端电阻是60Ω。
第三步,点开【CH1】通道参数设置界面,将输入信号源改为“DSO_1”,耦合方式设置为“直流耦合”,如图5所示:

图5 CH1输入信号源修改为DSO_1
第四步,开启“CAN1”通道;
第五步,点击【分析】菜单,打开【节点采样点测试】功能,进行硬件相关配置,其它参数默认即可,然后点击“下一步”;

图6 节点采样点测试参数设置
注:1、RX数据源选择要和步骤三一致;
2、RX上升/下降阈值需参考控制器手册设置。
第六步,分别点击“开始”按钮,即可测量出仲裁域和数据域采样点的结果。

图7 仲裁域采样点测量结果

图8 数据域采样点测量结果
采样点测量结果是如何计算的呢?我们结合图8、图9对此问题进行回答。
单击数据域采样点测试结果界面的最后一行数据,可关联到因干扰到DUT的采样点而报出错误的第一帧错误报文及对应的波形,然后在RX波形中找到干扰位,并测量其未被干扰脉宽为750ns,然后根据公式计算=750ns/1000ns=75%,最后再对
结果进行统计,得出采样点结果。

图9 干扰到采样点后的第一帧错误帧及波形注:采样点结果统计方法请参考ZPS-CANFD用户手册相关描述。
-
控制器
+关注
关注
114文章
17165浏览量
184859 -
网络
+关注
关注
14文章
7838浏览量
91138 -
CANFD
+关注
关注
0文章
90浏览量
5390
发布评论请先 登录
MCU如何配置固定TDC?
TC297 CANR支持CANFD吗?
CAN总线采样点不一致的危害
哪些STM32有CANFD
求助,LPC5516 CANFD采样点4M以上波特率如何设置70%以上?
一种信号矢量分解的采样滤波移动节点定位算法
CAN与CANFD的区别 CAN与CANFD如何转换
CAN总线最大能够带多少节点?CANFD相对于CAN2.0有哪些差异呢?
CAN/CANFD?总线干扰仪TESTBASE-BDI

评论