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

CAN报文中UDS部分的帧类型

目录

1. 单帧(Single Frame, SF)

2. 首帧(First Frame, FF)

3. 连续帧(Consecutive Frame, CF)

4. 流控制帧(Flow Control Frame, FC)

关键点总结

典型交互流程


 

在CAN总线中,UDS(Unified Diagnostic Services,统一诊断服务)通过ISO 15765-2(ISO-TP)协议进行多帧传输,其帧类型主要分为以下四种,用于处理数据的分段与重组:


1. 单帧(Single Frame, SF)

  • 用途:传输长度较短(≤7字节有效数据)的UDS消息。

  • 结构

    • 首字节:最高位为0,低7位表示数据长度(如数据长度为3,则首字节为0x03)。

    • 后续字节:有效数据。

  • 示例
    02 3E 00 00 00 00 00 00
    表示单帧,数据长度为2字节(3E 00),对应UDS的TesterPresent服务。


2. 首帧(First Frame, FF)

  • 用途:长消息的起始帧,声明总数据长度。

  • 结构

    • 首字节:最高位为1,后续15位表示总数据长度(最大4095字节)。

    • 后续字节:携带部分数据(首帧最多6字节有效数据)。

  • 示例
    10 14 00 3E 00 00 00 00
    表示首帧,总数据长度为20字节(0x14),后续数据为00 3E 00


3. 连续帧(Consecutive Frame, CF)

  • 用途:跟随首帧或流控制帧,传输剩余数据。

  • 结构

    • 首字节:最高位为3(十六进制0x3X),低4位为序列号(从1开始递增,每发送一帧+1,超过15后归零)。

    • 后续字节:携带后续数据(每帧最多7字节)。

  • 示例
    21 00 00 00 00 00 00 00
    表示连续帧,序列号为1,携带7字节数据。


4. 流控制帧(Flow Control Frame, FC)

  • 用途:接收方通知发送方数据传输的流控参数(如发送间隔、最大连续帧数)。

  • 结构

    • 首字节:流控状态(0x00继续发送,0x01等待,0x02溢出)。

    • 第二字节:允许连续发送的最大帧数(Block Size)。

    • 第三字节:帧间最小时间间隔(STmin,单位ms或μs)。

  • 示例
    30 0A 01 00 00 00 00 00
    表示流控帧,允许发送方连续发送10帧(0x0A),帧间隔1ms。


关键点总结

帧类型标识符(首字节)作用数据容量
单帧(SF)0x0X传输短消息≤7字节
首帧(FF)0x1X声明长消息总长度最多6字节数据
连续帧(CF)0x2X0x3X传输长消息的后续数据最多7字节数据
流控制帧(FC)0x3X协调发送速率和连续性无有效数据

典型交互流程

  1. 单帧传输
    发送方 → 接收方:SF(直接完成传输)。

  2. 多帧传输

    • 发送方 → 接收方:FF(声明总长度)。

    • 接收方 → 发送方:FC(反馈流控参数)。

    • 发送方 → 接收方:CF序列(按流控要求发送数据)。


通过ISO-TP的帧类型,UDS能够可靠地在CAN总线上传输长诊断报文(如刷写ECU时的多帧数据)。实际应用中需结合UDS服务ID(如0x10为会话控制,0x22为读取数据)解析具体内容。

http://www.xdnf.cn/news/4305.html

相关文章:

  • ONLYOFFICE 文档 API :新的文档格式支持及配置方法
  • VNP46A3灯光遥感数据全球拼接并重采样
  • ArcGIS Pro图斑属性自动联动更新-在线卫星底图图斑采集
  • Kotlin密封类优化Android状态管理
  • 技术对暴力的削弱
  • 前端知识-forwardRef
  • 数字孪生储能充电站,实现智慧能源设施全景管控
  • 63.微服务保姆教程 (六) SkyWalking--分布式链路追踪系统/分布式的应用性能管理工具
  • 乘法逆元【费马小定理+扩展欧几里得】
  • MySQL性能调优探秘:我的实战笔记 (上篇:从EXPLAIN到SQL重写)
  • iPaaS制造案例丨某照明行业头部企业借助谷云科技iPaaS步入数字化转型“快车道”
  • 一个基于Asp.Net Core + Angular + Bootstrap开源CMS系统
  • Redis 使用及命令操作
  • Nginx 安全防护与 HTTPS 安全部署
  • 可炫可转防丢帽 金士顿DTXS闪存盘致敬经典
  • 2025年服务器技术全景解析:量子计算、液冷革命与未来生态构建
  • Kubernetes笔记(1)Kubernetes入门
  • Premiere(Pr) CS6 - 2025 软件安装包+安装教程
  • 手写 Vue 源码 === Effect 机制解析
  • 招标专家随机抽选——设计讲解—未来之窗智能编程——仙盟创梦IDE
  • 哈希表的设计
  • QQMUSIC测试报告
  • 将真实世界带入Unreal Engine:Cesium for Unreal深度解析与实战指南
  • 人工智能在医疗运营编程中的应用综述
  • 分布式、高并发-Day04
  • Gitee的介绍
  • Spring AI 函数调用(Function Call)系统设计方案
  • C++23 std::generator:用于范围的同步协程生成器 (P2502R2, P2787R0)
  • 盘古信息领德创|半导体存储与云计算存储小巨人企业IMS数字化升级项目正式启动!
  • day5:nginx代理-动静分离