历史上的今天
今天是:2025年04月01日(星期二)
2020年04月01日 | 解读CANDT测试项-采样点测试
2020-04-01 来源:EEworld
摘要:CAN总线广泛应用于汽车电子、轨道交通、医疗电子等领域,保障CAN节点间稳定通信变得尤其重要。本文将介绍如何利用CAN采样点测试方案,有效提高CAN网络通信成功率。
为什么要进行采样点测试?
为了保证有效的通信,对于一个只有两个节点的CAN网络,其两边距离不超过最大的传输延迟和每个节点的时钟容差能够正确地接收和解码每个传输的消息,这需要每个节点都能对每个位正确采样。
CAN总线的每一帧可以看作一连串的电平信号。大多数设备使用单点采样,也就是在一个位时间内从采样点的位置读取一个电平信号,以此确定这个“位”的显隐性。在CAN网络中,当每个节点的采样点位置不一样时,由于总线过长引起的通信延迟或现场对总线的干扰,就容易发生读取的电平不一致现象,产生CRC错误报文。为了提高CAN网络的通信成功率,各节点的采样点应设置一致。
如何计算采样点?
在讲采样点之前,我们先了解一下位时间的相关定义。一个位时间可以看作一条水平的时间轴,一般分为四个段,如图1:

[i])的0%处施加一个宽度为27%位宽(注2[ii])的干扰(如图4),记录这100帧报文中出现的错误帧数,但由于此时距离采样点位置较远,暂时不会出现错误帧。

图4 干扰1
27%位宽的干扰逐渐以1%位宽的步进向右移动,在干扰的右边沿快靠近采样点时(如图5),由于通信延迟的关系,此时采到的电平和CANScope发送的不一致了,导致DUT接收到的CRC校验和DUT计算的CRC校验不一致,DUT就会主动发出错误帧,把每一个不同干扰位置的错误帧数记录下来。从此刻开始,继续往右步进,错误帧数也会有所增加。

图5 干扰2
继续步进,当干扰的左边沿位置过了采样点后(如图6),此时DUT就不会再出现错误帧了。因此,最后一个出现错误帧的位置就是我们想要知道的采样点位置。

图6 干扰3
注意事项
确保CAN总线上的终端电阻为60Ω。当CAN总线上终端电阻为120Ω或其他值时,虽然在正常情况下可以通信,但在采样点测试时,会对结果产生一定的偏差。
采样点测试过程中不允许DUT发送报文,因为采用的是发送100帧报文和检测错误帧的方法,DUT发送报文会造成判断的误差,影响测试结果的准确性。
CAN一致性测试系统——CANDT
CANDT是基于CANScope强大的CAN总线底层测试分析基础,配备必要的电压源、PLC等核心外围设备,可自动化完成汽车零部件CAN节点物理层、链路层及应用层测试的CAN一致性测试设备。物理层测试的目的是验证节点及测试系统在电路设计、物理电平特性等方面的性能,就是保证节点能够正确连入总线的基础,其测试内容包括电阻电容特性、节点差分电阻、故障容错测试、CAN线上的物理电平特性等等。数据链路层的测试目的是保证每个节点的通讯参数能够保持一致性,所组成的网络能够正常有效的工作,内容包括位定时测试、采样点测试、SJW测试等等,节点测试完成后,可自动化导出详细CAN一致性测试报表,准确判断节点工作情况,一目了然。

图7 CANDT一致性测试系统

图8 一致性测试报表
本文注释:1注1:第一个ID位是SOF后的第一个位,干扰此位能有效减少重同步带来的误差。2注2:在三点采样的情况下,要干扰到2个采样点才能使干扰生效,由图1可得一个位时间的时间量子(Tq)最小为4个,所以2个采样点之间的距离最大为1/4。所以保证干扰宽度大于25%位宽即可。
史海拾趣
|
本来想硬件原理图做好了再发,但wangkj提醒说,一步步的做,一步步的发,让大家一起讨论,一起参与, 所以今天先贴出贴出两张原理图,供大家讨论之用,也让大家参与进来。今后会一点点的把图都发上来,大家 ...… 查看全部问答> |
|
函数如下: typedef void (CALLBACK DRVCALLBACK)(HANDLE hdrvr, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2); typedef DRVCALLBACK FAR *LPDRVCALLBACK; typedef DRVCALLBACK *PDRVCALLBACK; 该函数在程序中申明 ...… 查看全部问答> |
|
搜索了老帖,但是我却还没解决,在这里在寻求一下,想知道这个一般是什么情况引起的。 我是用uboot下载nk.nb0到30200000运行,没有通过EBOOT,不知道是否是不是这个原因。 在KernelFindMemory函数中, RETAILMSG(1, ...… 查看全部问答> |
|
WM,XP都有主题的,wince上没有,如果在Wince上实现,不知道大家有没有好的方法。因为我想把我的任务栏做成XP那样 如果WM上有相关代码,哪位兄弟可以发一个给我,相关shell在public\\shell\\oak\\hpc\\explorer里面… 查看全部问答> |
|
请问各位高手这些AT命令是什么意思啊?请各位帮忙解决一下!!!谢谢!! 以下AT命令有点多,但是小弟刚开始接触实不知道是什么意思,请各位高手解决一下,小弟先谢谢了!!! +CXT= +CFG=“” +CAD? +CDR +CDS +CRM= +CBC? +CQD= +CRC= +CSS? +CSQ? +CMUX = +CFC= +CTA= $QCQNC $QCPREV $QCCLR $QCDMR= $QC ...… 查看全部问答> |




