如何进行CAN总线高效测试?
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
如何进行CAN总线高效测试?相关推荐
- 航天总线测试系统软件,总线仿真测试平台软件
产品介绍: FZ-BEST是一款综合了ARINC664.FC-AE.ARINC818.ARINC429.1553B等总线仿真测试平台,主要面向航空/航天.车辆以及船舶等应用领域,提供协议分析.总线仿真 ...
- 硬件测试的思考和改进:有道词典笔的高效测试探索
作者/ 刘哲; 编辑/ Ryan ; 来源/ 有道技术团队(ID: youdaotech) 引言 当我们提到智能硬件的高效测试时,通常会考虑使用自动化测试的方案,提升产品的测试效率和质量. 由于智能硬 ...
- 基于ZYNQ 7000的1553B总线控制器测试系统的设计与实现
为了方便对1553B设备进行测试,本文介绍了一种基于ZYNQ 7000 平台的1553B总线控制器测试系统的设计与实现方法.该系统首先在 PC机上通过人机交互界面配置数据,支持灵活对数据故障注入,然后 ...
- 上海控安:车载总线渗透测试分析,构建网络安全防护体系
背景 随着智能网联汽车的发展,车辆的互联性大幅提高,与之相伴的则是大大上升的汽车网络安全风险.根据工信部车联网动态监测情况显示,2020年以来发现整车企业车联网信息服务服务提供商等相关企业和平台的恶意 ...
- CANoe总线开发测试工具学习帖(20190329-201904)
[说明]:本贴主要为自己学习而总结.根据上海理工大学景传奇师兄的材料所总结,在此深表感谢.希望和大家一起学习,编辑仓促,内容有误,欢迎拍砖~同时如师兄所说,学习一款软件最好的教程最好不过是Help文档 ...
- 航天总线测试系统软件,BEST 总线仿真测试平台
产品介绍: BEST是一款综合了ARINC664.FC-AE.ARINC818.ARINC429.1553B等总线仿真测试平台,能够快速搭建多网.多总线的仿真测试环境,并可根据用户的需求进行定制拓展, ...
- 基于AT89C51单片机实现串行总线芯片测试实验平台的设计
应用串行接口芯片扩展系统时,在初步选择了串行接口的芯片后,为了对芯片的资源更好地了解,开发者一般在系统设计前搭建一个简单的硬件电路并编制相应的软件对其测试,待性能验证后再确定最终的设计方案。本文根据这 ...
- 鉴源论坛 · 观辙丨汽车CAN总线渗透测试
作者 | 肖博阳 上海控安可信软件创新研究院研发工程师 来源 | 鉴源实验室 01 CAN总线 1.1 CAN总线是什么? CAN是控制器局域网络(Controller Area Network, ...
- 服务总线yali测试_总线压力测试系统及其方法
总线压力测试系统及其方法 [技术领域] [0001]本发明涉及一种压力测试系统及其方法,特别是指以快捷外设互联标准装置(PC1-E)产生压力数据流避免占用中央处理器使用时间的总线压力测试系统及其方法. ...
最新文章
- 业务基础【概念说明】-userAgent
- js自定义类,混合的构造函数/原型方式
- Linux中nginx的常见指令
- 【转】const int *p和int * const p的区别(常量指针与指向常量的指针)
- vue 生成发布包_Vue 3.0 终于正正正正正式发布了!
- 怎样做地推,转化率提高20倍?
- 程序员的自我救赎,GitHub 摸鱼神器一览
- RISC-V教材勘误
- 腐蚀rust电脑分辨率调多少_腐蚀Rust画面怎么设置 _游侠网
- 基于java的超市会员积分管理系统
- 个人备案网站不能做博客了?
- 记 · 寒风依旧 · 虎跑路和人生路
- intellij idea 类和文件夹(目录)左上角出现小叉号
- 数据结构算法之数组篇
- 关于Linux内核中有多少代码是来自华人
- 物联网蜜罐地理分布情况
- mysql root password_MYSQL安装时解决要输入current root password的方案
- ssm高校学生档案信息管理系统 毕业设计- 附源码010936
- selenium+python爬取简书文章
- Cuckoo沙箱安装步骤
热门文章
- Python爬取金庸人物
- u-boot for tiny210 ver3.1 (by liukun321咕唧咕唧)
- G.7xx:视频/音频压缩协议(Audio/Voice Compression Protocols)
- 嵌入式Linux学习笔记(1-5)——点亮mini2440 LED
- html5中top什么意思,margin-top在html中的意思是什么
- HDU2036 改革春风吹满地
- SPI和API还在傻傻分不清楚?
- python写爬虫之提取网页的内容(筛选)_Python网络爬虫项目:使用requests获取网页,通过BeautifulSoup提取数据...
- Windows NPS搭建(NPS配置交换机radius认证登录)
- 模型量化压缩功能全解:打开AI部署加速器