ISO15765-2 网络层,通俗易懂,最佳入门

news2024/11/24 10:32:45

I. 简介

  • ISO15765-2协议网络
    ISO15765-2协议网络是一种用于汽车电子系统中的通信协议。它定义了在控制区域网络(CAN)上使用的诊断通信的协议规范,包括物理层、数据链路层、网络层和传输层。该协议的主要目的是使汽车制造商和维修技术人员能够诊断和解决车辆问题,同时提高车辆的可靠性和安全性。

  • 协议在汽车行业中的重要性
    ISO15765-2协议在汽车行业中非常重要,因为它为车辆中不同电子控制单元(ECU)之间的通信提供了标准。这使得车辆问题的诊断和修复更加高效和可靠,这对于确保车辆的安全和性能至关重要。该协议被许多汽车制造商使用,并是现代车辆诊断系统的关键组成部分。通过使用标准化的协议,汽车技术人员可以更容易地在不同类型的车辆之间诊断和修复问题,这可以节省时间并减少技术人员和车主的成本。

II. ISO15765-2协议网络概述

  • 协议的定义
    ISO15765-2协议定义了在汽车行业中使用的控制区域网络(CAN)协议的诊断通信。它规定了协议的物理层、数据链路层、网络层和传输层的要求。该协议用于车辆中的电子控制单元(ECU)之间的诊断通信,例如负责发动机管理、变速器控制和其他功能的ECU。它允许在ECU之间交换诊断信息和命令,实现对车辆问题的高效和可靠的诊断和修复。
  • 协议的特点和优点
    ISO15765-2协议具有以下几个特点和优点:
  1. 标准化:该协议是汽车行业中使用的标准化通信协议,确保不同系统之间可以相互通信。
  2. 高效性:该协议允许在车辆中的ECU之间快速、准确地传输诊断信息和命令,从而实现高效的诊断和修复。
  3. 可靠性:该协议具有良好的错误检测和纠正机制,可以确保传输的数据的准确性和完整性。
  4. 兼容性:该协议可以与其他协议兼容,使其易于集成到现有系统中。
  5. 安全性:该协议具有安全机制,可以保护车辆的系统免受未经授权的访问和恶意攻击。
  • 与其他协议的比较
  1. 标准化程度高:ISO15765-2协议是汽车行业中通用的标准化协议,各大汽车制造商都在使用,因此具有更高的标准化程度。
  2. 传输速度快:与其他协议相比,ISO15765-2协议具有更快的传输速度,可以更快地传输数据。
  3. 传输距离远:ISO15765-2协议可以在更远的距离内传输数据,这使得它可以在更大的车辆中使用。
  4. 传输数据量大:ISO15765-2协议可以传输更大量的数据,这使得它可以更好地支持复杂的诊断和控制任务。
  5. 可靠性高:ISO15765-2协议具有更高的可靠性,可以更好地检测和纠正错误,从而提高了数据传输的准确性和完整性。

III. ISO15765-2协议网络架构

  • 物理层
    ISO15765-2协议的物理层定义了在CAN总线上进行通信所需的硬件和电气特性。该层规定了CAN总线的传输速率、数据位数、信号电平等参数,并定义了CAN总线的连接方式和电缆类型。物理层的主要任务是确保在CAN总线上的数据传输的正确性和稳定性。
  • 数据链路层
    ISO15765-2协议的数据链路层定义了在CAN总线上进行通信所需的数据格式和传输方式。该层规定了数据的帧格式、校验方式、错误检测和纠正机制等。数据链路层的主要任务是确保CAN总线上的数据传输的可靠性和安全性。该层还提供了多路复用和带宽管理等功能,以支持多个ECU之间的并行通信。
  • 网络层
    ISO15765-2协议的网络层定义了在CAN总线上进行通信所需的网络管理功能。该层规定了ECU之间的地址分配、会话控制、流控制、数据包分组和重组等。网络层的主要任务是确保在CAN总线上的数据传输的正确性和稳定性,以及支持多个ECU之间的并行通信。
  • 传输层
    ISO15765-2协议的传输层定义了在CAN总线上进行通信所需的传输控制功能。该层规定了数据的传输方式、传输速率、传输优先级、传输模式等。传输层的主要任务是确保在CAN总线上的数据传输的可靠性和安全性,以及支持多种传输模式和优先级的控制。传输层还提供了错误检测和纠正机制,以确保传输的数据的准确性和完整性。

IV. ISO15765-2协议网络通信

  • 消息结构
    ISO15765-2协议的消息结构由帧头、数据和帧尾组成。帧头包括了发送方和接收方的地址信息、数据长度和帧类型等信息。数据部分是要传输的数据,长度最大为4095个字节。帧尾包括了CRC校验码,用于检测数据传输过程中的错误
  • 消息传输
    ISO15765-2协议的消息传输采用了分段传输的方式。发送方将数据分割成多个分段,每个分段的长度不超过4095个字节,并在每个分段的帧头中标识该分段的序号。接收方在接收到分段数据后,根据序号将各个分段组合成完整的数据。在传输过程中,发送方需要等待接收方的确认信息,以确保数据传输的准确性和完整性。
  • 消息接收
    ISO15765-2协议的消息接收采用了多路复用的方式。接收方在接收到数据后,根据帧头中的地址信息将数据发送到相应的ECU中。如果接收方无法处理接收到的数据,将发送一个拒绝信息给发送方。
  • 错误检测和纠正
    ISO15765-2协议的错误检测和纠正采用了CRC校验码的方式。发送方在发送数据时,会在帧尾中添加CRC校验码。接收方在接收到数据后,会计算CRC校验码,如果计算结果与接收到的校验码不一致,则表示数据传输过程中出现了错误。此时,接收方会向发送方发送错误信息,以便发送方重新发送数据。

V. ISO15765-2协议网络应用

  • 在汽车行业中的应用案例
  1. OBD-II诊断系统:OBD-II是汽车诊断系统的标准化协议,其核心是ISO15765-2协议。OBD-II诊断系统可以通过CAN总线与车辆的ECU通信,获取车辆的状态信息和故障码等数据,以便进行车辆维修和故障排查。

  2. 发动机控制系统:发动机控制系统是车辆控制系统中最重要的部分之一。该系统通过ISO15765-2协议与发动机控制单元(ECU)通信,以控制发动机的运转和调整发动机的性能参数,如燃油喷射量、点火时机等。

  3. 制动控制系统:制动控制系统是车辆控制系统中的另一个重要部分。该系统通过ISO15765-2协议与制动控制单元(ECU)通信,以控制车辆的制动系统,包括刹车盘、刹车片、刹车液等部分。

  4. 车身控制系统:车身控制系统通过ISO15765-2协议与车辆的ECU通信,以控制车辆的各个部分,如灯光、雨刷器、空调、音响等。该系统可以提高车辆的安全性和舒适性,提供更好的驾驶体验。

总之,ISO15765-2协议在汽车领域的应用非常广泛,可以实现车辆诊断和控制系统的高效、准确和可靠的通信。
Ⅵ.在UDS中应用
ISO15765-2,在UDS应用层中充当网络层的角色,把数据转换成能适应 CAN 总线规范的单一数据帧。 如果将要传输的报文长度超过了 CAN 数据帧的长度,则需要将报文信息进行拆分后传输,每次至多可以传输4095个字节长度的报文。实现数据拆包和打包的作用。
网络层在UDS中定义三种类型的服务:
1、请求服务N_USdata.request:这个服务用来请求数据传输。诊断仪应用层请求发送数据。
2、指示服务N_USData_FF,indication:这个服务用来标识接收上层分段数据的开端。
N_USData.indication:这个服务用来把接收的数据提供给更高一层。ECU接收到诊断仪的数据,数据传到应用层。
3、N_USData.confirm:这个服务用来确定更高层的请求服务是否成功。诊断仪收到了 ECU 方面的数据。发送数据是否成功。

  • N_PDU 网络协议数据单元
    网络层协议数据单元(N_PDU,Network Protocol Data Unit)包含 N_AI,N_PCI,N_Data。即地址信息,协议控制信息和数据。

N_AI包括:源地址(N_SA)、目标地址(N_TA),以及 N_TAtype 信息和可选地址扩展
(N_AE)的通信模型。N_TAtype 参数是 N_TA 的延伸。 N_TAtype 用来编码通信模型。这里
指定了两种具体的通信模型: 1 对 1 的通信,称为物理地址; 1 对 n 的通信,称
为功能地址。
——物理地址用来支持所有的网络层信息的类型。
——功能地址仅仅是用来支持通信的单一帧。 N_AE 参数用来延伸大型网络的可用地址范围,并且可以用来编码子网络的网络层硬件的接收和发送,而不是局域网的, 通信是在子网络上进行的。 一
旦 Mtype 设置成了远程诊断, N_AE 是寻址信息的唯一部分。

  • N_PCI 网络层协议控制信息
    每一个 N_PDU 都能被一个 N_PCI 识别。
    有四种类型,即单帧(SF)、首帧(FF)、连续帧(CF)、流控制帧(FC),用于建立对等实体间的通信。

前四位控制N_PDU类型

如果要发送小于等于7字节数据,发送单帧即可,比如发送[0x10 0x02],对方物理层底层收到[0x02 0x10 0x02].
如果当需要发送的数据字节数大于 7 字节,需要用到首帧、连续帧和流控帧的多帧传输方式.


FF_DL:帧长度,标准can中是8,如果网络层接收到一个带有 FF_DL 大于接收器缓存区可容纳的大小,那么就会
被认为是一个错误的条件。网络层就会退出信息的接收,并且发送一个带有参数
FlowStatus=Overflow 的 FC N_PDU。
如果网络层接收到一个使用标准地址时的 FF_DL<8 的 FF,或者使用扩展/混合地址是 FF_DL<7 的 FF,那么网络层就会忽视掉这个接收到的 FF N_PDU。
SN:这个参数 SN 是用在 CF N_PDU 中,用来指明连续帧的顺序。
——SN 对所有分段信息都是从 0 开始。 FF 被分配这个 0 值。 它在 N_PCI 中不
包括一个明确的序列号,但是被认为是一个分段的数值 0。
——第一个 CF 立即接着一个 FF 的 SN,应该把 SN 设置为 1。
——每一个新的 CF 在一个分段信息传输期间被发送了, SN 自动+1。
——SN 的值不会被任何 FC 帧所影响。
——SN 的值达到 15 以后,置 0 为下个 CF 做准备。SN 错误处理
如果一个 CF N_PDU 信息接收到一个错误的序列号,将会启动正常的错误处理。
退出接收信息的过程,网络层发送一个带有参数<N_Result>=N_WRONG 的
N_USData.indication 服务申请到相邻的上层。
FS:0 ContinueTosend继续发送;1 Wait:等待;2 OverFlow:溢出;如果接收到一个带有无效(或保留)的 FS 参数的 FC N_PDU 信息,网络层将会
启动正常的错误处理。退出传输信息的过程,网络层发送一个带有参数
<N_Result>=N_INALID_FS 的 N_USData.confirm 服务申请到相邻的上层。
BS:可以传输的块大小,BS 参数用 FC N_PCI 中第二字节进行编码。
BS 单元是每一块 CF N_PDUs 中的绝对数量,例如,如果 BS 等于十进制的 20,
那么这块中将包含 20 个(十进制) CF N_PDUs。
在分段数据传输中,仅仅是连续帧的最后一块可能含有少于 BS 数量的帧。
STmin:STmin 参数值指明连续帧网络协议数据单元之间传输的最小时间。

交互过程

网络层时序参数的数值

网络层超时

ISO15765协议中的N_As超时、N_Ar超时、N_Bs超时、N_Br超时、N_Cr超时和N_Cs超时,分别代表以下含义:

  1. N_As超时:表示发送方等待接收方的响应的时间。如果在N_As超时时间内没有收到接收方的响应,则发送方会认为接收方已经无法接收数据,会重新发送数据。
  2. N_Ar超时:表示接收方等待发送方重新发送数据的时间。如果在N_Ar超时时间内没有收到发送方的数据,则接收方会认为数据传输已经结束,会发送一个拒绝信息给发送方。
  3. N_Bs超时:表示发送方等待接收方准备好接收数据的时间。如果在N_Bs超时时间内没有收到接收方的准备好信息,则发送方会认为接收方无法接收数据,会重新发送数据。
  4. N_Br超时:表示接收方等待发送方发送数据的时间。如果在N_Br超时时间内没有收到发送方的数据,则接收方会认为数据传输已经结束,会发送一个拒绝信息给发送方。
  5. N_Cr超时:表示接收方等待发送方的连续帧的时间。如果在N_Cr超时时间内没有收到连续的帧,则接收方会认为数据传输已经结束,会发送一个拒绝信息给发送方。
  6. N_Cs超时:表示发送方等待接收方的连续帧的时间。如果在N_Cs超时时间内没有收到连续的帧,则发送方会认为接收方已经无法接收数据,会重新发送数据。

这些超时参数都是ISO15765协议中用于控制数据传输过程中的时间限制,以确保数据传输的可靠性和完整性。

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

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

相关文章

Vue2,Vue3 computed计算属性用法

计算属性就是当依赖的属性的值发生变化的时候&#xff0c;才会触发他的更改&#xff0c;如果依赖的值&#xff0c;不发生变化的时候&#xff0c;使用的是缓存中的属性值。 computed购物车案例 1.Vue2版 <template><div><div><input v-model"keywo…

linux系统Nginx网站服务

文章目录 一、Nginx简介二、Nginx 相对于 Apache 的优点三、nginx 应用场景1.同步与异步2.阻塞与非阻塞 四、Nginx安装及运行控制1、编译安装2、访问控制1、访问状态统计2、基于授权的访问控制3、基于客户端的访问控制4、基于域名的 Nginx 虚拟主机5、基于IP 的 Nginx 虚拟主机…

2.3ORBSLAM3之相机模型与畸变模型

1.简介 主要内容&#xff1a; 1. 对SLAM中常见的相机模型进行介绍&#xff0c;包括针孔相机模型和鱼眼相机模型 2. 对每种相机模型的畸变模型进行介绍 3. 对VSLAM中常见的几种去畸变方法进行介绍 4. 对常见的几种相机标定方法进行总结对于VSLAM来说关于相机投影模型和畸变模型…

Mybatis如何解决循环依赖问题

1、Mybatis如何解决循环依赖问题 mybatis的循环依赖&#xff0c;即是mapper.xml里面的A查询的resultMap包含了B属性&#xff08;B属性是通过子查询得到的&#xff09;&#xff0c;而B属性中又包含了A&#xff08;B查询的resultMap中又包含了A的查询&#xff09;&#xff0c;就…

【系统架构】第五章-软件工程基础知识(软件测试、净室软件工程、基于构件的软件工程、 软件项目管理)

软考-系统架构设计师知识点提炼-系统架构设计师教程&#xff08;第2版&#xff09; 软件测试 一、测试方法 以测试过程中程序执行状态为依据可分为静态测试&#xff08;ST&#xff09;和动态测试&#xff08;DT&#xff09; 以具体实现算法细节和系统内部结构的相关情况为根据…

【Leetcode60天带刷】day35——452. 用最少数量的箭引爆气球,435. 无重叠区间,763.划分字母区间

​ 题目&#xff1a; 452. 用最少数量的箭引爆气球 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points &#xff0c;其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着…

SuperMap GIS基础产品云GIS FAQ集锦(3)

SuperMap GIS基础产品云GIS FAQ集锦&#xff08;3&#xff09; 【iServer】如何自定义iServer服务能力文档中提供者的信息&#xff1f; 【解决办法】操作步骤如下&#xff1a; 1&#xff09;进入iServer管理界面&#xff0c;依次点击服务-服务接口&#xff1b; 2&#xff09;点…

PL SQL结构化编程

第一章、存储过程 1.1、概念 存储过程是一个命名的程序块&#xff0c;包括过程的名称、过程使用的参数&#xff0c;以及过程执行的操作。 &#xff08;类似于java中的一种函数&#xff0c;但是存在区别&#xff09; 可以指定输入参数&#xff0c;和输出参数。 1.2、创建存…

Elasticsearch 地理空间计算

地理位1置搜索&#xff1a;使用查询API进行搜索 1、Geo Distance Query Geo Distance Query是在给定的距离范围内搜索数据的查询。例如&#xff0c;可以搜索给定地理位置附近指定距离内的所有文档。 GET /my_index/_search {"query": {"bool" : {"fi…

基于Python+Django+mysql+html图书管理系统V2.0

基于PythonDjangomysqlhtml图书管理系统V2.0 一、系统介绍二、功能展示1.图书查询2.图书添加3.图书修改4.图书删除5.数据库 三、其它系统四、获取源码 一、系统介绍 该系统实现了图书查询、图书添加&#xff0c;图书修改、图书删除 运行环境&#xff1a;python3.7/mysql5.7以…

STM32单片机(八)DMA直接存储器存取----第二节:DMA直接存储器存取练习1(DMA数据转运)

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

TiDB 7.1资源管控和Oceanbase 4.0多租户使用对比

作者&#xff1a; seiang 原文来源&#xff1a; https://tidb.net/blog/a33d3498 一、背景 TiDB和Oceanbase都是非常优秀的国产分布式数据库&#xff1b;公司从2021年第一套生产业务的TiDB集群落地&#xff0c;随着第一套TiDB生产集群的落地&#xff0c;主要面向不同的业务…

[230607] 阅读TPO69汇总|9:00-10:00

目录 TPO6601 5 事实信息题 7 推理题 9 句子插入题 10 小结题 TPO6602 5 修辞目的题 7 词汇题 tame 10 小结题 TPO6603 TPO6601 5 事实信息题 做题技巧&#xff1a;实词对应 定位在&#xff08;1&#xff09;spread the tines of their tongue apart when they ret…

Greenplum数据库优化器——新Path类型CdbMotionPath

Path表示了一种可能的计算路径&#xff08;比如顺序扫描或哈希关联&#xff09;&#xff0c;更复杂的路径会继承Path结构体并记录更多信息以用于优化。Greenplum为Path结构体(src/include/nodes/relation.h/Path)新加CdbPathLocus locus字段&#xff0c;用于表示结果元组在当前…

ConstraintLayout使用指南

ConstraintLayout ConstraintLayout 可让您使用扁平视图层次结构&#xff08;无嵌套视图组&#xff09;创建复杂的大型布局。它与 RelativeLayout 相似&#xff0c;其中所有的视图均根据同级视图与父布局之间的关系进行布局&#xff0c;但其灵活性要高于 RelativeLayout&#x…

【读书笔记】《软件工程导论》

目录 一、软件工程概述 二、启动阶段 三、计划阶段 四、实施阶段 五、收尾阶段 一、软件工程概述 软件危机&#xff1a;在计算机软件的开发和维护过程中遇到的一系列严重问题。 软件危机的产生与自身的特点有关&#xff0c;还与软件开发、管理的方法不正确有关。 软件危…

ELK 多用户登录

先搭建ELK集群环境 请移步至&#xff1a;FilebeatELK 搭建日志收集平台 ES开启TLS加密通信与身份认证 进入ES集群任意一台安装目录&#xff0c;生成ca证书 这里最好使用ES启动账号操作&#xff0c;证书生成过程中一直回车到完成&#xff0c;不要去输入密码。 # 生成CA证书 bi…

UNIX网络编程卷一 学习笔记 第二十一章 多播

单播地址标识单个IP接口&#xff0c;广播地址标识某个子网的所有IP接口&#xff0c;而多播地址标识一组IP接口。单播和广播是寻址方案的两个极端&#xff08;要么单个要么全部&#xff09;&#xff0c;多播则意在两者之间提供一种折衷方案。多播数据报只应由对它感兴趣的接口接…

【软考网络管理员】2023年软考网管初级常见知识考点(8)-广域网技术

涉及知识点 广域网交换方式&#xff0c;广域网流量控制&#xff0c;广域网链路层协议&#xff0c;广域网传输标准&#xff0c;软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 原创于&#xff1a;CSDN博主-《拄杖盲学轻声码》&a…

MATLAB——Matlab R2018b软件安装教程

Matlab R2018b软件安装教程 1.选中【Matlab R2018b】压缩包&#xff0c;鼠标右击选择【解压到Matlab R2018b】。 2.双击打开【Matlab R2018b】文件夹。 3.双击打开【R2018b_win64】文件夹。 4.选中【setup】可执行文件&#xff0c;鼠标右击选择【以管理员身份运行】。 5.选择【…