doip 源码_DoIP—协议框架
DoIP协议(Diagnostic On IP---ISO 13400)定义将IP技术运用到车载网络诊断范畴的通信规则。其中包括两层含义:
1、 将IP技术应用到车载网络中,需满足车规需求;
2、 在诊断范畴,DoIP协议定义了从物理层(Physical Layer)到应用层(Application Layer)搭建“通信桥梁”的规则(此处可类似CAN总线的TP层协议ISO 15765-2);
将上述概念映射到OSI计算机七层模型:
DoIP所在的位置位于七层模型中第三层和第四层。如图所示,其中运用到的IP协议:TCP/IP协议、UDP协议。整个ISO 13400-2协议中定义的内容是规定了搭建“通信渠道”(Tester与ECU之间的通信渠道)的规则。TLS是2020版DoIP协议新增添的内容,主要目的是为了保证通信数据的安全性。此内容稍后会在公众号上以专门一篇文章来描述其具体内容。
本文将对整个“通信桥梁”的搭建过程做一个概述性的描述(微信公众号上接下来会更新“通信桥梁”搭建每一步的详细分析),具体步骤如下:
1) 物理连接(Physically connection);
2) 车辆声明(Vehicle Discovery);
3) 通信建立(Connection Establishment);
4) 诊断通信(Diagnostic Communication);
1、 物理连接:
首先从功能视角来看车内网络与车身外网络:
车外客户端(Test equipment)用相应的接口卡(IP-Based Network)连接车身边缘节点(DoIP Edge Node GW)。在ISO 13400协议中规定外部诊断设备连接边缘节点,且需用激活线来激活边缘节点的DoIP功能。
物理连接后,通过相应手段获取IP地址,建立通信。
2、 车辆声明:
物理连接后,车辆会议广播的形式发送三次车辆声明,声明的信息可以包括:
1) VIN
2) EID
3) GID
如果诊断设备没有获取车辆信息,也可以主动请求(Vehicle Identification request)来获取相应信息(如上图所示)。
3、 通信建立:
在DoIP协议中,有Socket概念:Socket一端连接着IP地址,一端连接着Port端口。并且Socket对于芯片而言是一种资源。因此有激活失效之分。
在协议中定义了Payload Type (0005/0006)用于激活Socket。
激活后,Socket使能,接下来就可以进行诊断通信。
4、 诊断通信:
Socket激活后,可以进行诊断通信。通信模型如下图所示:
外部Tester发送诊断请求,网关收到诊断请求后,会给与一个收到答复(Acknowledgement),用意是告诉Tester,网关此时已收到诊断请求,与此同时网关将诊断请求(Diagnostic Request)发送至Target ECU。ECU收到诊断请求,并基于这个请求给与响应。
因此对于Tester而言,一共收到两个响应。
1) Diagnostic Message Acknowledgement;
2) Diagnostic Message Response;
每一帧响应对应的帧类型不同:
在DoIP协议中,通过PayLoad Type区分报文帧类型,用于实现不同的具体功能。但是其具体发送方式都是基于TCP/UDP协议。
上述整个过程,报文的发送方式都是以TCP/IP协议(当然是将传统的TCP/IP协议做了车规级应用),定义不同的阶段模型、不同的Payload Type应用报文类型,定义合理的机制,来保证Tester与ECU稳健进行诊断通信。
以上是整个DoIP协议定义Tester和ECU通信所需要搭建的“通信桥梁”。其中每一步在协议以及实际项目中详细介绍,会在公众号后续文章陆续更新,欢迎大家关注,并提供反馈。文章是自己周末手敲键盘编辑,内容难免会有失偏颇,希望在这上面跟同行沟通并修正。
若您有所收获,是我更新的最大动力!
有关注,不迷路!
公众号有邮箱地址,有疑问可邮件沟通交流。
-----------------------------------------
作者简介 | 穿拖鞋的汉子
汽车电子工程师
公众号:汽车控制器诊断技术
来,每天进步一点点!
doip 源码_DoIP—协议框架相关推荐
- dubbo源码解析之框架粗谈
dubbo框架设计 一.dubbo框架整体设计 二.各层说明 三.dubbo工程模块分包 四.依赖关系 五.调用链 文章系列 [一.dubbo源码解析之框架粗谈] [二.dubbo源码解析之dubbo ...
- 【OkHttp】OkHttp 源码分析 ( 网络框架封装 | OkHttp 4 迁移 | OkHttp 建造者模式 )
OkHttp 系列文章目录 [OkHttp]OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 ) [OkHttp]Android 项目导入 OkHttp ( 配置依赖 | 配置 ...
- mui打包ios_优品视界,聚合影视APP源码。mui框架,hbuilder即可编译,云打包生成ios的Android的app...
[实例简介] 影视APP源码,mui框架的.hbuilderx或hbuilder打包即可,只包含前端web app源码文件.基本功能都齐全,有需要的可以拿去.卖好几百的东西.聚合影视源码 Movie ...
- SpringMVC源码分析_框架原理图
SpringMVC源码分析_框架原理图 ...
- PHP开发的资产管理系统源码基于layuimini框架
PHP开发的资产管理系统源码基于layuimini框架开发/用户管理/资产录入/资产查询源码说明:PHP开发的资产管理系统源码基于layuimini框架开发/用户管理/资产录入/资产查询,本源码全开源 ...
- wifi大师管理后台源码+微擎框架v2.7.8、2.5.7+wifi大师小程序
wifi大师管理后台源码+微擎框架v2.7.8.2.5.7+wifi大师小程序 源码地址分析 wifi大师源码及详细安装教程+微擎框架.rar: https://url97.ctfile.com/f/ ...
- 基于Java的环保企业网站管理系统+项目源码(SSM框架)
活动地址:毕业季·进击的技术er 博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 基于Java的环保企业网站管理系统+项目源码(S ...
- PHP情侣头像源码+基于Typecho框架
正文: PHP情侣头像源码+基于Typecho框架,该主题是一个头像壁纸的主题跑到网上转了一圈都没找到一个合适的,所以干脆自己做一个轻量级的得了,有需要的自行去研究吧. 程序: lanzou.com/ ...
- Activiti源码分析(框架、核心类。。。)
Activiti源码分析(框架.核心类...) 目录 概 述 activiti源码分析(一)设计模式 总结: 相关工具如下: 分析: 小结: 参考资料和推荐阅读 LD is tigger foreve ...
- 手撕JDBC笔记(含源码),进阶框架必备
文章目录 一.JDBC概述 二.获取数据库连接 2.1 Driver接口及实现类 2.1.1 Driver接口介绍 2.1.2 加载JDBC驱动(Driver实现类) 2.2 数据库五种连接方式(迭代 ...
最新文章
- 推荐收藏 | 算法工程师常见面试问题及相关资料汇总
- Leetcode 144. 二叉树的前序遍历 (每日一题 20210820)
- bolt在java,java neo4j bolt
- 【Python 自然语言处理 第二版】读书笔记2:获得文本语料和词汇资源
- 【Flink】Flink classloader.check-leaked-classloader
- HttpClient4.x之Get请求示例
- Dotnet运行之控制台
- 如何使用Scylla进行OSINT信息收集
- 网页设计html流水效果图,15例简单常用网页设计效果代码
- TabHost控件应用
- Godot Timer节点
- 湖南成考新生如何查询学籍信息
- javascript禁用Backspace退格键(结合自己实际应用中遇到的textarea中退格造成页面假死问题做了修改)
- 小米路由做文件共享服务器,群晖NAS+小米路由器文件直接传输
- load initialize
- android的ui模板,11免费好看的手机APP UI模板
- 正负数在计算机中的存储方式
- Android响应式编程(一)RxJava前篇[入门基础]
- 学习区块链要掌握哪些专项能力?区块链学习培训多长时间?
- vue移动端实现图片预览
热门文章
- 计算机感染冲击波,CIH、爱虫、冲击波、熊猫烧香,对这4种网络病毒你了解多少?...
- WI-FI密码破解-奶瓶
- easyclick联众打码
- Hadoop权威指南PDF分享
- 结构力学计算软件_辽宁网格修复软件价格如何
- edi系统三要素_从EDI的定义可以看出,通信网络、EDI软件及硬件、EDI数据标准化是构成EDI系统的三要素其...
- 计算机磁盘无法创建文件夹,无法创建文件,小编告诉你无法新建文件夹怎么办...
- 【Axure交互教程】 滑动拼图验证登录效果
- 天津成人高考计算机基础知识题库,天津市成考《计算机基础考试大纲》(高中起点)...
- mysql修改视图字段长度_SQL Server 数据库创建视图时修改字段长度