ISO15765-2 CAN 网络层协议介绍
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 个数据时,将采用多包的形式将数据传输出去,。多包的传输流程如下图所示:
多包传输流程图
- 发送方先发送首帧(FF),告诉对方我要发送FF_DL长度的数据及N-2字节的数据
- 接收方收到首帧后,发送流控帧(FC),告诉发送方流控的状态(FS)以及接收数据的能力(ST)和下一次发送流控帧的间隔(BS)
- 发送方接收到流控帧后,就按照ST的时间间隔发送按SN计数的序列帧(CF),每帧序列帧有N-1 字节的数据
- 发送方发送BS数量的序列帧(CF)后,等待流控帧,如果BS等于零,则此步骤省略
- 发送方如果最后发送的序列帧数量小于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.IP数据包格式 2.0 ICMP协议介绍 2.1 ICMP协议的封装 2.2 Ping 命令 3.ARP协议概述 4.ARP攻击原理 5.绑定ARP 前言: 网络层位于物联网三层 ...
- 网络层协议介绍 三次握手四次断开
1 IP数据包格式 2 ICMP协议介绍 3 ARP协议介绍 4 ARP攻击原理 网络层的功能: 1定义了基于IP协议的逻地址(ipv4 ipv6) 2连接不同的媒介类型 3选择数据通过网络的最佳路 ...
- 计算机网络层协议介绍icmp/arp
目录 网络层的功能 IP数据包格式 ICMP协议介绍 ICMP协议的封装 Ping命令 ARP协议 ARP工作原理 网络层的功能 定义了基于IP协议的逻辑地址 连接不同的媒介类型 选择数据通过网络的最 ...
- 网络层协议介绍与概述
目录 一.网络层的功能 二.IP数据包格式(分为20字节的固定部分,表示每个ip数据包必须包含的部分和40字节的可变长的部分) 三.ICMP协议(Internet控制报文协议) 四.ICMP协议功能 ...
- 04:网络层协议介绍
TTL=32 unix TTL=64 linux TTL=128 voindows TTL=255 思科路由器或交换机等通信设备 TTL:该字段用于表示IP数据包的生命周期,可以防 ...
- 网络层ICMP和ARP协议介绍
第四章.网络层协议介绍 文章目录 第四章.网络层协议介绍 一.IP数据包格式 二.ICMP协议介绍(Internet控制报文协议) ping命令的用法:结合具体在什么场景使用什么选项 三.ARP协议介 ...
- 《趣学CCNA——路由与交换》一2.3 网络层协议概述
本节书摘来自异步社区<趣学CCNA--路由与交换>一书中的第2章,第2.3节,作者 田果 , 彭定学,更多章节内容可以访问云栖社区"异步社区"公众号查看 2.3 网络层 ...
- Linux协议栈(1)——协议介绍
Linux协议栈(1)--协议介绍 本系列材料是关于Linux网络内核协议栈的,总体上将其分10个文章,主要目的是简明扼要的描述Linux协议栈在内核中的实现,从总体上掌握linux网络协议栈.因为操 ...
- Android蓝牙协议介绍
蓝牙协议介绍 1.物理连接 一个蓝牙系统包括主机 和 适配器这两个硬件,主机可以是 PC 机.开发板,适配器可以是各种接口(USB.UART....)的 模块 可以使用四种连接方式中的一种进行连接,连 ...
最新文章
- 机器学习中的集成学习模型实战完整讲解
- 正则爬取京东商品信息并打包成.exe可执行程序。
- 如何给你的为知笔记添加一个漂亮的导航目录
- TCP/IP / SYN 攻击以及解决办法
- SQL Server的镜像是基于物理块变化的复制 镜像Failover之后数据的预热问题
- 如何在Outlook中的电子邮件上显示快速操作按钮
- 信息学奥赛一本通1142:单词的长度
- Mac使用命令行解压rar文件
- 2021全国特种设备-G3锅炉水处理模拟考试题库一[安考星]
- 使用Vue导出word(纯前端,异步处理图片)
- 服务器重装系统进入pe找不到硬盘,U盘装系统进入PE无法找到硬盘怎么办?
- OpenOffice 文件转PDF,实现文件预览
- Meth | git 常用命令
- 配置别名 配置alias
- 谷歌是如何高效做AB实验的
- TIM561激光雷达读取和修改配置参数
- python操作Excel表格小妙招:只需十行代码,可以将多张Excel合并为一张
- Unity中,实现鼠标点击物体,触发事件
- 字节跳动 录屏功能_屏幕录制工具分享,便捷录屏就用它
- Java 启动和停止界面_我的世界Java版1.16.4-pre2游戏下载-我的世界Java版1.16.4-pre2中文版下载...