当前位置: 首页 > article >正文

【单片机】【UDS】 (单帧与多帧) 数据传输

        对于使用 CAN 的诊断通信系统,每个单帧 (SF)、 第一帧 (FF)、 连续帧 (CF) 或流控 制帧 (FC) 有 8 字节数据场;其中单帧的 CAN_DL≤8 且第一帧的 FF_DL≤4095;下表 中已定义 每个报文的类型。 CAN FD 帧的数据场支持最大 64 个字节,可包含的帧类型有单帧 (SF)、 第一帧 (FF)、 连续帧 (CF) 或流控制帧 (FC)。包含单帧的 CAN_DL>8 和第一帧的 FF_DL>4095。下表已定义每个报文的类型。

(1)单帧传输
       单帧意味着这一帧的数据场部分有效字节数<=8,不足的地方多以0xAA/55/CC等填充;无论单帧还是多帧,每一帧的0号字节的高四位用于区别帧类型(0/1/2/3);对于单帧SingleFrame,0号字节低4位【SF_DL】表示DLC(Data-Length-Control),表示需要读后面多长的数据(即后续有多少有效的数据位);
例:
02 10 03 55 55 55 55 55 -----> 有效数据是10 03
01 10 03 55 55 55 55 55 -----> 有效数据是10


(2)多帧传输
       首帧FF ---- FirstFrame,0号字节高4位固定为1,低4位加上1号字节组成DLC,表示多帧传输的数据长度(如果是22/2R读写数据服务,需要包含SID+DID)
       连续帧CF ---- ContinueFrame,0号字节高4位固定为2,低4位表示包的连续号SN,后面跟数据。SN根据以下规则定义: 首帧的SN值为 0,连续帧的第一帧SN值为1, 每增加一个连续帧,SN值增加1, 流控制帧不影响SN值的计算,当SN值达到15后,下一个连续帧的SN值为0。


       流控帧FC ---- FrameControl,0号字节高4位固定为3,低4位表示流状态参数FS。
FS(流控状态):0,CTS表示继续发送;1,WT表示等待,令发送方停止发送,直到下一个流控帧的到来;2,OVFLW表示溢出,当接收方接收到首帧,判断到FF_DL的长度比接收方缓冲区大时发送,随后发送方终止发送。1号字节表示BS(BlockSize)块大小,即告知发送方允许接下来发多少帧连续帧。当BS=0时,块大小不做限制。2号字节表示STmin(SeparationTimeminimum),规定了连续帧发送的最小时间间隔。

 

       下图为多帧传输机制,适用于 CAN 和 CAN FD 诊断通信系统。多帧传输时,应支持 ISO
15765-2 定义的流控传输方式。

                          

       为了确保正确的通信,每个控制器都必须遵守一组定时参数,这些参数在 ISO_15765-2 中
定义,仅适用于 CAN 控制器。支持以下参数集。

例:

相关文章:

【单片机】【UDS】 (单帧与多帧) 数据传输

对于使用 CAN 的诊断通信系统&#xff0c;每个单帧 (SF)、 第一帧 (FF)、 连续帧 (CF) 或流控 制帧 (FC) 有 8 字节数据场&#xff1b;其中单帧的 CAN_DL≤8 且第一帧的 FF_DL≤4095&#xff1b;下表 中已定义 每个报文的类型。 CAN FD 帧的数据场支持最大 64 个字节&#xff0…...

WebXR教学 02 配置开发环境

默认操作系统为Windows 1.VS Code VS Code 是一款轻量级、功能强大的代码编辑器&#xff0c;适用于多种编程语言。 下载 步骤 1&#xff1a;访问 VS Code 官方网站 打开浏览器&#xff08;如 Chrome、Edge 等&#xff09;。 在地址栏输入以下网址&#xff1a; https://code.v…...

MySql数据库运维学习笔记

数据库运维常识 DQL、DML、DCL 和 DDL 是 SQL&#xff08;结构化查询语言&#xff09;中的四个重要类别&#xff0c;它们分别用于不同类型的数据库操作&#xff0c;下面为你简单明了地解释这四类语句&#xff1a; 1. DQL&#xff08;数据查询语言&#xff0c;Data Query Langu…...

网络协议相关问题

1. HTTP 与 HTTPS 的区别 HTTP&#xff1a;明文传输&#xff0c;端口80&#xff0c;无加密&#xff0c;易被窃听或篡改。HTTPS&#xff1a;SSL/TLS加密传输&#xff0c;端口443&#xff0c;通过数字证书验证身份&#xff0c;防止中间人攻击。 混合加密&#xff1a;非对称加密交…...

宇树科技13家核心零部件供应商梳理!

2025年2月6日&#xff0c;摩根士丹利&#xff08;Morgan Stanley&#xff09;发布最新人形机器人研报&#xff1a;Humanoid 100: Mapping the Humanoid Robot Value Chain&#xff08;人形机器人100&#xff1a;全球人形机器人产业链梳理&#xff09;。 Humanoid 100清单清单中…...

Windows 启动 SSH 服务报错 1067

Windows 启动 SSH 服务报错 1067 一、原本安装的 Windows 自带的 SSH 服务 按 Windows 键 -> 设置 -> 系统 -> 可选功能 在 添加的功能 查看是否安装了 OpenSSH 服务 一开始 执行 net start sshd 是可以正常启动的 并且其他机器也可以通过 ssh 访问 这个电脑 但是有…...

kkFileView报错no office manager available

背景 部署环境:虚机Linux系统 发生问题的版本:4.1.0-SNAPSHOT 现象:有的docx文件可以预览,有的不可以。不可以的就怎么打开都不可以(不管你是躺着,站着,坐着,睡着,趴着都不行,哈哈) 报错内容 贴出主要的报错内容步骤: > no office manager available > tr…...

ARMS 助力假面科技研发运维提效,保障极致游戏体验

客户介绍与项目背景 假面科技成立于 2014 年&#xff0c;致力于打造创新的数字产品&#xff0c;火爆一时的“狼人杀”、“谁是卧底”、“足记相机”都是假面科技旗下产品&#xff0c;公司产品总数超过 40 款&#xff0c;覆盖用户数超过 2 亿人。 随着业务的持续发展&#xff…...

趣味数学300题1981版-八个等式、五个5等于24

八个等式 分析&#xff1a;此问题的求解思路是按照最后一步运算的运算符号进行分类。示例中最后一步的运算是除法&#xff0c;只要被除数与除数相等且不为0&#xff0c;就可以得到结果1.因此我们还可以对于结果等于1的情况列出其他的算式。如果保持最后一步运算为除法运算&…...

关闭超时订单和七天自动确认收货+RabbitMQ规范

关闭超时订单 创建订单之后的一段时间内未完成支付而关闭订单的操作&#xff0c;该功能一般要求每笔订单的超时时间是一致的 TTL&#xff08;Time To Live&#xff09;存活时间&#xff0c;只能被设置为某个固定的值&#xff0c;不能更改&#xff0c;否则抛出异常 死信&#…...

DDD领域驱动开发第2讲:领域驱动开发在货代订单业务的实践

领域驱动开发在货代订单业务的实践 本文是DDD领域驱动开发第2讲,先讲解当前业务存在哪些问题,什么是DDD,为啥需要使用DDD解决现有业务问题,DDD让技术主动理解业务,通过领域模型将可以描述各个业务领域之间的关系,最后讲解领域驱动开发在货代订单的实践。 文章目录 领域驱…...

【Qt学习】| 如何使用QVariant存储自定义类型

QVariant是Qt框架中的一个通用数据类型&#xff0c;可以存储多种类型的数据&#xff0c;主要作用是提供一种类型安全的方式来存储和传递不同类型的数据&#xff0c;而不需要显示地指定数据类型。 QVariant提供了诸多构造函数可以非常方便地对基础数据类型&#xff08;如&#x…...

分割 学习笔记cvpr2024

目录 LiteMedSam 模型37m LightM-Unet 500 str 依赖项: MLWnet 73 star memsam 340M 126 star LiteMedSam 模型37m https://github.com/bowang-lab/MedSAM/blob/LiteMedSAM/README.md LightM-Unet 500 str https://github.com/MrBlankness/LightM-UNet/blob model = Li…...

【多模态处理篇一】【 深度解析DeepSeek图文匹配:CLIP模型迁移实战——从原理到落地的保姆级教程】

引言:当CLIP遇到DeepSeek,会发生什么化学反应? 如果说CLIP是OpenAI为多模态领域投下的"原子弹",那DeepSeek的迁移实战方案就是给这颗原子弹装上了精确制导系统。这个组合能让你用一张猫咪表情包搜到全网同类梗图,还能让电商平台自动生成百万级商品描述,甚至帮…...

水果生鲜农产品推荐系统 协同过滤余弦函数推荐水果生鲜农产品 Springboot Vue Element-UI前后端分离 代码+开发文档+视频教程

水果生鲜农产品推荐系统 协同过滤余弦函数推荐水果生鲜农产品 Springboot Vue Element-UI前后端分离 【亮点功能】 1.SpringbootVueElement-UIMysql前后端分离 2.Echarts图表统计数据, 直观展示数据情况 3.发表评论后&#xff0c;用户可以回复评论, 回复的评论可以被再次回复, …...

1.vue使用vite构建初始化项目

npm create vuelatest❯ npm create vuelatest> npx > create-vueVue.js - The Progressive JavaScript Framework✔ Project name: … vue3_test ✔ Add TypeScript? … No / Yes ✔ Add JSX Support? … No / Yes ✔ Add Vue Router for Single Page Application dev…...

在PyCharm中运行Jupyter Notebook的.ipynb文件及其pycharm软件的基础使用

&#xff08;注意需使用PyCharm专业版&#xff0c;学生、教师可以申请免费使用&#xff1a;https://www.jetbrains.com/shop/eform/students&#xff09; 1. pycharm2024版汉化 https://blog.csdn.net/m0_74103046/article/details/144560999 2. pycharm中的python控制台和J…...

深度体验通义灵码2.0 AI 程序员

通义灵码2.0 作为一名开发者&#xff0c;我去年就使用过1.0&#xff0c;近期有幸体验了 2.0&#xff0c;这是一款集成了 Deepseek 大模型的智能编码助手。在这次体验中&#xff0c;我深入探索了新功能开发、跨语言编程、单元测试自动生成、图生代码等多个场景&#xff0c;深刻…...

Coroutine协程

cooperation 协作 routine 程序&#xff0c;常规 协程核心&#xff1a;函数能够被挂起suspend,当然也能被回复resume 内置函数&#xff1a;also 返回对象本身 扩展&#xff1a; 内置函数let、also、with、run、apply大大提高你的开发效率&#xff01; 协程的作用&#xff1a;…...

使用IDEA提交SpringBoot项目到Gitee上

登录Gitee并新建仓库 创建本地仓库 提交本地代码到本地仓库 提交本地代码到远程仓库...

Windows安装MySQL指南

1.下载 下载地址&#xff1a;https://www.mysql.com/downloads/ 下载版本&#xff1a;MySQL Installer for Window 2.安装MySQL 以下只列出需要注意的一些界面&#xff0c;没出现的界面默认继续即可。 1.选择安装类型 提供了多种安装模式&#xff0c;包括默认开发版、仅…...

汽车免拆诊断案例 | 2013 款奔驰 S300L 车起步时车身明显抖动

故障现象  一辆2013款奔驰S300L车&#xff0c;搭载272 946发动机&#xff0c;累计行驶里程约为15万km。车主反映&#xff0c;将挡位置于D挡&#xff0c;稍微释放一点制动踏板&#xff0c;车辆蠕动时车身明显抖动&#xff0c;类似气缸失火时的抖动&#xff0c;又类似手动变速器…...

从0开始:OpenCV入门教程【图像处理基础】

图像处理基础 一、OpenCV主要功能及模块介绍 1、内置数据结构和输入/输出 OpenCV内置了丰富的与图像处理有关的数据结构&#xff0c;如Image、Point、Rectangle等。core模块实现了各种基本的数据结构。imgcodecs模块提供了图像文件的读写功能&#xff0c;用户使用简单的命令…...

区块链相关方法-SWOT分析

1.SWOT 一、定义:一种基于内外部竞争环境和竞争条件下的态势分析&#xff0c;通过对企业的内外环境所形成的优势&#xff08;Strengths&#xff09;、劣势&#xff08;Weaknesses&#xff09;、机会&#xff08;Opportunities&#xff09;和威胁&#xff08;Threats&#xff0…...

React 前端框架介绍

什么是 React? React 是一个由 Facebook 开发并维护的开源 JavaScript 库,用于构建用户界面。它主要用于创建交互式用户界Face(UI),尤其是当数据变化时需要更新部分视图时非常有效。React 的核心思想是组件化和声明性编程,这使得开发者可以轻松地创建、组合和重用代码。…...

linux串口通讯

在当今的科技世界中,串口通讯虽然不像一些新兴的高速通信技术那般夺目,但它依然在众多领域有着不可替代的地位,尤其是在嵌入式系统开发、工业自动化控制等场景。而 Linux 系统,凭借其开源、稳定且强大的特性,为串口通讯提供了出色的支持。 一、串口通讯基础 串口通讯,简…...

鸿蒙app 开发中 对于数组方法 filter 的理解

这段代码是 TypeScript 中数组 filter 方法的类型定义&#xff0c;下面将详细解释其各个部分的含义、作用及使用场景。 整体功能概述 filter 方法是 JavaScript 和 TypeScript 中数组对象的一个内置方法&#xff0c;它的主要功能是创建一个新数组&#xff0c;新数组中的元素是…...

黄金市场现状与驱动因素分析

一、当前市场现状&#xff1a;挤兑、运力与供应链危机 全球金库告急与运输瓶颈 伦敦商业银行金库的黄金存量告急&#xff0c;纽约和伦敦市场出现“史诗级挤兑”。提取英格兰银行金库的黄金需等待4-8周&#xff0c;远高于常规的几天时间[citation:用户描述]。专业运输车辆超负荷…...

Scrum方法论指导下的Deepseek R1医疗AI部署开发

一、引言 1.1 研究背景与意义 在当今数智化时代&#xff0c;软件开发方法论对于项目的成功实施起着举足轻重的作用。Scrum 作为一种广泛应用的敏捷开发方法论&#xff0c;以其迭代式开发、快速反馈和高效协作的特点&#xff0c;在软件开发领域占据了重要地位。自 20 世纪 90 …...

大学本科教务系统设计方案,涵盖需求分析、架构设计、核心模块和技术实现要点

以下是大学本科教务系统的设计方案,涵盖需求分析、架构设计、核心模块和技术实现要点: 大学本科教务系统设计方案 一、需求分析 1. 核心用户角色 角色功能需求学生选课/退课、成绩查询、课表查看、学分统计、考试报名、学业预警教师成绩录入、课程大纲上传、教学进度管理、…...