首页 > 其他分享 >UDS服务总结

UDS服务总结

时间:2024-09-17 21:36:08浏览次数:1  
标签:总结 UDS 服务 请求 会话 诊断 ECU

手册导读 2 UDS协议 2 UDS介绍 2 一、常见的诊断协议OBD&UDS 2 1.1两种常见的诊断协议:OBD & UDS 2 二、相关术语介绍 3 2.1 Service ID 3 2.2 诊断请求(Diagnostic Request) 4 2.3 正响应/负响应(Positive/Negative Response) 5 2.3.1 正响应报文格式 6 2.3.1 负响应报文格式 7 3.1 SID大类 10 三、服务的详细介绍 10 3.1诊断和通信管理类 10 3.1.1 0x10 诊断会话控制 10 3.1.2 0x11 ECU复位服务 14 3.1.3 0x27 安全访问服务 17 3.1.4 0x28 通信控制服务 22 3.1.5 0x3E 待机握手服务 26 3.1.6 0x85 控制DTC的设置 27 3.2数据传输类 30 3.2.1 0x22 通过ID读数据 读DID 30 3.2.2 0x2E 通过ID写数据 写DID 36 3.3存储数据类 38 3.3.1 什么是DTC 39 3.3.2 0x14 清除诊断信息 47 3.3.3 0x19 读取DTC数据 51 3.4IO控制类 63 3.4.1 0x2F 通过ID控制输入输出 63 3.5例程控制类 70 3.5.1 0x31 例行程序控制 71 3.6上传下载类 76 3.6.1 0x34 请求下载 76 3.6.2 0x36 数据传输 80 3.6.3 0x37 请求退出传输 83 ISO-TP协议 87 UDS网络层/TP层(ISO 15765-2)的解读 87 专业术语 88 ISO-TP传输协议格式详解 89 特殊帧定义 89 通信实例 90 手册导读 一、手册导读 针对UDS服务的学习, 原文链接:《UDS协议从入门到精通(UDS速查手册)》(完结撒花版)_obdonuds-CSDN博客 UDS协议 UDS介绍 UDS是一种应用层协议,由多种服务类型组成,基础的状态机为会话状态机 一、常见的诊断协议OBD&UDS 1.1两种常见的诊断协议:OBD & UDS OBD和UDS是两种常见的诊断协议,它们在目标和应用领域上存在一些区别。OBD协议主要用于监测车辆的排放情况,通过读取车辆的故障码来判断是否符合排放标准。而UDS协议则更加全面和灵活,在各个ECU上是一种通用型的协议。 OBD(On-Board Diagnostic):   主要用于跟汽车排放系统相关的ECU(电子控制单元,汽车上的板级控制器)的诊断。OBD协议分为两种:OBD-I和OBD-II。OBD-I是由美国为当时制造的加州汽车所制定的排放法规,随后这套法规被逐渐标准化,于是又提出了OBDII标准,包括:标准化的车载ECU数据诊断接口(SAE-J1962,也就是现在常说的OBD接口)、标准化的诊断解码工具(SAE-J1978)、标准化的诊断协议(ISO 9141-2、ISO 14230-4、ISO 15765-4)、标准化的故障码定义(SAE-J2012、ISO 15031-6)、标准化的维修服务指南(SAE-J2000),OBD-II在1996年开始实施,目前已经成为全球汽车行业的标准。因此,OBD标准可以看作一系列标准的集合,是具有强制标准需要参照的,是由法规要求的,其最初目的是环保,用于汽车排放系统相关的ECU上。 UDS(Unified diagnostic services):   UDS(Unified Diagnostic Services)是一种通用的汽车诊断协议,由欧洲汽车制造商协会(ACEA)和日本汽车制造商协会(JAMA)共同制定。它与OBD最大的区别就在于“Unified“上,是面向整车所有ECU的。单就UDS而言,它只是一个应用层协议(ISO 14229-1),不关心应用层以下的实现,比如执行该协议的应用层程序不关心通过何种物理传输方式实现与ECU硬件的通信,因此它既可以基于CAN线通信去实现,也能在Ethernet上实现。并且,UDS提供的是一个诊断服务的基本框架,定义了一系列的诊断服务和通用化的诊断流程,主机厂和零部件供应商可以根据实际情况选择实现其中的一部分或是自定义出一些私有化的诊断服务来,所以基于UDS协议的诊断又常常被称为Enhanced diagnosic(增强型诊断)。可见,UDS不是法规要求的,没有统一实现标准,可以基于该协议提供的诊断请求及响应格式进行二次开发。    简言之,UDS服务主要用于诊断设备Tester(Client)和ECU(Server)之间的诊断通信,诊断设备(Tester)发送诊断请求(request),ECU给出诊断响应(response),通过这种“一问一答”的形式让目标ECU执行一些期望的操作,而UDS就是为不同类型诊断功能的request和response定义了统一的内容和格式。 二、相关术语介绍 2.1 Service ID(SID)   在UDS协议中,Service ID(SID)是指服务标识符,用于标识要执行的服务。每个服务都有一个唯一的SID,在诊断会话中通过SID来区分要执行/响应哪种服务请求。14229-1中定义了26种服务并将这些服务分为6大类:诊断和通信管理类、数据传输类、存储数据传输类、输入输出控制类、例程功能类、上传下载类 2.1 Service ID 服务,是对话方式的多种组合,主要分为诊断类,数据传输类,存储数据类,IO控制,上传和下载(Boot) Tip

标签:总结,UDS,服务,请求,会话,诊断,ECU
From: https://www.cnblogs.com/nidalee/p/18417570

相关文章

  • 如果netstat显示某个端口正在监听,我该如何确认是哪些服务?
    当然,以下是一些具体的案例,展示了如何使用上述方法来确认监听特定端口的服务。案例一:使用lsof命令确认服务假设你运行了netstat命令并发现端口3306正在监听,但你不确定是哪个服务。使用lsof命令:sudolsof-i:3306输出可能如下:COMMANDPIDUSERFDTY......
  • 电商返利平台的实时推荐与个性化服务
    电商返利平台的实时推荐与个性化服务大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在当今的电商环境中,实时推荐和个性化服务已经成为提高用户体验和增加平台黏性的关键技术。尤其是在返利平台中,通过为用户提供个性化的商品推荐和精准的返利信......
  • emucoach 升级服务端后转移账号和角色教程
    emucoach发布新版本服务端后如果需要转移账号和角色,按照如下步骤进行。本教程使用navicat作为访问数据库的软件。本教程假设读者是开发者,有一定的数据库操作能力。 参考:emucoach 一、下载并搭建新的emucoach,原有的emucoach服务端不要删除 二、启动并连接旧emucoach服务......
  • springboot交通管理在线服务系统的设计与实现
    大家好,我是永钊,一个混迹在java圈的码农,今天要和大家聊的是一款基于springboot的交通管理在线服务系统,项目源码请联系永钊,目前有各类成品毕设javawebsshssmspringboot等等项目框架,源码丰富。专业团队,咨询就送开题报告,活动限时免费,有需要的朋友可以来留言咨询。本网站系......
  • 【日记】对这两天的总结,比赛止步 32 强(3338 字)
    正文这两天的事情非常多,一直也没来得及写。这篇日记相当于对这几天的一个大总结吧。2024年9月13日-14日这两天都在培训,所幸最终考核卷子,题目出得不是很难。只给半个小时考试。我的天啊,我题目都没写完。我印象中出了一道ARP协议的工作过程,全忘光了......
  • 经典sql题(八)SQL 查询详细指南总结一
    SQL查询详细指南SQL(StructuredQueryLanguage)是一种用于管理和操作关系数据库的标准语言。本文将详细介绍SQL中的一些常见操作及其用法,包括DISTINCT去重、LIMIT限制、排序、开窗函数、NULL值替换、JOIN与UNION等。1.DISTINCT去重当从数据库中查询数据时,可能......
  • 经典sql题(九)SQL 查询详细指南总结二
    示例综合上一章内容,编写一个示例SQL查询:SELECTDISTINCTa.user_id,COALESCE(b.amount,0)ASamountFROMusersaLEFTJOINtransactionsbONa.user_id=b.user_idWHEREa.status='active'GROUPBYa.user_idHAVINGCOUNT(b.transaction_id)>0ORDERBYa......
  • 怎样在windows上使用VSCode连接到ubuntu服务器开发并调试RUST程序?
    要在Windows上使用VSCode连接到Ubuntu服务器,开发并调试Rust程序,你可以使用VisualStudioCode的Remote-SSH扩展,这个扩展可以让你通过SSH连接到远程服务器,直接在远程服务器上进行开发、调试和执行。以下是具体步骤:1.安装VSCode和必要的扩展首先,你需要在Windo......
  • 在远程的ubuntu服务器安装了rust环境,本地的windows上也安装了VSCode并且连接到了ubunt
    你已经在Ubuntu服务器上安装了Rust环境,并且在本地Windows上安装了VSCode并通过Remote-SSH扩展连接到了Ubuntu服务器。接下来,我将指导你如何在Ubuntu上创建一个Rust项目,并使用VSCode进行开发和调试。步骤1:在Ubuntu上创建Rust项目连接到Ubuntu服务器(......
  • 828华为云征文 | 云服务器Flexus X实例:one-api 部署,支持众多大模型
    目录一、one-api介绍二、部署one-api2.1拉取镜像2.2部署one-api三、运行one-api3.1添加规则3.2运行one-api 四、添加大模型API4.1添加大模型API五、总结本文通过 Flexus云服务器X实例部署one-api。Flexus云服务器X实例是新一代面向中小企业和开发......