基于ISO13400 (DoIP) 实现车辆刷写

近年来,在整车研发中基于以太网实现车辆高带宽通讯无疑是人们热议的话题。无论是车内基于车载以太网来减少线束成本,实现ADAS、信息娱乐系统等技术,还是基于新的电子电气架构以及远程诊断需求来实现以太网诊断(DoIP),各家OEM都投入了大量人力、物力成本参与研发之中。且使用DoIP进行诊断通信具有诸多优势,如更快的诊断响应、传输大量数据的时间更短等。当前,风丘诊断工具链,从诊断数据开发到诊断测试,已涵盖DoIP诊断需求与功能。本文将从UDSonDoIP数据库开发、DoIP诊断通讯连接和DoIP刷写实例这三个方面来阐述DoIP刷写功能,同时提供DoIP刷写速度与CAN的对比分析。

79388a02-a5fc-4147-a5fa-415b35af406e

一 UDSonDoIP数据库

相较于CAN,DoIP主要是在物理层和传输层对数据的传输进行了优化并提升了速度。在应用层和诊断服务环节,CAN与DoIP的实现均基于14229协议。ODX数据库部分,除需增加DoIP协议通讯参数和相关控制器外,一般情况下,无需进行额外调整,由此可大大节省诊断数据开发的时间与成本。

dc44f0aa-5159-40e9-bafe-1c43e93d0c71
(图1 UDSonCAN与UDSonDoIP通讯比较)
39e80d84-bf22-497c-b800-cf31fa7fb16d
(图2 诊断数据库集成DoIP)

二 DoIP通讯连接方式

目前常用的DoIP诊断连接方式分为两种:

•  以太网线缆直连形式:在整车情况下,制作OBD-Ethernet线缆直连;

9613f427-9d41-42af-a0c5-e7b09870acef
(图3 直连形式)

•  通过VCI进行连接:这种连接方式兼容CAN/CAN FD通讯,可满足生产和售后需求,并可集成以太网激活(Ethernet Activation)功能,从而实现DoIP通讯。

bd1a033f-7f87-4d1b-9e3b-504a83b59b19
(图4 VCI形式)

三 UDSonDoIP刷写实例

数据库创建完成后,使用相关诊断工具,即可实现车辆刷写过程。

实例中:刷写模拟控制器采用风丘自研模拟器;VCI通讯使用EDICproUSB诊断通讯卡和OBD分线盒,也可通过网线直连建立通信;诊断仪使用Q-Tester软件。

a99b0fa2-8289-41b0-9c43-8dc99fca00b9
(图5 EDICproUSB搭配分线盒连接)

在简单配置以及车辆识别与握手完成之后,即可在诊断仪内进行DoIP刷写,目前已支持超过20GB文件的刷写。所有配置刷写过程与CAN配置流程一致。

bb21d7fd-cce2-4446-8b7c-95c0c7971d29
(图6 Q-Tester DoIP刷写)
13b72a8a-0403-40c4-a527-ab64e6a02a18
(图7 36服务报文实录)

36服务刷写数据基于TCP/IP协议,并按照TCP数据传输分包机制,实现传输......

请点击此处,查看剩余30%精彩内容!

| 往期回顾

▶ 风丘车辆热管理测试方案

▶ 风丘电动汽车高压测试方案 助您高效应对车辆试验难题

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BUGKU-WEB 留言板

题目描述 题目无需登录后台!需要xss平台接收flag, http协议需要http协议的xss平台打开场景后界面如下: 解题思路 看到此类的题目,应该和存储型xss有关,也就是将恶意代码保存到服务器端即然在服务器端,那就…

【Cocos入门】场景切换(loadScene、preloadScene)

一、loadScene 加载场景 loadScene(sceneName: string, onLaunched: Director.OnSceneLaunched, onUnloaded: Director.OnUnload) : boolean 通过场景名称进行加载场景。返回值为布尔类型 参数: NameTypeDescriptionsceneNamestring场景名称onLaunchedDirector.O…

基于Chrome插件的Chatgpt对话无损导出markdown格式(Typora完美显示)

刚刚提交插件到Chrome插件商店正在审核,想尝试的可以先使用: https://github.com/thisisbaiy/ChatGPT-To-Markdown-google-plugin/tree/main 我将源代码上传至了GitHub,欢迎star, IssueGoogle插件名称为:ChatGPT to MarkDown plus…

3.1 Verilog 连续赋值

关键词:assign, 全加器 连续赋值语句是 Verilog 数据流建模的基本语句,用于对 wire 型变量进行赋值。: 格式如下 assign LHS_target RHS_expression ; LHS(left hand side) 指赋值操作…

C#委托的前世今生

起因 很多C#初学者,都遇到过这样的问题——线程间操作无效,从不是创建控件的线程访问它。 今天就这个问题,展开分析。 溯源 先说下这个问题产生的根源。 大家都知道,程序运行起来之后,首先会有一个主线程&#xff…

中小型网络系统总体规划与设计方法

目录 1.基于网络的信息系统基本结构 2.网络需求调研与系统设计原则 3.网络用户调查 4.网络节点地理位置分布情况 5.网络需求详细分析 6.应用概要分析 7.网络工程设计总体目标与设计原则 8.网络结构与拓扑构型设计方法 9.核心层网络结构设计 10.接入核心路由器 11.汇聚…

Android 环境搭建

1、桥接工具安装 网站地址:AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载 使用安装包: adb 查看当前链接成功的设备:adb devices 使用adb shell指令来进入到手机的后台:

Redis 持久化对性能有何影响?

Redis 持久化对性能的影响 Redis 是一个高性能的内存数据存储系统,通常被用于缓存、消息队列和数据存储等方面。由于 Redis 是基于内存的,因此它的读写速度非常快,可以满足高并发、低延迟的应用需求。但是,当 Redis 需要持久化数…

探索STM32CubeMX:图形化工具简化嵌入式软件开发

STM32CubeMX是由STMicroelectronics提供的一款图形化工具,旨在简化STM32微控制器的嵌入式软件开发过程。它提供了一种快速、直观的方式来生成初始化代码并配置STM32微控制器,帮助开发人员节省宝贵的开发时间,并降低入门门槛。本文将探索STM32…

政安晨:快速学会~机器学习的Pandas数据技能(四)(汇总与映射)

从数据中提取价值! 概述 在上一篇文章中,我们学习了如何从DataFrame或Series中选择相关数据。从我们的数据表示中选择正确的数据对于完成工作非常重要,正如我们在练习中所演示的那样。 然而,数据并不总是以我们想要的格式直接从…

【力扣】两数之和,暴力枚举 + 哈希表

两数之和原题地址 方法一:暴力枚举 首先,我们需要枚举数组中所有可能的下标对组合,对于 n 个数的数组,从中选两个下标,有 种可能。做法很简单,遍历数组中的所有元素,对于每一个元素&#xff…

【Java EE】----SpringBoot的日志文件

1.SpringBoot使用日志 先得到日志对象通过日志对象提供的方法进行打印 2.打印日志的信息 3.日志级别 作用: 可以筛选出重要的信息不同环境实现不同日志级别的需求 ⽇志的级别分为:(1-6级别从低到高) trace:微量&#…

【QT+QGIS跨平台编译】之三十一:【FreeXL+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、FreeXL介绍二、文件下载三、文件分析四、pro文件五、编译实践一、FreeXL介绍 【FreeXL跨平台编译】:Windows环境下编译成果(支撑QGIS跨平台编译,以及二次研发) 【FreeXL跨平台编译】:Linux环境下编译成果(支撑QGIS跨平台编译,以及二次研发) 【FreeXL跨平台…

【JS逆向五】逆向模拟某网站的生成的【jsonKey】值 仅供学习

逆向日期:2024.02.07 使用工具:Node.js 加密方法:AES 文章全程已做去敏处理!!! 【需要做的可联系我】 可使用AES进行解密处理(直接解密即可):在线AES加解密工具 1、打开…

多路服务器技术如何处理大量并发请求?

在当今的互联网时代,随着用户数量的爆炸性增长和业务规模的扩大,多路服务器技术已成为处理大量并发请求的关键手段。多路服务器技术是一种并行处理技术,它可以通过多个服务器同时处理来自不同用户的请求,从而显著提高系统的整体性…

彩虹系统7.0免授权+精美WAP端模板源码

最低配置环境 PHP7.2 1、上传源码到网站根目录,导入数据库文件 2、修改数据库配置文件:/config.php 3、后台:/admin 账号: 4、前台用户:123456 密码:1234561

【lv5-7】

bootloader 在操作系统运行前的一小段代码,将软硬件环境初始化到一个合适的状态,为操作系统的加载和运行做好准备。 bootloader ->初始化软硬件环境 ->引导加载linux内核 ->给linux内核传参 ->执行用户命令 bootload是启动程序的总称&#x…

2 月 7 日算法练习- 数据结构-树状数组上二分

问题引入 给出三种操作, 0在容器中插入一个数。 1在容器中删除一个数。 2求出容器中大于a的第k大元素。 树状数组的特点就是对点更新,成段求和,而且常数非常小。原始的树状数组只有两种操作,在某点插入一个数和求1到i的所有数的…

合并分支rebase和merge的区别

文章目录 一、前言1.1、master分支1.2、dev分支 二、合并2.1、git merge2.2、git rebase 三、总结四、最后 一、前言 实际开发工作的时候,我们都是在自己的分支开发,然后将自己的分合并到主分支,那合并分支用2种操作,这2种操作有…