技术丨 浅谈以太网系统级刷写测试

在研发阶段,我们一般将ECU直连至刷写上位机进行软件更新,但在整车环境中,各ECU之间通过线束连接在一起,如果此时想对某个单独的样件进行软件更新,把零件拆下来再接到上位机上进行软件更新是不现实的。

作为测试工程师,除了保证ECU直连上位机的时候可以正常进行软件升级之外,也要保证在整车环境下可以对车辆软件进行更新。搭建一个系统级的台架测试环境,将车内的ECU节点按照整车网络拓扑连接好之后,模拟上位机对ECU进行刷写测试,可以验证在整车环境下,各ECU之间是否能配合完成车辆软件的更新。

01 系统级刷写实现方式

在整车上实现软件升级一般有两种方式,最常见的是通过车辆的OBD接口,用诊断仪进行升级,还有一种是通过远程诊断(如TBOX)的方式来实现升级功能。下图描述了整车网络拓扑的简图。

图片

上位机(诊断仪/TBOX)通过以太网TX/T1接口连接网关节点,将UDS诊断请求发送给网关,网关要实现诊断路由功能,解析DoIP报文中的TA(Target Logical Address),识别上位机是给哪个网段的哪个ECU发送的诊断请求,并将该诊断请求路由到对应ECU所在的网段上。同理,网关将ECU回复的诊断响应路由给上位机,在执行了完整刷写流程的诊断交互之后即实现了对ECU的软件升级。

完成系统级刷写除了需要ECU本身实现刷写功能,还需要网关实现诊断路由功能,下面简要介绍各参与模块的工作原理。

ECU刷写

车载ECU的刷写流程主要包括3个阶段(预编程,编程,后编程),通过UDS协议来实现,下图是基于UDS刷写的流程示例。

图片

网关诊断路由

DoIP->DoCAN

当上位机刷写的ECU为车内CAN节点时,网关根据诊断报文中的Target ECU Logical Address识别目标CAN节点,将上位机发送的以太网诊断请求转换为CAN诊断请求给ECU,之后将ECU回复的CAN诊断响应转换为以太网诊断响应给上位机,实现DoIP->DoCAN的路由。诊断请求报文格式转换示例如下。

图片

DoIP路由DoCAN诊断请求格式示例

图片

图片

车内CAN节点诊断交互过程示例

DoIP->DoIP

当上位机刷写的ECU为车内DoIP节点时,网关根据诊断报文中的Target ECU Logical Address识别目标DoIP节点,并主动与ECU完成路由激活,之后转发上位机发送的以太网诊断请求给ECU,以及ECU回复的诊断响应给上位机,实现DoIP->DoIP的诊断路由。诊断请求报文格式转换示例如下。

图片

DoIP路由DoIP诊断请求格式示例

图片

图片

车内DoIP节点诊断交互过程示例

上位机

上位机发送UDS诊断请求,网关在上位机和ECU之间实现诊断路由,从而实现上位机对ECU的诊断,上位机按照刷写流程一步一步的将刷写文件写入ECU中,实现ECU的软件更新。

02 系统级刷写测试

测试环境

实现系统级刷写测试需考虑系统供电、通讯控制、故障注入三个方面。

系统供电:需要选用可编程控制的电源,方便自动化调节系统的供电电压。

通讯控制:Tester需要模拟上位机实现跟网关的通信,同时也要监听网关和ECU之间的通信,这就要求测试使用的网络接口卡可以同时监听多个网段(Tester<-->网关,网关<-->车内ECU),当刷写流程出现问题时(如,上位机没有接收到诊断响应),可以通过不同网段的log分析是ECU没有回复诊断响应,还是网关没有正确转发ECU的诊断响应。采用TAP模式监听网关和车内以太网节点之间的以太网数据。

图片

故障注入:测试过程中需要模拟网络通讯故障和ECU掉电故障,如CAN通讯断路,以太网P/N短路等。可以选用ETS6204模拟以太网通讯故障,ETS6210模拟CAN网络通讯故障,同时也都能实现对ECU的电源控制。

测试点

系统级刷写测试的执行一般是在完成单节点刷写测试和网关诊断路由测试之后,在此之前应已单独验证了ECU可以实现刷写功能,以及网关可以实现诊断路由功能。

单节点的刷写测试,侧重点在于验证刷写流程,以及刷写流程错误时ECU的响应。而系统级刷写测试,则着重关注测试环境变化对刷写的影响,如电压不稳定、以太网接线不稳定等,确保当一次刷写出现问题时不影响后续重新对其进行刷写。可设计的测试点参考如下。

图片

软件实现

Tester可以使用CANoe或SolarTest软件实现自动化测试,如之前描述,在系统级刷写测试之前已经进行了单节点的刷写测试,那么系统级的刷写测试,就可以基于单节点的刷写测试脚本进行更新。


以上就是我们给大家分享的以太网系统级刷写测试的相关内容了,任何疑问或是自动化测试需求,都可以随时联系我们噢,感谢大家的阅读~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT编写应用的界面自适应分辨率的解决方案

博主在工作机上完成QT软件开发&#xff08;控件大小与字体大小比例正常&#xff09;&#xff0c;部署到客户机后&#xff0c;发现控件大小与字体大小比例失调&#xff0c;具体表现为控件装不下字体&#xff0c;即字体显示不全&#xff0c;推测是软件不能自适应分辨率导致的。 …

泰克TDS3054B示波器 2 或 4 条通道

产品特点 500 MHz 、300 MHz 、100 MHz 三种带宽 取样速率高达 5 GS/s TDS3054B 数字示波器带宽500MHZ TDS3054B TDS3054B 数字示波器带宽500MHZ TDS3054B 2 或 4 条通道 全 VGA 彩色 LCD 显示 25 种自动测量功能 9 位垂直分辨率 TDS3054B 数字示波器带宽500MHZ TDS3054B TDS…

【图神经网络 · 科研笔记5】异构信息网络,利用注意力选择元路径;利用进化邻域和社群实现自监督动态图嵌入,交叉监督对比学习;近期科研思维导图小汇总;

记录部分科研文献阅读相关内容【划重点】,主题“图神经网络”,仅学习使用。 🎯作者主页: 追光者♂🔥 🌸个人简介: 📝[1] CSDN 博客专家📝 🏆[2] 人工智能领域优质创作者🏆 🌟[3] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌿[4] 2022年度…

【深入探讨人工智能】网络研讨系列介绍

笔者于2023年7月27日受邀代表开源社参加 Linux 基金会和 Open Source Initiative&#xff08;OSI - 开源促进会&#xff09;在日内瓦联合举办的 Open Source Congress 2023&#xff08;全球开源峰会&#xff09;。 国内同时有开放原子开源基金会孙文龙理事长率团参加。短短一天…

15个热门的开源数据可视化项目

数据可视化(即 BI仪表盘)是图形表示的数据。它涉及产生将表示的数据之间的关系传达给图像查看者的图像。这种通信是通过在可视化过程中使用图形标记和数据值之间的系统映射来实现的。该映射建立了如何在视觉上表示数据值,确定图形标记的属性(例如大小或颜色)如何以及在多大程…

Zookeeper集群搭建,四字命令监控,Leader选举原理以及数据如何同步

Java学习面试指南&#xff1a;https://javaxiaobear.cn 1、集群角色 Leader&#xff1a; 领导者。 事务请求&#xff08;写操作&#xff09;的唯一调度者和处理者&#xff0c;保证集群事务处理的顺序性&#xff1b;集群内部各个服务器的调度者。对于create、setData、delete…

七星创客系统模式:轻松打造千万会员体系

在当今快速变化的商业环境中&#xff0c;企业需要一种全新的模式来应对挑战&#xff0c;而七星创客模式正是这样一种具有吸引力的解决方案。七星创客模式是一种创新的商业模式&#xff0c;它通过将传统销售模式与现代科技手段相结合&#xff0c;为企业带来更多的机遇和可能性。…

教你如何完美录制电脑端游戏视频

在如今的互联网时代&#xff0c;游戏视频已成为了一个非常受欢迎的内容形式。无论是玩家和内容创作者想要分享自己的游戏技巧&#xff0c;还是游戏制作公司想要宣传自己的新作品&#xff0c;录制游戏视频已经成为了一种流行的趋势。 那么&#xff0c;如何在电脑上录制游戏视频…

JS逆向基础

JS逆向基础 一、什么是JS逆向&#xff1f;二、接口抓包三、逆向分析 一、什么是JS逆向&#xff1f; 我们在网站进行账号登录的时候对网页源进行抓包就会发现我们输入的密码在后台会显示为一串由字母或数字等符号&#xff0c;这就是经过加密呈现的一段加密文字&#xff0c;而分…

搭建接口自动化测试框架python+requests+pytest

安装python&#xff08;最好是比较新比较稳定的版本&#xff09;&#xff0c;然后是python的解释器或者叫编译器pycharm安装后新建一个项目&#xff0c;以此项目为基础&#xff0c;安装依赖搭建框架。打开pycharm&#xff0c;点击左上角的File->New project->弹出如下界面…

业务逻辑漏洞有哪些?漏洞攻击防御及代码示例

文章目录 简介危害成因攻击防御代码示例1. 未经验证的重要操作2. 认证绕过3. 逻辑时间窗口漏洞4. 负载测试漏洞 修复 业务逻辑漏洞是指软件或系统的逻辑设计上的缺陷&#xff0c;这些缺陷可能被攻击者利用&#xff0c;从而导致意料之外的行为。下面是对业务逻辑漏洞的简介、危害…

在线客服系统性价比比较:哪家更适合您的需求?

众多的在线客服系统中&#xff0c;哪家性价比更高&#xff1f;这大概是很多企业要考虑和考量的问题。如果您是一名公司采购人员&#xff0c;正在寻找一款功能全面、价格合适的在线客服系统&#xff0c;那么这篇文章或许能为您提供一些参考价值。 Zoho Desk工单管理系统&#x…

微信小程序promise封装

一. 在utils文件夹内创建一个request.js 写以下封装的 wx.request() 方法 const baseURL https:// 域名 ; //公用总路径地址 export const request (params) > { //暴露出去一个函数&#xff0c;并且接收一个外部传入的参数let dataObj params.data || {}; //…

软文营销的重要性,媒介盒子为你解答

信息茧房环立且用户注意力稀缺的时代下&#xff0c;品牌方唯有在内容上精耕细作才能吸引用户。软文营销能够帮助公司吸引流量&#xff0c;建立与消费者的信任联系&#xff0c;同时增加转化并产生更多的业务。接下来媒介盒子就和大家聊聊&#xff1a;软文营销的重要性。 一、 可…

【论文阅读】FreeU: Free Lunch in Diffusion U-Net

FreeU: 无需训练直接提升扩散模型生成效果。 paper&#xff1a;https://arxiv.org/abs/2309.11497 code&#xff1a;GitHub - ChenyangSi/FreeU: FreeU: Free Lunch in Diffusion U-Net 1. 介绍 贡献&#xff1a; •研究并揭示了U-Net架构在扩散模型中去噪的潜力&#xff0…

【小白专用】php pdo方式连接sqlserver 设置方法 更新23.12.21

windows系统的拓展相对来说比较好安装&#xff0c;直接下载对应的dll文件&#xff0c;修改php.ini配置文件即可。 添加PHP对SQL SERVER的支持 1.新建PHP 文件&#xff0c;输入内容&#xff1a; <?php echo phpinfo(); ?> 2.运行后&#xff0c;可以查看到如下数据&…

Linux 磁盘空间占满故障解决方法

故障排查&#xff1a; 使用命令查看磁盘使用量 # 使用人类可读的格式(预设值是不加这个选项的...) df -h # --inodes 列出 inode 资讯&#xff0c;不列出已使用 block df -i # 查看当前目录下各个文件及目录占用空间大小 du -sh / 情况一&#xff1a;一般磁盘空间满了&a…

106 uni-app 小程序之巨坑 not found path,not found methods v-for渲染出现报错

1.Component is not found in path 你是否像我一样&#xff0c;检查了无数遍&#xff0c;引入路径检查千万遍&#xff0c;就是没写错&#xff0c;小程序后台就是给你报错&#xff0c; 不用慌&#xff0c;心里默念&#xff1a;我不能砸电脑&#xff0c;我不能砸电脑&#xff0…

[c]超半的数

题目意思很简单&#xff0c;就是输入一组数据&#xff0c;输出出现次数过半的数 根据这个题我们也可以写出另一个题&#xff0c;&#xff08;题2&#xff09;&#xff08;统计一组数据中各个数出现的次数&#xff09; 下面附上两个题代码 题1&#xff1a; #include<stdio.…