惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy International News Feed
Simon Willison's Weblog
Simon Willison's Weblog
I
Intezer
Spread Privacy
Spread Privacy
The Hacker News
The Hacker News
P
Palo Alto Networks Blog
TaoSecurity Blog
TaoSecurity Blog
S
Secure Thoughts
Google Online Security Blog
Google Online Security Blog
H
Heimdal Security Blog
N
News | PayPal Newsroom
Attack and Defense Labs
Attack and Defense Labs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
博客园 - 【当耐特】
Webroot Blog
Webroot Blog
小众软件
小众软件
Help Net Security
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
PCI Perspectives
PCI Perspectives
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
Cloudbric
Cloudbric
AI
AI
WordPress大学
WordPress大学
博客园 - 聂微东
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 三生石上(FineUI控件)
Hacker News: Ask HN
Hacker News: Ask HN
H
Hacker News: Front Page
博客园 - Franky
V
V2EX
Schneier on Security
Schneier on Security
G
GRAHAM CLULEY
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
H
Help Net Security
量子位
S
Security @ Cisco Blogs
大猫的无限游戏
大猫的无限游戏
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Recorded Future
Recorded Future
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
C
Cisco Blogs
S
Security Affairs

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
车联网产品经理需要了解的UDS诊断
violetic · 2025-03-03 · via 人人都是产品经理

作为一个汽车产品人,不可避免的会接触到各种车端通信协议,其中的UDS(Unified Diagnostic Services)诊断协议,广泛应用于汽车电子系统的诊断和维护。这篇文章,我们来学习一下。

一、ECU

ECU( Electronic Control Unit)电子控制单元,车上搭载着许多ECU,用来监控和控制车辆的各个系统,如变速器控制单元(TCU)、电子稳定程序控制单元(ESP)、动力电池管理模块(BMS)等。各ECU根据各种传感器提供的信号,按照预先编写的程序进行计算和判断,从而控制执行器工作,以实现对汽车各系统的精确控制。

二、UDS诊断协议

当我们身体的某个部位不舒服时,我们可以去医院看医生,这个时候医生会询问我们的感受,开具一些检查来了解情况。同样的,当车辆某个系统或部件有问题时,我们也需要通过某种手段获取车辆的数据信息,以更好的进行治疗。UDS诊断协议就是我们和车辆ECU进行诊断沟通的一个通用手段。

UDS(Unified Diagnostic Services,统一诊断服务)诊断协议是一种广泛应用于汽车电子控制系统中的标准化诊断协议,基于ISO 14229标准。它为汽车电子控制单元(ECU)之间的诊断通信提供了一套统一的框架和服务。这使得不同品牌的汽车和不同制造商的ECU可以使用相同的诊断工具进行诊断,大大提高了诊断的便利性和效率。

UDS诊断提供的能力包括

  • 诊断通信:通过标准化的服务(如0x10会话控制、0x22读取数据、0x2E写入数据)与ECU交互。
  • 故障管理:支持DTC(Diagnostic Trouble Code,故障码)的读取、清除和存储。
  • ECU编程:用于固件更新(如通过0x34请求下载、0x36传输数据)。
  • 安全访问:通过安全算法(如种子-密钥机制)防止未授权操作。

SID:UDS诊断协议定义了26种诊断服务,这些服务被分为6大类,每种服务都有一个唯一的服务标识符(SID)。

Sub-function:每个诊断服务下的子功能,有的诊断服务不需要指定子功能。Sub-function共有8个bit。

  • bit7:正响应抑制位,全称Suppress Positive Response,bit7=1时,抑制正响应,此时不需要ECU给出响应,bit7=0时,需要ECU给出响应。
  • bit6~bit0:这7个bit用来指定具体的Sub-function。

UDS诊断协议针对每一个服务,都详细介绍了服务的功能范围、给出了请求消息的定义要求、肯定响应消息的定义要求、受支持的否定响应代码(NRC),以及消息流示例。

三、UDS诊断服务

下面介绍几个车联网产品经理需要了解的常用服务

10服务:诊断会话控制

10服务用于启用ECU中的不同诊断会话。不同的诊断会话支持的服务权限不同。

请求消息

diagnosticSessionTypes诊断会话类型,第7位为正响应抑制位,第6至0位定义诊断会话类型。

  • 默认会话(0x01):这是ECU上电时的初始会话模式。在默认会话下,ECU支持一些基本的诊断服务,例如读取数据(0x22)、清除诊断信息(0x14)、读取诊断信息(0x19)等。
  • 编程会话(0x02):编程会话用于ECU的软件更新和配置。在编程会话下,ECU支持一些特定的诊断服务,例如编程服务(0x35、0x36、0x37)。
  • 扩展会话(0x03):扩展会话用于启用一组特定的诊断服务和功能。在扩展会话下,ECU支持一些高级的诊断服务,例如安全访问(0x27)、数据写入(0x2E)等。

肯定响应消息

sessionParameterRecord会话参数记录定义如下,其中

P2Server_max:表示ECU在应用层上对诊断命令的响应时间。如果ECU在该时间内未能响应,可以认为通信超时。

P2*Server_max:表示ECU在强化模式下对诊断命令的响应时间。强化模式通常用于ECU暂时无法处理当前诊断命令的情况,ECU会发送一个NRC 0x78(RequestCorrectlyReceivedResponsePending)响应,表示请求已接收但响应待定。P2*Server_max定义了服务器在这种情况下可以等待的最长时间。

19服务:读取DTC信息

19服务支持读取故障码(DTC,全称Diagnostic Trouble Code)信息。故障码由制造商预先定义,可以简单理解为给车辆的每个故障一个代号。当我们读到DTC时,根据代号就知道发生了什么故障。

19服务比较复杂,其下有27个子功能,常用的子功能包括:(Sub-function第7位为正响应抑制位,第6至0位定义具体子功能。)

  • 0x01:reportNumberOfDTCByStatusMask – 读取符合状态掩码条件的DTC数量。
  • 0x02:reportDTCByStatusMask – 读取符合状态掩码条件的DTC列表及其状态。
  • 0x03:reportDTCSnapshotIdentification – 报告DTC快照记录的标识。
  • 0x04:reportDTCSnapshotRecordByDTCNumber – 通过DTC编号报告DTC快照记录。
  • 0x06:reportDTCExtendedDataRecordByDTCNumber – 通过DTC编号报告DTC扩展数据记录。
  • 0x0A:reportSupportedDTC – 报告ECU支持的所有DTC及其状态。

1901(读取DTC数量)

比如我们要获取ECU中已确认DTC的数量。获取DTC数量需要使用19 01服务,我们先看下01服务的

请求消息的定义要求、肯定响应消息的定义要求。

请求消息

DTCStatusMask(DTC状态掩码):

状态掩码共有8个状态位,通过状态掩码,我们可以精确地获取特定状态的DTC信息。比如我们请求消息的状态掩码的某一位设置为1,如果DTC的实际状态位中的这一位也为1(即请求掩码与DTC的实际状态进行位逻辑AND运算,并且结果不为零),那么认为DTC的状态与状态掩码是匹配的。

肯定响应消息

DTC状态可用性掩码:用于指示ECU支持的DTC状态位。比如某个ECU的DTC状态可用性掩码为0x09,表示仅支持以下状态位:Bit 0:Test Failed(测试结果是失败)、Bit 3:Confirmed DTC(确认的DTC)。

DTCFormatIdentifier(DTC格式标识符):定义了ECU所报告DTC的格式

DTCCount(DTC计数):DTC数量

示例

现在我们获取ECU中已确认DTC的数量,请求消息中的状态掩码应设置为0x08,所以请求消息为

若收到响应消息如下,说明该ECU支持的DTC状态可用性掩码为0x2F,DTC格式为14229,DTC数量为1。

22服务:通过DID读取数据

22服务支持读取ECU中通过一个或多个DID所识别的数据记录值。

DID(Data Identifier)数据标识符。DID的编码范围为16位(0x0000–0xFFFF),其具体含义和用途根据标准化定义或车辆制造商自定义而有所不同。由UDS协议进行标准化定义的DID中常用的有

  • F190:车辆识别号(VIN)
  • F191:ECU硬件号
  • F189:ECU软件版本号
  • F18C:ECU序列号

请求消息

肯定响应消息

示例

比如我们想读取VIN,VIN的DID为F190,所以请求消息

响应消息如下,VIN的数据格式为17字节,ASCII编码。

四、诊断与车联网

远程诊断与OTA

基于UDS诊断协议,再结合车联网技术,把原先通过线下诊断工具排查解决车辆问题的过程放到线上云端,就有了远程的车辆诊断。远程诊断可以实现车辆故障的高效诊断与快速响应,降低维修成本,提升用户体验。同样的,把原先通过线下刷写工具刷写软件放到线上云端,就有了OTA远程更新。

本文由 @violetic 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务