ISO15765是基于CAN网络的诊断协议,其中ISO15765-2描述的是网络层协议。什么是网络层协议?其实简单来说就是提供数据传输的方法。网络层一般提供2种数据传输方法,1是单包数据传输,2是多包数据传输。网络层选择传输的方法取决于底层一次可传输的最大数据包大小。

ISO 15765-2采用4种数据帧,分别是单帧(SF)、首帧(FF)、序列帧(CF)、流控帧(FC),其数据结构如下图所示:

下面将分别介绍这四种帧的数据结构:

单帧:

当N_PCItype = 0时,表示此帧为单帧,SF_DL为此次单包传输的数据量。

首帧:

当N_PCItype = 1时,表示此帧为首帧,FF_DL为此次多包传输的数据量,FF_DL的最大值为4095。

序列帧:

当N_PCItype = 2时,表示此帧为序列帧,SN为序列帧的计数,用于数据的有序传输,第一次发送SN的值为1,当SN的值溢出时,SN从0开始计数。

流控帧:

当N_PCItype = 3时,表示此帧为流控帧,FS为数据流传输的状态信息,BS为接收方发送流控帧的间隔(以CF帧为单位),ST为发送方间隔发送序列帧的时间间隔。

当FS=0时,代表接收方已经准备好数据传输,发送方可以发送序列帧;当FS=1时,发送方继续等待流控帧且复位N_BS的超时定时器;当FS=2时,代表接收方的内存不够接收FF_DL长度的数据,发送方结束数据传输。当BS=0时,接收方不再发送流控帧,发送方可以一直发送序列帧直到数据传输完成。

单包传输:

当通过网络层传输小于或等于N-1 个数据时,将采用单包的形式将数据传输出去,即通过单帧(SF)将数据发送给接收方。

多包传输:

当通过网络层传输大于 N-1 个数据时,将采用多包的形式将数据传输出去,。多包的传输流程如下图所示:

多包传输流程图

  1. 发送方先发送首帧(FF),告诉对方我要发送FF_DL长度的数据及N-2字节的数据
  2. 接收方收到首帧后,发送流控帧(FC),告诉发送方流控的状态(FS)以及接收数据的能力(ST)和下一次发送流控帧的间隔(BS)
  3. 发送方接收到流控帧后,就按照ST的时间间隔发送按SN计数的序列帧(CF),每帧序列帧有N-1 字节的数据
  4. 发送方发送BS数量的序列帧(CF)后,等待流控帧,如果BS等于零,则此步骤省略
  5. 发送方如果最后发送的序列帧数量小于BS,则不用等待流控帧,传输结束

可以看出,ISO15765-2多包数据传输流程相对来说比较简单,其实在调试ISO15765-2协议时,我们更关注的是其网络层时间参数的设计是否满足要求。

网络层时序

ISO15765-2的网络时序图如下所示:

其时间参数的定义和超时如下所示:

其超时处理如下所示:

对于大部分ISO15765-2网络层协议栈而言,我们需要设置的时间参数有N_Cs和N_Br,对于N_Cs有如下设计要求(N_Cs + N_As) < (0.9 * N_Cr),即数据包发送超时要小于对方接收数据超时的0.9倍,一般ECU系统设置的N_Cs最大超时为75ms, N_Cs与ST的值关系也比较大,有如下关系N_Cs  >  ST,因此对于整个ECU系统而言 N_Csmax  > N_Cs  >  ST

,同理N_Br的最大超时一般也为75ms。

ISO15765-2 CAN 网络层协议介绍相关推荐

  1. 理论:网络层协议介绍 理论详解

    文章目录 前言: 1.IP数据包格式 2.0 ICMP协议介绍 2.1 ICMP协议的封装 2.2 Ping 命令 3.ARP协议概述 4.ARP攻击原理 5.绑定ARP 前言: 网络层位于物联网三层 ...

  2. 网络层协议介绍 三次握手四次断开

    1 IP数据包格式 2 ICMP协议介绍 3 ARP协议介绍 4 ARP攻击原理 网络层的功能: 1定义了基于IP协议的逻地址(ipv4  ipv6) 2连接不同的媒介类型 3选择数据通过网络的最佳路 ...

  3. 计算机网络层协议介绍icmp/arp

    目录 网络层的功能 IP数据包格式 ICMP协议介绍 ICMP协议的封装 Ping命令 ARP协议 ARP工作原理 网络层的功能 定义了基于IP协议的逻辑地址 连接不同的媒介类型 选择数据通过网络的最 ...

  4. 网络层协议介绍与概述

    目录 一.网络层的功能 二.IP数据包格式(分为20字节的固定部分,表示每个ip数据包必须包含的部分和40字节的可变长的部分) 三.ICMP协议(Internet控制报文协议) 四.ICMP协议功能 ...

  5. 04:网络层协议介绍

    TTL=32    unix TTL=64    linux TTL=128   voindows TTL=255   思科路由器或交换机等通信设备 TTL:该字段用于表示IP数据包的生命周期,可以防 ...

  6. 网络层ICMP和ARP协议介绍

    第四章.网络层协议介绍 文章目录 第四章.网络层协议介绍 一.IP数据包格式 二.ICMP协议介绍(Internet控制报文协议) ping命令的用法:结合具体在什么场景使用什么选项 三.ARP协议介 ...

  7. 《趣学CCNA——路由与交换》一2.3 网络层协议概述

    本节书摘来自异步社区<趣学CCNA--路由与交换>一书中的第2章,第2.3节,作者 田果 , 彭定学,更多章节内容可以访问云栖社区"异步社区"公众号查看 2.3 网络层 ...

  8. Linux协议栈(1)——协议介绍

    Linux协议栈(1)--协议介绍 本系列材料是关于Linux网络内核协议栈的,总体上将其分10个文章,主要目的是简明扼要的描述Linux协议栈在内核中的实现,从总体上掌握linux网络协议栈.因为操 ...

  9. Android蓝牙协议介绍

    蓝牙协议介绍 1.物理连接 一个蓝牙系统包括主机 和 适配器这两个硬件,主机可以是 PC 机.开发板,适配器可以是各种接口(USB.UART....)的 模块 可以使用四种连接方式中的一种进行连接,连 ...

最新文章

  1. 机器学习中的集成学习模型实战完整讲解
  2. 正则爬取京东商品信息并打包成.exe可执行程序。
  3. 如何给你的为知笔记添加一个漂亮的导航目录
  4. TCP/IP / SYN 攻击以及解决办法
  5. SQL Server的镜像是基于物理块变化的复制 镜像Failover之后数据的预热问题
  6. 如何在Outlook中的电子邮件上显示快速操作按钮
  7. 信息学奥赛一本通1142:单词的长度
  8. Mac使用命令行解压rar文件
  9. 2021全国特种设备-G3锅炉水处理模拟考试题库一[安考星]
  10. 使用Vue导出word(纯前端,异步处理图片)
  11. 服务器重装系统进入pe找不到硬盘,U盘装系统进入PE无法找到硬盘怎么办?
  12. OpenOffice 文件转PDF,实现文件预览
  13. Meth | git 常用命令
  14. 配置别名 配置alias
  15. 谷歌是如何高效做AB实验的
  16. TIM561激光雷达读取和修改配置参数
  17. python操作Excel表格小妙招:只需十行代码,可以将多张Excel合并为一张
  18. Unity中,实现鼠标点击物体,触发事件
  19. 字节跳动 录屏功能_屏幕录制工具分享,便捷录屏就用它
  20. Java 启动和停止界面_我的世界Java版1.16.4-pre2游戏下载-我的世界Java版1.16.4-pre2中文版下载...

热门文章

  1. 网络适配器(代码48)Realtek PCIe GbE Family Controller
  2. 202016 无线路由器配置过程和方法
  3. 《统计学习方法》读书笔记——第十一章 条件随机场
  4. 【电商数仓】关系建模与维度建模、维度表和事实表、几种维度模型、数仓建模原则
  5. java爬虫案例——SpringBoot使用HttpClient、Jsoup爬取京东手机数据
  6. RDMA技术详解——RDMA核心概念
  7. python安装与python、pip的环境变量配置
  8. 中国石油大学《工程力学》在线考试
  9. 关于我学习css的感悟和心得
  10. WGS84与WGS84 Web Mercator