如何测量CAN/CAN FD的位时间精度?

描述

 

本文导读

在CAN/CAN FD通信系统中,波特率的稳定程度是由系统振荡器精度、PLL性能以及物理层传输特性共同影响的,波特率偏差可能会引入过多的重同步修正甚至导致采样点落在非预期位置,从而影响系统的通信质量。在原理上波特率和位时间是互为倒数的关系,因此借助ZPS-CANFD设备的位时间测量与评估功能,有助于诊断总线隐含故障、优化系统及提升网络性能。

 

在串行通信系统对设备要求的属性中,波特率是最常见也是最重要的一组参数,这是决定着设备能否顺利接入网络的基本要求,应用位时间测量工具能测量实际通信过程的波特率数值;对于复杂的多节点系统,还能通过扫描不同报文的串行电平数据分别展示不同节点的位时间及其相对偏差,进一步地评估不同节点的位定时偏差情况,本文为CAN/CAN FD总线的设计与调试提供了理论参考与实践指导。


 

位时间定义

波特率是异步串行通信中的重要参数,指每秒钟能发送的数据位元数量,在原理上波特率和位时间是互为倒数的关系,即:振荡器
 

振荡器

图1  CAN位时间

 

CAN/CAN FD的位时间是基于一个自由运行的计数器,取自它的时钟频率,而它的时钟频率是经过系统时钟频率分频(分频系数BRP)而来的,假设系统时钟频率是8MHz,BRP是2,那么它的时钟频率就是4MHz,即振荡器,从图 2可以看到,位时间有n个振荡器组成,那么根据振荡器的大小就可以计算出CAN/CAN FD的位时间了,即n振荡器

振荡器

图2  CAN/CAN FD位时间成份
 

位时间测量原理
 


 

ZPS的CAN总线位时间测量方法,以DUT作为发送节点,使用ZPS接收DUT发送的报文,然后通过对报文接收窗口或过滤窗口中报文对应的总线差分电压数据(CANDIFF)波形,按照设定的测量区间进行仲裁域或数据域位时间的测量。

依据《GMW14241 JUL 2014》标准中对CAN/CAN FD总线位时间测量区间的要求,需按照图 3 所示,从上升阈值为0.9V的位置开始测量20个位所经历的时间,然后计算的平均值即为位时间结果。
 

振荡器

图3  《GMW14241 JUL 2014》位时间测量区间要求


 

ZPS实测步骤

下面以实测某DUT仲裁域和数据域位时间(仲裁域波特率500k bps、采样点80%,数据域波特率1M bps、采样点80%)的步骤为例,进行相关的介绍。

第一步,将DUT的CAN FD信号和ZPS-CANFD的CAN1 OUT通道连接;

 

 

第二步,打开ZView软件,点开【CAN1】通道参数设置界面,设置波特率、终端电阻、工作模式及采样比等参数。将总线允许选择为“ON”,点击确认可直接将CAN1通道开启。

振荡器

图4  CAN参数设置

注:1、总线上的终端电阻需确保是60Ω,否者会影响测量精度;

 

 

2、采样比需设置到最大,否者会影响测量精度;

3、除变速CAN FD的位时间测量外,请确保设置中的数据域与仲裁域的波特率一致,以获得最大的采样比提升测量精度。

第三步,点击【分析】菜单,打开【总线位时间测量】功能,然后选择数据源、样本数量、测量位置、测量对象及及区间,然后点击“下一步”;

振荡器

图5  参数设置


第四步,进入到测量界面后,点击“开始”按钮,即可测量出仲裁域位时间和数据域位时间,结果如图 6所示。

振荡器

图6  结果展示

注:1、传统CAN的仲裁域和数据域位时间是等同的,测量界面上只显示仲裁域位时间;

 

 

2、请确保被测帧对应域的比特位数量大于测量基本要求中的“连续检查位数不小于”设置值。


 

总线位时间不符合预期排查建议

当总线位时间测量结果不符合预期时,我们可以从以下几个方向进行排查:

1、被测设备的晶振精度原因,如选型不合适或晶振老化;

 

 

2、被测设备总线负载过高(电容过大、终端电阻偏低)、干扰等因素导致波形异常,进而影响了测量精度;

 

 

3、被测设备的CAN控制器的位时间参数配置不当。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分