文章目录
前言
不卖课、非推广,仅仅是分享,不喜勿喷哈哈哈哈哈。主要针对小白基础入门,大佬们可以划走啦~
车载网络测试能做的方向很多,例如:协议一致性测试、功能测试、诊断服务测试、刷写测试、OTA测试等等。本文不针对于某一细分方向做介绍,以Vector工具链为例,来介绍一下作为新手如何快速入门车载网络测试,列举出从基础学习到脚本开发的整体框架,希望能够帮助大家理清思路,循序渐进的了解车载网络测试。
车载网络测试学习框架
一、车辆网络基础协议
作为新人学习基础协议看起来还是非常枯燥的,会有很多地方不理解,这时候不需要去钻牛角尖,我们只需要对相关协议有一些大致的了解。比如CANLIN的帧结构、CAN三种节点状态、LIN的主从机制、LIN LDF调度、AUTOSAR网络管理的三种模式、网络模式的三种状态等等,学会先了解协议的基础特性,在后面结合Demo工程的学习中再去深化对协议的理解。
1.1、基础协议学习
对于导图中列举出来的协议基础的三类(个人理解分的)中,新手初学并非需要全部一一掌握,首先从最基础的CAN、LIN、AUTOSAR网络管理入手,可以先看中文版本便于阅读。了解车载网络通信的基本特点和ECU的通信过程,满足最基本的一些功能测试必备的知识储备。万丈高楼平地起,掌握了CANLIN基础通信协议对于学习UDS诊断协议以及后续的DOIP等协议都有一定的辅助作用。随着你的测试深入,当需要用到传感器仿真的时候,就需要去了解相关的传感器协议。例如PSI5、SENT,了解传感器协议的报文格式、通信特点,便于你的仿真发送与测试。
1.2、原版协议学习
初学者可以先从中文翻译版本的协议资料开始学习,但当你已经上手相关的测试项目、对协议有一定的理解的基础之上,一定要再去对照原版协议进行学习,相信你对协议的相关细节点有更深入的理解。特别是,当测试规范不知道如何去设计实现测试用例时,可以看看协议对该部分是如何定义的。
1.3、对照工程学习
以CAN协议基础为例,在学习过程中可以去参考CANoe中的Simulation模型、DBC数据库、示波器的报文波形等等资源进行对照学习,对理解CAN的网络拓扑、信号定义、报文收发等都会有帮助。
二、Vector工具链学习
2.1、基础软件学习
导图中列出的CANoe、CANape、vTESTstudio等软件都有各自对应的主要功能,新手在学习时,主要为CANoe总线开发仿真工具。对于通信网段创建、仿真报文发送、信号监测、Trace窗口相关信息的读取等基本功能做到熟练掌握,能够满足基本的手动测试需要。
当手动测试无法满足测试需要和自动化测试提效方面,需要进行CAPL语言编程的学习,了解CAPL语言的基本特点,基本的书写语法进行自动化脚本编写;同时在vTESTstudio中进行自动化工程创建与测试。这部分在学习过程中可以借助CANoe软件中的示例工程进行学习,如下图在CANoe->Sample Configurations中包含CAN\LIN\ETH\FlexRay\UDS\DoIP等示例一致性测试工程,以及ADAS和最新的CAN XL协议都有相应的Demo工程可供学习。结合工程,不仅可以帮助我们了解CAPL脚本的开发框架,也可以帮助我们进一步深化对网络协议的理解。
在学习CAPL脚本开发的过程中一定需要多看帮助文档,如下图,文档中有非常详细的函数调用说明、参数列表等信息。当做相关的协议一致性测试时,可以去对应的总线文档中去多翻翻相关的函数信息,能够帮助自动化开发提效。
2.2、硬件学习
Vector硬件层面包括通信接口卡和VT板卡,导图中没有完全穷举。关于通信接口卡,有必要了解的信息是的通道数量、支持的总线类型、PIN脚定义以及测试测量的参数范围等特性。关于VT板卡,需要了解的内容包括板卡的主要功能、参数、通道、设置及使用。这两部分内容如下图,可以在本地CANoe安装路径下找到相关资料,或者在帮助文档中找。
注意:对于VT板卡的学习,可以结合在CANoe中的实际操作来对照,能够有更好的理解。位置如下图,关于如何使用CAPL进行VT板卡控制也可以在CANoe中看到。
三、辅助硬件
在我们搭建车载网络系统环境及测试的过程中,必不可少的会使用到相关的硬件模块支持。
- 程控电源(小电源):控制器等相关供电。自动化实现的过程中需要软件控制电源,实现方式一般为开发DLL文件,通过接口调用的方式来进行。
- 示波器(PICOscope):观测波形,测试协议物理层用到。比如位时间、占空比测试,需要采集波形进行计算。
- 万用表(六位半):电压电流测试。
- BOB通断测试设备:相关通道的通断及故障注入模拟测试使用。
四、项目开发
实战项目开发的过程中,可以参考CANoe已经定义好的Demo工程,在此基础上做相关修改优化;遇到一些Vector工具链问题时也可能查看Vector官网上技术支持库,如下图。
Vector工具链不是车载网络测试唯一的选择,像NI、同星等等很多国内外的工具链都能实现车载网络测试,掌握了Vector一套工具链对于学习其他工具链都有异曲同工之妙。至于学习的思路、方法与上述介绍内容相似。本文只是个人的一点点学习心得记录,欢迎大家评论区补充,一起进步!
文章相关图片为Vector网站或工具截图,侵权私信删除!