聊聊AUTOSAR:基于Vector MICROSAR的TC8测试开发方案

技术背景

车载以太网技术作为汽车智能化和网联化的重要组成部分,正逐步成为现代汽车网络架构的核心,已广泛应用于汽车诊断(如OBD)、ECU软件更新、智能座舱系统、高清摄像头环视泊车系统等多个领域。

在这个过程中,ETS与Upper Tester作为车载以太网测试领域的重要技术和工具,发挥着不可或缺的作用。这两者的结合,为车载以太网系统的全面验证与优化提供了强有力的支持。它们不仅能够帮助工程师在设计和开发阶段及时发现并解决潜在的问题,还能确保最终交付给消费者的汽车产品具备卓越的网络性能和稳定的应用体验。随着汽车智能化和网联化趋势的不断加深,ETS与Upper Tester的重要性和应用价值也将进一步凸显。

  1. ETS和Upper Tester测试分别是什么?

ETS全称是Enhanced Testability Service,是配置在被测件中,用于配合外部测试实现SOME/IP协议栈一致性测试的特殊测试服务。也就是说,ETS测试要求被测件配置额外的服务,专门用来完成更多的测试功能,比如数据的序列化及反序列化,这些功能并不是被测件的实际功能,而仅仅是用于ETS测试。ETS测试总共包含178条测试用例,其中有正向测试和逆向测试,能够更加全面地验证SOME/IP协议栈的一致性、安全性和鲁棒性。

用例分类

用例数目

测试内容概述

数据序列化

73

检查被测件在Request/Response通信模式下,对Request的数据系列化能力,包括是否可以正确进行数据序列化和异常数据处理方式;

Server端通信行为测试

49

检查被测件在Server服务启动之后,Service Discovery的通信行为,包括Offer Service报文的发送、订阅处理和事件报文发送情况检查;

Client端通信行为测试

13

检查被测件在Client服务启动之后,Service Discovery的通信行为,包括Find Service报文的发送时机、订阅处理和事件报文的接收情况检查;

报文结构检查

6

检查被测件对SOME/IP报文结构的解析能力,报文协议字段的处理流程和异常结构的处理。

Upper Tester简称UT,是集成在被测件中,充当TCP/IP协议栈的应用程序,用于配合外部测试仪实现以太网3~4层(TCP/IP协议栈)一致性测试的特殊软件模块。TCP/IP协议栈覆盖以太网通信模型的3~4层,包含多个子协议,各子协议之间功能相对独立,互不干扰。为了充分验证各子协议的协议一致性,TC8针对各子协议定义了测试规范,以下列举了车载以太网测试常用的测试内容。由于TCP/IP协议栈本身不能自主收发报文,因此需要集成Upper Tester软件,用来调动TCP/IP协议栈功能,实现自动化测试。

用例分类

用例数目

测试内容概述

TCP

188

检测TCP的Server side和Client side连接建立过程,以及数据收发的可靠性测试,如序列号和确认号的恢复能力、连接断开后续状态检测等;

UDP

31

检测UDP Socket的数据收发能力、网络参数的可设置性能,及数据交互过程中的报文格式检查;

ARP

41

检测ARP表的可配置性和ARP报文交互方式;

ICMP

14

检验ICMP故障监测能力,以及IP协议对ICMP报文的处理方式;

IPv4

30

检测IP通信行为、对IP地址的处理能力以及IP分包的处理能力;

DHCP

35

检测被测件作为DHCP Client的通信行为,获取IP的方式及对IP地址老化处理方式等。

  1. 如何在Vector MICROSAR上实现ETS和Upper Tester?

MICROSAR是Vector公司的AUTOSAR CP解决方案,包含了协议栈代码、文档以及配置工具,市场占有率高,质量稳定可靠。接下来小编就带大家了解一下在MICROSAR上实现ETS和Upper Tester的具体方法。

2.1 Upper Tester开发

首先说Upper Tester,因为是对TCP/IP协议的测试,因此我们只需要考虑与TcpIp模块的适配即可。在MICROSAR上实现Upper Tester开发有两种方式,一种是采用MICROSAR代码包里原装Etm模块。Etm模块的全称是Ethernet Testability Module,是MICROSAR原厂的一种Upper Tester软件包,由于Etm模块并不参与正常的通信功能,所以它是一个可选包,这个包存在的意义,就是为了满足TC8的测试需要。用户要根据测试需求,在前期购买代码包的时候,确定是否购买Etm模块。在具备原厂Etm模块的情况下,只需按照标准流程,添加Etm模块即可,如下图所示。

如果代码包里找不到Etm模块,那么就需要集成第三方的Upper Tester软件包,如东信创智自研的IpUT软件包。集成第三方的软件包,其过程与Etm模块集成的过程有很多相似之处,都需要在TcpIp模块里添加一个Cdd(复杂设备驱动)接口,并且配置TcpIp与Cdd模块之间的回调函数接口。小编特意对Upper Tester的开发流程进行了梳理,供大家交流学习。

以上是Upper Tester的开发要点,所有步骤都是在DaVinci Configurator配置工具上完成的。从开发复杂度上来讲,ETS更复杂,接下来我们看看ETS的开发要点。

2.2 ETS开发

ETS是SOME/IP协议的测试服务,在AUTOSAR架构下,规定了SOME/IP通信协议,但是并没有一个固定的SOME/IP软件模块,SOME/IP的通信协议其实是由应用层、Rte模块和Service Discovery模块共同实现的。因此ETS的开发会涉及到IP地址和Socket配置、Service Discovery服务信息配置、Rte模块中Port接口和数据序列化配置,以及应用层数据处理函数的实现。牵扯的模块包含了底层到应用层的各个层级的参数配置,若采用纯手动配置的方式,即使经验丰富的工程师,也需要耗费大量的工时来调试这些配置项。

因此SOME/IP服务最常见的开发方式是在架构开发阶段,就定义好SOME/IP服务及服务相关的数据结构、通信参数、信号触发方式等参数,并且将这些参数打包到一份arxml文件中。开发ETS的时候,只需要将这份arxml文件导入到DaVinci工具,就可以自动生成SOME/IP相关的所有模块的配置项,大大缩短开发周期和开发出错的概率。这种开发方法的另一个好处是,arxml文件可以复用,因此在任何项目和硬件平台上,都可以快捷地实现ETS开发,这也可以显著减少开发的成本。

有些人会担心,原本工程里的SOME/IP服务也是arxml导入后生成的,现在要做ETS测试,导入新的arxml文件会不会对原有功能产生影响。首先说结论,不会。因为在DaVinci配置工具中,新数据的导入会与现有的数据库进行融合,实现的是增量配置,因此不会改变现有的应用功能。

按照上述步骤导入arxml文件之后,会再自动生成很多与ETS相关的新配置项,这些配置项很有可能会在工程中报错,这是由于arxml文件在制作时无法预测用户实际适用场景,因此包含了一些辅助性的配置,比如以太网驱动、IP地址等。因此,工程师后续的工作就是消错,去掉无用的驱动、EthIf模块和TcpIp模块多余的配置项,沿用工程的配置参数即可。

DaVinci Configurator里只实现网络传输层配置、Rte Port和数据序列化算法生成,而Rte Port以及应用数据的适配,需要在应用开发工具DaVinci Developer中完成。在DaVinci Developer里,ETS作为一个应用组件Component,首先需要实例化,然后再为每一个信号创建一个Runnable来进行处理。所谓Runnable可以理解为软件里的回调函数,在这个函数里,可以通过调用特定的Rte Port来收发数据,或者执行特定的操作。

Runnable里能操作Rte Port的前提,是基于应用层信号与底层信号的藕和,这一步是通过Data Mapping来实现的。完成Data Mapping和Runnable的配置之后,在DaVinci Developer中会重新更新数据,ETS从底层到应用层的所有配置项都进一步完善。最后,还需要对一些周期性函数分配任务调度周期,这个操作叫做Task Mapping。这一步完成后,ETS开发工作就结束了,后续生成配置代码,编译烧录即可。

下图展示了完成ETS配置后的控制器与外部测试环境之间的关系,基于这样的环境,如何来执行测试呢?我们接着往下看。

  1. 如何进行测试?

完成Upper Tester和ETS的配置之后,使用DaVinci配置工具生成配置代码,然后将配置代码与被测件工程代码一起编译生成二进制文件,刷写到控制器中就完成了集成工作。然后我们就要选定一种测试方案,也就是选定一种测试仪。以下列举两种测试环境,第一种是基于Vector vTESTstudio的测试环境,如图。

第二种是基于Spirent TTworkbench的测试环境,如图。

  

       以上两种测试仪都是依据TC8的测试标准来运行测试用例,测试流程大体是一致的,但也有区别。区别主要体现在TCP的测试上,在TC8规范里,没有明确规定被测件的状态如何来获取,比如当被测件里的TCP Socket处于ESTABLISHED状态时,Spirent的验证方法是命令被测件发数据或者收数据,若能正常收发,则可以确定被测件的状态。而在vTESTstudio中,是通过一个自定义的命令TcpGetState来直接获取当前Socket状态。而这条命令对于被测件来说,是一条超越规范的命令,虽然在Vector MICROSAR里实现了这条命令,但若是运行其它厂家的软件,却未必支持这条命令,这是小编要提醒广大测试工程师们要注意的。

  1. 我们能做什么?

ETS与Upper Tester作为车载以太网测试的重要工具,是技术创新与品质保障的核心。针对这一体系,我们提供了一站式的集成服务与专业的测试服务,旨在帮助客户轻松配置DaVinci等测试环境,将ETS与Upper Tester无缝融入AUTOSAR CP架构中。通过精细的DaVinci配置方法,我们能够确保测试环境的高效性、准确性与可扩展性,助力客户在快速迭代的产品开发中,持续保持技术领先与品质卓越。

我们可以提供以下五种服务:

  1. 样件TC8网络测试服务;
  2. AUTOSAR CP Upper Tester+ ETS集成;
  3. Linux系统下Upper Tester集成;
  4. 适配vsomeip协议栈的ETS集成;
  5. vTESTstudio或Spirent测试设备集成及测试培训;

无论是对于复杂的网络通信测试,还是针对特定应用场景的功能验证,我们都能提供量身定制的解决方案,满足汽车行业日益增长的测试需求。若您对我们的服务感兴趣,或者还想了解更多关于以太网测试的内容,欢迎私信或者留言!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/144722.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloud 基于 web 的只会养老平台

摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计…

Django SQL注入-漏洞分析

1.进入项目界面 图1 项目主界面 2.访问任意不存在的目录路径报错,提示存在demo接口 图2 提示存在接口 3.访问/demo/,提示有一个name参数 图3 发现隐藏参数 4.对接口参数进行fuzz(实战思路),vulfocus已经给出了/demo?…

Cypress安装与启动(开始学习记录)

一 Cypress安装 使用npm安装 1.查看node.js npm的版本,输入 npm --version 和 node --version,node.js没安装的可以去中文网下载最新稳定版安装,npm不建议升级到最新版本,会导致安装Cypress时Error: Cannot find module ansi-st…

一篇文章解决ComfyUI常见的故障报错!

前言 学习和使用ComfyUI最痛苦的是什么?就是这满屏的红色方框和和[报错信息] “报错信息”),处理完一批又一批,很多人玩了一两个流程就搞不下去了,很多初学者因此就放弃了。 有道是:配置流程大半天,跑通出…

C++速通LeetCode中等第9题-合并区间

排序后迭代&#xff0c;遇到符合条件的就删除前一项&#xff0c;合并到后一项。 class Solution { public:vector<vector<int>> merge(vector<vector<int>>& intervals) {int left 0,right 0;sort(intervals.begin(), intervals.end());vector&…

YOLOv5模型部署教程

一、介绍 YOLOv5模型是一种以实时物体检测闻名的计算机视觉模型&#xff0c;由Ultralytics开发&#xff0c;并于2020年年中发布。它是YOLO系列的升级版&#xff0c;继承了YOLO系列以实时物体检测能力而著称的特点。 二、基础环境 系统&#xff1a;Ubuntu系统&#xff0c;显卡…

妙笔生花,扩散模型技术探索与分享

一、引言 扩散模型因其强大的图像生成能力引发了巨大的关注,一度达到取代人类插画师的地步。在这个创意无界、视觉为王的时代,扩散模型正悄然带来一场前所未有的视觉盛宴,受到业界广泛关注。OpenAI轰动一时的“Sora”、淘宝AI制图工具“绘蛙”、京东内容创作平台“京点点”…

ATE自动化测试系统集成:软件与硬件的技术结合

ate测试系统集成通常是指将测试软件、测试硬件(如示波器、数字万用表、矢网等)与通信技术组合起来&#xff0c;从而满足产品的测试需求。ATE测试系统集成已经成为提高电子产品测试效率和精度的必要手段。它将多种测试工具与自动化技术相结合&#xff0c;以满足不断升级的测试标…

坦白了,因为这个我直接爱上了 FreeBuds 6i

上个月&#xff0c;华为发布的 FreeBuds 6i 联名了泡泡玛特真的超级惊艳&#xff0c;不少宝子被这款耳机的颜值所吸引&#xff0c;而它的实力更是不容小觑的。FreeBuds 6i 是一款性能强大的降噪耳机&#xff0c;它一直在强调平均降噪深度&#xff0c;但是应该很多人对这个概念很…

从“治理”到“智理”,看大模型如何赋能智慧政务

一、从治理到智理的飞跃 在智慧城市的建设蓝图中&#xff0c;智慧政务如同一股不可忽视的力量&#xff0c;正悄然改变着城市的治理面貌。传统意义上&#xff0c;“治理”往往意味着对复杂社会现象的被动应对&#xff0c;而“智理”则预示着通过智能化手段主动预见、解决问题的…

notepad++的json查看

json文件查看 因为接触到3dtile模型&#xff0c;所以经常需要和json打交道&#xff0c;但是很多模型是下面这种情况&#xff0c;不好阅读&#xff0c;所以可以使用notepad的插件查看 正常打开是这样的 加载notepad插件 搜索json下载安装就可以了 如果网络抽象&#xff0c;下载…

性价比头戴式无线耳机推荐哪款好?四款宝藏性价比机型测评盘点

当消费者在寻找性价比高的头戴式无线耳机时&#xff0c;他们往往希望找到既经济实惠又具备出色性能的产品&#xff0c;市场上有许多品牌和型号可供选择&#xff0c;它们在音质、舒适度、续航能力以及附加功能等方面各有特色&#xff0c;性价比头戴式无线耳机推荐哪款好&#xf…

厂家解读:全钢pvc防静电架空地板的优缺点

为了防止静电带来的危害&#xff0c;数据中心、监控室、多媒体教室等这些电子设备较多、对静电敏感的场所都会安装防静电地板。其中全钢pvc防静电架空地板颇受欢迎&#xff0c;那么什么是全钢pvc防静电架空地板&#xff1f; 全钢pvc防静电架空地板是由优质合金冷轧钢板经过拉伸…

Java双端队列ArrayDeque

概述 双端队列ArrayDeque是Java集合框架中的一种数据结构&#xff0c;它实现了Deque接口&#xff0c;因此支持在两端进行添加和移除元素。通过名称也能看出&#xff0c;ArrayDeque是基于数组实现的&#xff0c;ArrayDeque内部使用一个可动态调整大小的环形数组来存储元素。当Ar…

印尼有几百种语言,初学者要怎么开始学习?《印尼语翻译通》app或许可以帮助你!印尼语零基础入门学习。

快速翻译&#xff0c;准确高效 采用最新技术&#xff0c;提供精准翻译。翻译结果符合中国人习惯。 体验印尼文化 学习地道印尼语&#xff0c;贴近当地文化。 旅游和工作的好帮手 提供旅游和商务用语&#xff0c;沟通无障碍。 学习印尼语的良师 文本和语音翻译&#xff0c;…

C#使用实体类Entity Framework Core操作mysql入门:从数据库反向生成模型

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…

I2C中继器TCA9517A(TI)

一、芯片介绍 本芯片是一款具有电平转换功能的双向缓冲器&#xff0c;适用于I2C和SMBus系统&#xff0c;同时支持各种拓扑结构的扩展使用。芯片支持SCL和SDA缓冲&#xff0c;因此允许两条总线的负载电容达到400pF。 TCA9517A的A和B侧驱动器是不同的&#xff0c;但是均可耐受5…

深入理解Vue3中style的scoped

概述 scoped的作用就是样式模块化(CSS Module),即给组件每一个元素(以及非动态添加的子组件的根元素)加上一个data-v-xxxx的属性,样式选择器也会格式化成选择器[data-v-xxxx],这样就做到了样式隔离,每个组件内定义的样式只对该组件生效,避免了不同组件或页面的样式(选…

3.MySQL库和表的操作

目录 数据库的操作创建数据库数据库删除字符集和校验规则指定编码创建数据库校验规则对数据库的影响数据库的改数据库的查 数据库的备份与恢复表的增删查改创建表&#xff1a;查看表修改表删除表&#xff1a; 数据库的操作 创建数据库 语法&#xff1a; CREATE DATABASE [IF…

java重点学习-常见技术场景

十四 常见技术场景 14.1 单点登录是怎么实现 单点登录的英文名叫做: Single Sign On (简称SSO),只需要登录一次&#xff0c;就可以访问所有信任的应用系统 单个tomcat服务session可以共享&#xff0c;微服务、分布式下多个tomcat服务session不共享 介绍单点登录的解决方案&…