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

【UDS-流控帧和连续帧】

UDS 里要先分清两层:
UDS:诊断应用层,关心 SID,例如 0x10、0x22、0x2E、0x34、0x36、0x37
ISO-TP / CAN-TP:传输层,负责单帧、多帧、流控、连续帧

流控帧 FC 和连续帧 CF 严格来说不是 UDS 帧,而是承载 UDS 报文的 ISO-TP 帧。
ISO-TP 帧类型
普通 8 byte CAN 下,首字节高 4 bit 是 PCI 类型:
0x0n:Single Frame,单帧,n = 数据长度,最多 7 byte UDS 数据
0x1n:First Frame,首帧,多帧开始,后面带总长度
0x2n:Consecutive Frame,连续帧,n = Sequence Number
0x30:Flow Control,流控帧,由接收方发给发送方

连续帧 CF
当 UDS 数据超过单帧容量时,发送方先发 First Frame,然后等待接收方 Flow Control,之后再发 Consecutive Frame。
连续帧格式:
Byte0: 0x2N
       高 4 bit = 2,表示 Consecutive Frame
       低 4 bit = SN,序号 1,2,3...F,0,1...
Byte1~7: 后续数据

例如:
21 xx xx xx xx xx xx xx
22 xx xx xx xx xx xx xx
23 xx xx xx xx xx xx xx
...
2F xx xx xx xx xx xx xx
20 xx xx xx xx xx xx xx
SN 的作用是让接收方判断有没有丢帧、乱序、重复帧。

流控帧 FC
流控帧由“接收方”发出,用来告诉发送方:你可以继续发、等一下、或者我收不了了。
格式:
Byte0: 0x30 / 0x31 / 0x32
Byte1: BS
Byte2: STmin
Byte3~7:

http://www.jsqmd.com/news/1197786/

相关文章:

  • 生产环境EKS集群五大支柱:网络、安全、可观测性、成本与备份
  • GPT-5.6 Sol模型解析:推理效率提升10%与API集成实践
  • Adobe-GenP 3.0:免费激活Adobe全家桶的终极指南
  • Aixcut 工程文件导入剪映全平台教程(通用版与 Mac 专用版)
  • Lovart+Skills:设计系统工业化与可执行能力封装
  • no such file or directory, npm i 安装的时候
  • 从“太空大战”到命令行艺术:一堂课带你穿越Linux的前世今生
  • C++递归函数异常处理:RAII、栈展开与安全实践
  • Astrbot部署指南:基于Docker的AI原生工作流中枢
  • 人机协作的边界在哪?——什么时候该让数字员工做,什么时候该换人
  • Seedance 2.0:字节系五大平台AI语音声学适配指南
  • AI编程助手电报体技术:Token节省与可读性的工程平衡
  • qmcflac2mp3:3步轻松解锁QQ音乐加密文件,实现跨平台播放自由
  • OpenStack Nova手动部署实战:从零配置计算服务
  • TypeScript类型系统如何构建动态魔法新闻系统
  • AHEAD:面向真实场景的预判式视觉-语言-动作机器人系统
  • 线性代数进阶:分块矩阵概念详解与Python实战代码(从理论到工程化应用)
  • Codex Desktop本地AI编程助手安装与配置全指南
  • 从 DATA 到 REDUCE,现代 ABAP 里那些真正好用的语法糖
  • Python环境搭建全攻略:从零安装到避坑指南
  • Supabase 核心原理:PostgreSQL 原生后端与 RLS 权限设计
  • Supabase 核心原理:PostgreSQL 驱动的开源 BaaS 架构解析
  • Codex CLI本地安装全平台指南:Windows/Mac/Linux/VSCode避坑实战
  • Android14自动时区更新
  • C++六边形填充程序:从图形库选型到面向对象封装实践
  • 告别回放失效烦恼:ROFL-Player让你的英雄联盟精彩时刻永久保存
  • Hive核心原理与性能优化实战指南
  • 操作系统:实验一:进程调度算法模拟——动态优先数与PCB管理的C语言实现
  • ILLA Builder企业级部署:Docker+PostgreSQL生产实践指南
  • 豆包生成文件本地存储路径全平台详解