CAN总线自BOSCH公司发明以来,在汽车通信网络中的应用得到了广泛认可。随着汽车电子技术的发展,车上的电子模块越来越多,汽车内部的CAN总线节点也随之增多。
一般汽车内部CAN节点少则10个,多则30-40个,在对这些CAN节点进行测试的时候,工作内容复杂,且对测试人员技术要求较高。如何在保证产品质量的同时,快速推出产品,是OEM亟待解决的难题。因此,自动化测试技术作为汽车产品质量验证的重要手段变得至关重要。
针对上述问题,怿星科技自研的Neptune CAN总线自动化测试系统提供了有效的解决方案,下面跟着小编详细了解一下。
CAN总线测试内容
首先,简单介绍一下CAN总线测试内容。通常情况下CAN总线测试分为物理层测试、数据链路层测试、应用层测试、容错性测试几个部分。
01
物理层测试主要有以下内容,其中位时间、信号跳变斜率、电阻测试关注较多,也比较容易出问题。在后文详细介绍位时间和信号跳变斜率测试。
测试点 |
测试目的 |
测试条件 |
显隐性电平 |
CAN总线对逻辑信号的识别依赖于信号电平,若CANH和CANL线上电平过高或过低,都会影响总线状态的判断,则需要验证在显性、隐性状态时,CANH 和 CANL 线上电平是否满足设计要求 |
示波器 |
信号跳变斜率 |
验证DUT的 CAN电平信号上升/下降斜率是否满足设计要求 |
示波器 |
高低压通信范围 |
验证DUT的高压和低压通信工作范围是否满足设计要求 |
_ |
位时间 |
总线波特率与位时间成反比,位时间由波特率确定,要求误差±0.5%,测试验证DUT的位时间是否满足设计要求 |
示波器 |
终端电阻 |
ISO11898-2要求在高速CAN总线两端接终端电阻(一般为120Ω)以消除反射,对低速CAN没有端接要求。因此,需要验证DUT终端电阻和非终端电阻配置是否符合设计要求 |
万用表 |
地偏移 |
验证DUT在地电压发生偏移时,通信是否正常 |
地漂电源 |
▷ 位时间测试
在介绍位时间测试之前,先简单回顾一下CAN数据帧格式,如下图所示:
测试目的
主要验证DUT发送报文的位时间精度以及DUT对接收到的报文的位时间精度容错能力。
测试方法
通常选取DUT发送的其中1个CAN标准数据帧,使用示波器抓取整帧报文波形,计算从测试起始位到测试结束位的间隔时间,然后求平均值。测试起始位和结束位可以是帧起始位、仲裁段位、控制段位、数据段位、CRC段位、ACK段、帧结束位等。
测试结果
下面是使用示波器自动抓取的测试截图(从SOF起始位到ID段的结束位,测量方式为差分信号输入):
▷ 跳变斜率测试
测试目的
主要验证DUT的CAN总线信号上升斜率和下降斜率是否满足要求。
测试方法
通常选取DUT发送的其中1个CAN标准数据帧,使用示波器抓取整帧报文波形(包括CANH、CANL以及CANH和CANL之间差分信号波形),然后分析计算仲裁段或数据段内的所有跳变沿变化时间(信号从10%上升到90%或者从90%下降到10%间隔时间)。
测试结果
下面是使用示波器自动抓取的测试截图(测量方式为差分信号输入):
02
数据链路层测试主要有以下内容,其中采样点、BusOff测试关注较多,在后文详细介绍采样点测试。
测试点 |
测试目的 |
测试条件 |
采样点 |
验证DUT的采样点设置是否满足设计要求 |
VH6501干扰仪 |
ACK应答 |
验证开启/关闭总线ACK应答时,DUT通信处理机制是否满足设计要求 |
_ |
报文重发 |
验证DUT产生发送错误后,能否立即重发该报文 |
VH6501干扰仪 |
BusOff |
验证DUT快恢复策略是否满足设计要求 |
VH6501干扰仪 |
高负载 |
验证在总线高负载情况下,DUT是否会出现丢帧现象 |
_ |
最大填充位报文 |
验证在总线上仿真发送最大填充位报文,DUT通信是否正常 |
_ |
▷ 采样点测试
测试目的
主要验证DUT的采样点设置范围是否满足要求。
测试方法
通常是使用测试工具在CAN总线上发送特定干扰报文,然后检测DUT是否会发送错误帧。本文中选取的测试方法是使用Vector的VH6501设备进行干扰,周期发送高优先级报文,在每个周期,微调CRC_DEL位长度,使其缩短1个VH6501时钟长度,并同时将后一位ACK_Slot位长度增加1个VH6501时钟长度。
由于CRC_DEL位固定位隐性位,ACK_Slot位固定位显性位,当ACK_Slot显性位移到DUT采样点位置时,就会被DUT采样到并判定CRC_DEL位为显性位,DUT检测为格式错误,就会向总线发送错误帧,测试工具检测到DUT发送的错误帧时,则结束测试,并记录调整的次数为n,然后根据调整次数计算出DUT的采样点。
具体计算方法如下:
以CAN总线500Kbps速率为例,一个位时间为2000ns(1/500K),VH6501时钟频率为160MHZ,每个VH6501时钟长度为6.25ns(1/160M),则DUT采样点:Sample = (2000 - 6.25 * n) / 2000。
测试结果
VH6501干扰过程,如下图所示:
03
▷ 应用层测试主要有以下内容,在后文详细介绍报文周期测试。
测试点 |
测试目的 |
测试条件 |
消息标识符 |
CAN总线通过ID仲裁,发送数据,因此,需要验证DUT所有发送报文ID与数据库定义是否一致 |
解析数据库 |
数据长度 |
验证DUT所有发送报文DLC与数据库定义是否一致 |
解析数据库 |
报文周期偏移 |
验证DUT所有发送周期报文的周期偏移是否满足设计要求 |
解析数据库 |
信号初始值 |
验证DUT发送的报文信号初始值和数据库是否一致 |
解析数据库 |
未使用位填充 |
验证DUT发送的报文未使用位填充数据值和数据库是否一致 |
解析数据库 |
接收报文 |
验证仿真数据库定义的接收节点为DUT的所有报文,DUT通信是否正常 |
解析数据库 |
▷ 报文周期偏移测试
测试目的
主要验证在单节点测试环境下,DUT发送的周期报文偏移是否在±10%以内。
测试方法
待DUT通信稳定后,使用CANoe持续监控总线一段时间(至少是10分钟),记录在此期间接收到的所有周期报文的发送时间,然后计算每个周期报文的发送间隔最小值、最大值、平均值。
测试结果
判断每个周期报文发送间隔最小值、最大值、平均值的周期偏移误差均在数据库定义周期的±10%以内。
04
▷ 容错性测试主要有以下内容:
测试点 |
测试目的 |
测试条件 |
CANH/L短电源 |
验证DUT在CANH/L对电源短路时处理机制是否满足要求,并确认通信恢复时间参数是否满足设计要求 |
容错性测试环境 |
CANH/L短地 |
验证DUT在CANH/L对地短路时处理机制是否满足要求,并确认通信恢复时间参数是否满足设计要求 |
容错性测试环境 |
CANH与CANL短路 |
验证DUT在CANH与CANL短路时处理机制是否满足要求,并确认通信恢复时间参数是否满足设计要求 |
容错性测试环境 |
CANH/L断路 |
验证DUT在CANH/L断路时处理机制是否满足要求,并确认通信恢复时间参数是否满足设计要求 |
容错性测试环境 |
DUT掉电源 |
验证DUT在与电源断开时处理机制是否满足要求,并确认通信恢复时间参数是否满足设计要求 |
容错性测试环境 |
DUT掉地 |
验证DUT在与地断开时处理机制是否满足要求,并确认通信恢复时间参数是否满足设计要求 |
容错性测试环境 |
CAN总线自动化测试系统架构
为保证测试的高效执行,自动化测试执行是必要的,我们的CAN总线自动化测试系统由测试软件、测试硬件系统、DUT被测系统组成。
测试软件:
自动化测试操作管理软件,用户可以进行测试参数配置、测试用例选择、测试执行、测试报告管理和Log记录及分析等。
测试硬件系统:
主要功能是模拟硬件测试环境,进行DUT电源控制、I/O信号控制及仿真、报文监控及仿真、CAN总线故障注入、CAN总线信号采集、CAN总线干扰等。一次可同时部署多个DUT,程序自动切换测试,实现高效便捷操作。
DUT被测系统:
被测CAN总线节点,符合ISO11898标准的CAN/CANFD节点。
这套怿星自研的Neptune CAN总线自动化测试系统不但能提高测试覆盖度,自适应不同测试环境,大幅减少测试工作量,而且操作简单,对测试人员的技术要求较低,同时还具备其他特点:
集成多种测试功能,CANFD节点通信测试、LIN主/从节点通信测试、Autosar CAN网络管理测试、CAN/CANFD/LIN诊断、刷写、通信路由、诊断路由测试等
支持二次开发功能,提供了丰富的API接口,支持Excel/LDF/DBC/ARXML文件解析等
对此,感兴趣的小伙伴可以联系我们进行咨询!
↓↓↓↓↓↓↓
喜欢此篇文章欢迎评论、收藏、分享支持小编~
更多技术干货,行业前沿动态,请关注上海怿星科技官方公众号:怿星科技eplanet