一直以来,汽车的测试都离不开 CAN,而 CAN 的应用也离不开汽车行业。因此,在新能源汽车越发成熟的今天,CAN 的一致性测试也成为各整车厂和零部件厂商关注的焦点。这里对 CAN 一致性测试中的负载率测试做一些简单的介绍。
 
负载率测试是 CAN 协议一致性测试里的必测项目,不同的测试人员对其的理解也有些差异。大多的测试主要分为两项,一项为测试 CAN 总线的负载率,另一项则是总线负载压力测试,我们对两项常见的负载情况测试做一下测试方法的解析。
 
测试 CAN 总线的负载率,并没有固定的测试标准,大多数的 CAN 测试设备都可以对总线负载率做检测。例如我司测试时经常使用 CANScope 或者 CAN 卡进行总线负载率测试,而测试的方法则是计算每秒接收到的 CAN 总线上的帧数,根据帧数的大小配以算法得出此时的总线负载率。例如 1M 波特率,1s 传输 1Mbit 的数据,则负载率达到了 100%。
 
 
除瞬时负载率外,CANScope 里还有有通过流量分析得出接收报文的负载率情况,与上述的实时侦测帧数计算有些区别的是,流量分析是通过波形占用总线的时间作为参考,相比于实时帧数计算更具有说服性。
 
 
而总线负载压力测试,在 GMW14242 中,要求被测 CAN 总线在所有负载条件下能正常运行并且不会死机。其试验原理是:由测试设备制造各种负载条件下的情况,测试被测 CAN 总线是否还可以将正常的应用数据发出。测试报文如下表所示。每个报文产生按 10%、30%、50%、70%、90%的负载率,观察被测 CAN 总线发出的应用数据是否依然正常。
 
 
我们再用 CANScope-Pro 测试举例了解一下测试过程:
 
步骤 1:启动 CANScope-Pro,将 RHL 调节为 60 欧,设置好和被测 DUT 相同的波特率,点击开启。控制被测能发出各种预期的报文。
 
步骤 2:打开 CANScope 的报文界面和“总线负载率”界面,发送 ID 填入 111H,DLC 为 0,发送次数为无限。分别调整重复次数,使总线负载率为 10%、30%、50%、70%、90%。使用 ID 筛选的方式,对应观察被测 DUT 的应用数据是否间隔时间是否正常。为筛选出被测 DUT 发出的 181H 的 ID,通过增量时间的方式观察是否有异常。
 
步骤 3:打开 CANScope 的报文界面和“总线负载率”界面,发送 ID 填入 7FFH,DLC 为 8,发送次数为无限。分别调整重复次数,使总线负载率为 10%、30%、50%、70%、90%。使用 ID 筛选的方式,对应观察被测 DUT 的应用数据是否间隔时间是否正常。
为筛选出被测 DUT 发出的 181H 的 ID,通过增量时间的方式观察是否有异常。
 
 
依据 GMW14241,测试结果为 DUT 在 10%、30%、50%、70%、90%负载下均可以正常工作,并且不会因为负载过高而死机,则通过测试。
 
 
其实通过负载率测试的过程我们不难发现,如果测试 CAN 一致性测试的项目都需要手动测试完成会非常耗费精力。单负载率的测试都要在不通的负载率情况下观察通信情况,其他的测试的复杂和严谨性更是不言而喻。目前能够对所有项目或者大部分想做做全自动化测试的方案少之又少,最新的 CANDT 则带有自动化测试流程,可以直接导出报表,对于 CAN 一致性测试的工程师而言应该是福音了。
 
 
CANDT 的硬件连接较为方便,搭配 CANScope-Pro 和电脑,只需一次性连接相关的供电线及通信线,利用上位机软件实现全自动化测试的目的。
 
 
如图 7 里的上位机软件所示,针对物理层、数据链路层、网络管理层的测试项可以做单项或多项的自动化测试。整个测试系统以 ISO11898 标准为核心,围绕国内主流新能源主机厂 CAN 总线测试标准为主要依据,测试功能满足 CAN 总线一致性测试需求。