AUTOSARCAN-Tp协议

目录

一.单帧、首帧、连续帧、流控帧

单帧传输

SF单帧:

多帧传输

FF(首帧):

CF(连续帧):

FC(流控帧):


一.单帧、首帧、连续帧、流控帧

CAN诊断由发送端的请求与接收端的响应构成,诊断即为发送端与接收端数据往来。有的诊断一条消息完成,有的诊断需要多条消C息完成,毕竟在诊断中,一条 CAN 消息只包含 8 个字节长度。对于一条 CAN 诊断消息的分段发送问题,即为网络层需要讨论的内容。
CanTp 层传输的报文分为 SF(单帧)、 FF(首帧)、 CF(连续帧)、 FC(流控帧) 4 类。

单帧传输

SF单帧:

该诊断报文只需一条报文就可以实现(数据小于8个byte)

在发送端到接收端的请求仅为一条消息时,即为单帧(SingleFrame),单帧数据格式如图,单帧第一个字节 byte0 为 PCI, PCI 的高 4 位为 0, PCI 低四位为接下来准备传输的数据长度,从第二个字节 byte1 起为传输的数据(SID 也作为数据)。从单帧的数据格式可以看出,真正的数据部分最多为 Byte1 ~Byte7 共 7 个字节长度,即 CAN 诊断数据发送长度得小于等于 7 个字节。

多帧传输

需要传输的数据比较多,就需要多帧来传输,发送过程中需要把 N-SDU 分割成多帧 N-PDU 来发送。接收过程中把多帧 N-PDU 重组发给上层,多帧传输分为首帧和续帧。

PCI(Protocol Control Information)协议控制信息,包含了 PDU 单元类型和消息字节长度。(表面该报文是单帧、首帧、流控帧还是连续帧)

FF(首帧):

多帧发送时,第一帧报文叫做首帧

在多帧传输中,包括了首帧(FF)和连续帧(CF),接收端需要在收到首帧后回复流控(FC)。首帧格式如图所示,首帧第一个字节 PCI 的高四位为 1, PCI 低四位与第二个字节 LEN 合起来为接下来传输的数据长度,从第三个字节 byte2 起为传输数据。最大多帧长度为 4095 个字节。

CF(连续帧):

连续帧格式如图所示,连续帧第一个字节 PCI 的高四位为 2, PCI 的低四位为帧计数器,第二个字节 byte1 起为剩余传出的数据。例如首帧已经传输了Data0, Data1 ...至Data5,则第一个连续帧接着传输 Data6, Data7...至Data12,第二个连续帧接着传输 Data13, Data14...,以此类推直至所有数据传输结束。续帧 SN 从 0 开始,到 15 之后又返回 0 开始。(注意: FF 发完后的第一个 CF的 SN 为 1)

续帧 SN 从 0 开始,到 15 之后又返回 0 开始。(注意: FF 发完后的第一个 CF的 SN 为 1)
 

FC(流控帧):

接收端在收到首帧后,会发出一个流控帧,第一个字节 PCI 的高四位为 3,低四位为 FS(FlowStatus), FS 可以为 0 代表 ContinueToSend(CTS), 1 代表Wait(WT), 2 代表 Overflow (OVFLW), 3 – F 为预留,通常我们遇到的值为0。
流控帧的作用在于接收端告知发送端接收能力,包含 BlockSize(BS)和SeparationTimeMin(STmin)两个参数。
• BS 表示接收端允许发送端连续发送的最大连续 N_PDU 帧数 BS 为 0 的时候高速发送端可以发完剩余的全部 N-PDU BS 为 01 - 0xFF 时,表示发送端可以发的连续帧最大帧数。

• STmin 表示发送端发送连续帧的最小间隔时间。

流控帧的本质是接收端告诉发送端自己的接收能力。

网络层时间参数要求
CAN 诊断的数据传输不仅需要遵从上述格式要求,还有严格的时间要求。网络层涉及的时间参数有 N_As, N_Ar, N_Bs, N_Br, N_Cs 和 N_Cr。这些时间参数在传输过程的对应关系如图所示

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MAC ITEM 解决cd: string not in pwd的问题

今天使用cd 粘贴复制的路径的时候,报了这么一个错. cd: string not in pwd eistert192 Library % cd Application Support cd: string not in pwd: Application eistert192 Library % 让人一脸懵逼. 对比一下,发现中文路径里的空格截断了路径 导致后面的路径就没有办法被包含…

视频汇聚/视频云存储/视频监控管理平台EasyCVR启动时打印starting server:listen tcp,该如何解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成,…

模糊测试面面观 | 模糊测试是如何发现异常情况的?

协议模糊测试是一种用于评估通信协议、文件格式和API实现系统安全性和稳定性的关键技术。在模糊测试过程中,监视器扮演着关键角色,它们能够捕获异常情况、错误响应、资源利用等,为测试人员提供有价值的信息,有助于发现潜在漏洞和问…

530. 二叉搜索树的最小绝对差

给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root [4,2,6,1,3] 输出:1示例 2: 输入:root [1,…

利用python进行视频下载并界面播放快速下载素材

工具:python designer(python自带):UI界面设计工具 VLC:视频播放工具 需要的库如下: import os,platform os.environ[PYTHON_VLC_MODULE_PATH] "./vlc-3.0.14" import vlc from 脚本 import Player from …

使用IntelliJ IDEA本地启动调试Flink流计算工程的2个异常解决

记录:471 场景:使用IntelliJ IDEA本地启动调试Flink流计算时,报错一:加载DataStream报错java.lang.ClassNotFoundException。报错二:No ExecutorFactory found to execute the application。 版本:JDK 1.…

python 定时任务 传参 及 之前创建 Python包遇到的问题

一 Python 调度器传参 1.1 按位置传参 注意调 args 设置好之后,使用 scheduler.start() 启动调度器。 # 设置调度器 scheduler BlockingScheduler() # 采用阻塞的方式 # 分拆上传数据模块,上传算法使用的数据 scheduler.add_job(funcup_load_da…

c语言练习45:模拟实现内存函数memcpy

模拟实现内存函数memcpy 针对内存块&#xff0c;不在乎内存中的数据。 拷贝内容有重叠的话应用memmove 模拟实现&#xff1a; 代码&#xff1a; 模拟实现memcpy #include<stdio.h> #include<assert.h> void* my_memcpy(void* dest, const void* src, size_t num…

AJAX学习总结+Axios异步框架+Filter拦截器学习+JSON介绍+Listener监听器介绍

壹、AJAX 一、AJAX介绍 AJAX&#xff08;Asynchronous JavaScript And XML&#xff09;&#xff1a;异步的JavaScript和XML AJAX作用&#xff1a; 1. 与服务器进行数据交换&#xff1a;通过AJAX可以给服务器发送请求&#xff0c;并获取服务器响应的数据。&#xff08;原先…

延时消息队列

目录 前言 一、延时队列实用场景 二、DelayQueue DelayQueue的实现 使用延迟队列 DelayQueue实现延时任务的优缺点 三、RocketMQ 原理 四、Kafka 原理 实现 DelayMessage定义 消息发送代码 消费者代码 参考 前言 延时队列的内部是有序的&#xff0c;最重要的…

Python函数的概念以及定义方式

一. 前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 二. 什么是函数&#xff1f; 假设你现在是一个工人&#xff0c;如果你实现就准备好了工具&#xff0c;等你接收到任务的时候&#xff0c; 直接带上工…

Spring初始化项目

1、官网用法 访问地址&#xff1a;https://start.spring.io idea配置&#xff1a;https://start.spring.io 2、阿里巴巴加速 访问地址&#xff1a;https://start.aliyun.com/bootstrap.html idea配置&#xff1a;https://start.aliyun.com 3、区别 官网阿里巴巴版本最新稍…