上饶网站建设多少钱,做网站的女生多么,小型网站建设价格低,做网站时如何将前端连接到后台首先要有网络网络七层的概念#xff1a; 学习链接#xff1a; 七层网络模型-CSDN博客
UDS网络层/TP层#xff08;ISO 15765-2#xff09;的解读 - 知乎 (zhihu.com)
概念#xff1a; UDS#xff08;Unified Diagnostic Services#xff0c;统一的诊断服务。 标准名是《…首先要有网络网络七层的概念 学习链接 七层网络模型-CSDN博客
UDS网络层/TP层ISO 15765-2的解读 - 知乎 (zhihu.com)
概念 UDSUnified Diagnostic Services统一的诊断服务。 标准名是《道路车辆 统一的诊断服务》 英文名是《Road vehicles—Unified diagnostic services》 在ISO 14229中规定它是从ISO 14230-3KWP2000和ISO 15765-3协议衍生出来的。这些ECU控制车辆的各种功能包括电控燃油喷射系统EFI发动机控制系统变速箱防抱死制动系统(ABS)门锁制动器等。 除CAN总线以外UDS也可在不同的汽车总线例如 LIN, Flexray, Internet 和K-line上实现。 关键缩略词 缩写释意SIDService Identifier诊断服务ID是一种交互协议Request/Response即诊断方(Tester)给ECU发送指定的请求数据Request这条数据中需要包含SID且SID处于该应用层数据的第一个字节。如果是肯定的响应Positive Response首字节回复[SID0x40]举例子就是请求0x10响应0x50请求0x22响应0x62。如果是否定的响应Negative Response首字节回复0x7F第二字节回复刚才询问的SID如果是肯定的响应Positive Response首字节回复[SID0x40]举例子就是请求0x10响应0x50请求0x22响应0x62。如果是否定的响应Negative Response首字节回复0x7F第二字节回复刚才询问的SID
协议栈总览 协议
网络层概述
uds只涉及第一第二第五第七层。
OSI物理层定义终端之间的电气、机械等特性和标定包括电压、频率、数据速率、最大传输距离。数据链路层在物理线路上提供可靠的数据传输例如物理地址、网络拓扑、线路规划、差错报告、数据帧有序传输需要解决帧的破坏、丢失和重复的问题线路使用权的竞争问题流量调节和出错处理问题。网络层 网络层最主要的目的就是把数据转换成能适应CAN总线规范的单一数据帧从而进行传输如果将要传输的报文长度超过了CAN数据帧的长度则需要将报文信息进行拆分后传输每次至多可以传输4095个字节长度的报文。 网络层协议数据单元N_PDU有四种类型即单帧SF、首帧FF、连续帧CF、流控制帧FC用于建立对等实体间的通信。 传输层TP层 使收发的数据帧所包含的字节总数扩容到4095个字节。 不管发送或接收是成功或是出错都需要上报给应用层。 会话层表示层在物理线路上提供可靠的数据传输例如物理地址、网络拓扑、线路规划、差错报告、数据帧有序传输需要解决帧的破坏、丢失和重复的问题线路使用权的竞争问题流量调节和出错处理问题。应用层USD应用层由ISO 14229标准定义。诊断通信的过程从用户角度来看非常容易理解诊断仪发送诊断请求(request)ECU给出诊断响应response而UDS就是为不同的诊断功能的request和response定义了统一的内容和格式。
基 于UDS的DOIP/DOCAN框架 DoI P 是Diagnostic communication over Internet Protocol 的简称顾名思义我们以太网协议承载UDS数据实现诊断通信的这种方式称为DoIP相比DoCAN中CAN网络的封闭性DoIP由于Ethernet的互联互通可以实现车与车、车与人的远距离诊断通信。由ISO13400 系列标准定义。通过网络协议进行诊断通信由ISO13400 系列标准定义。即DoIP是在以太网网络上传输UDS诊断数据的传输协议。DoIP带宽高适合传输大量数据的场景如车上的OTA软件升级。DoIP报文也是基于TCP或UDP但在其报文的Payload起始段添加了DoIP报头首部用来区分不同的DoIP报文类型实现不同的功能。DoIP报文的结构如下图所示 DOIP协议体系参考协议总览‘ 网络层协议IP传输层协议TCP/UDP对网关的要求网关如何集成到现有网络总对测试设备的要求如何发现车辆并建立通信支持DoIP的车辆网络架构图如下 从这张图上可以看出汽车内部必须有一个DoIP的总网关它作为和外部的诊断设备DoIP通信的唯一接口。 DOCAN UDS定义的是诊断服务属于应用层的内容实现诊断通信的底层总线技术有很多比如CANLINEthernetFlexray等由于法规强制的OBD接口是CAN总线的所以绝大多数场景中诊断都是基于CAN实现的。这就带来了一个问题classical CAN总线物理层的每一帧只能传输8个字节CAN FD第帧最多能传输64个字节那么如果UDS产生的一条诊断命令超过了8个字节在CAN总线上一帧是承载不了的就需要进行分包这也是DoCAN(Diagnose over CAN)要解决的最主要的问题。 参考基于CAN总线实现的UDS诊断DoCAN - 知乎 (zhihu.com) 目前并非最终版本工作中遇到了再回来修改添加