文章目录
- 前言
- 一、节点级
- 1.前期准备
- 2.测试执行
- 二、系统级
- 1.前期准备
- 2.测试执行
- 三、实车级
- 1.前期准备
- 2.测试执行
- 总结
前言
LIN协议一致性测试主要指的是物理层(电阻、电容、电压、地偏移、显隐性电平、频率占空比、位时间等)、数据链路层(报文ID、报文length、各场长度、波特率等通信质量指标)、网络管理(休眠、唤醒)和故障注入(短路、开路、帧超时、节点丢失、应答错误、场位干扰等)等相关内容。本文主要记录一下在运用Vector工具链进行LIN节点级、系统级(台架/LabCar)和实车级项目测试中的不同点和注意事项。文章肯定存在一些不全面和不足之处,欢迎指正!个人记录,仅供参考。
一、节点级
节点级测试,顾名思义只有一个单节点,需要去搭建桌面测试环境。
软件:CANoe、vTESTStudio(搭建自动化脚本)
硬件:VN1611(或者1630等带有LIN channel的就行)、小电源(可选程控电源进行自动化搭建)
1.前期准备
- 确认节点类型。节点级测试需要区分被测样件是主节点还是从节点,若是主节点,则在CANoe环境搭建时仿真从节点;若是从节点,则在CANoe环境搭建时仿真主节点。
- 主/从节点的协议一致性测试项略有不同,需要根据规范加以区分。
2.测试执行
- 节点级测试是最全面的测试,物理层、数据链路层、网络管理和故障注入全部需要测。
- 数据链路层的测试只需要关注被测节点发送的报文相关测试项是否满足预期。
- 网络管理测试区分好主/从节点的不同方式。主节点由CAN报文唤醒,从节点则依赖于主节点。
- 故障注入相关测试需要进行仿真。且需要根据诊断调查表提供的DTC信息测全面。比如某LIN网段有三个从节点都有节点丢失DTC,就需要设计三条用例。一般使用CAPL自带的一些函数进行实现。部分函数列举如下:
二、系统级
系统级测试,就是整个LIN网段的测试,可以是台架或labCar环境,理论上LIN网段上所有的节点都接入。
1.前期准备
- 根据LIN网段拓扑图,提前确认好节点是否全部存在。若不存在做好标注,省略掉相关测试项。
2.测试执行
- 帧超时、节点丢失等就需要去断开真实从节点。自动化脚本实现的话,就需要去控制继电器通断。
- 数据链路层测试项需要去关注所有Rx报文。不能只分析某一帧报文结果,认为总线没有错误帧就ok。
三、实车级
1.前期准备
- 实车级测试需要根据车辆的ECU布局拓扑图找到全部被测ECU的位置,并拆车露出相关ECU。
- 工具准备。万用表(量接插件导通找到对应LIN线)、吸血鬼(引出LIN线接入1611接口卡)。
2.测试执行
- 实车级测试更多的是监控LIN网段。相对测试内容较少,需要对用例进行筛选。
- 休眠唤醒需要依赖车辆的上下电操作来进行。
- 实车级的LIN故障注入测试读取DTC等信息,需要通过OBD口来完成。并且短路、短电相关测试需要确认好没有相关危险。
总结
因三种测试环境的LIN协议一致性测试都在项目中做过,并且开发过对应的CAPL自动化脚本,所以还是有体会到三者之间在测试、代码开发上的区别。测试中要注意区分主/从节点、一主多从(无主多从、一主一从等)、车型高低配版本(同一个LIN网段,高低配车型节点数量、LDF可能有所不同)等测试场景,并且需要利用好网络拓扑图、信号矩阵、诊断调查表等资料信息来进行测试。