汽车诊断-UDS协议的26个服务基础介绍
随着汽车电子化的发展汽车电子控制单元ECUElectronic Control Unit的数量不断增多为了便于汽车的诊断维修车载诊断技术就应运而生UDSUnified Diagnostic Services统一诊断服务就是目前通用的汽车诊断协议。1 UDS基础介绍UDS 是一套由国际标准化组织ISO 14229定义的通讯规范专门用于车辆诊断。它是一个应用层协议(ISO 14229-1)既可以在CAN线上实现也能在Ethernet上实现(DoIP, Diagnostic over Internet protocol)。UDS提供的是一个诊断服务的基本框架主机厂和零部件供应商可以根据实际情况选择实现其中的一部分或是自定义出一些私有化的诊断服务来基于UDS协议的诊断又常常被称为Enhanced diagnosis增强型诊断。UDS中有26个诊断服务每个服务有特定的服务ID即SIDService Identifer,是由两位16进制数组成。这26个服务分为六大类。2 UDS的26个诊断服务2.1 诊断和通信功能管理单元SID(0x)诊断服务名10诊断会话控制Diagnositic Session Control11ECU复位ECU Reset27安全访问Security Access28通讯控制Communication Control3E诊断仪在线Tester Present83访问时间参数Access Timing Parameter84安全数据传输Secured Data Transmission85控制DTC设置Control DTC Setting86事件响应Response On Event87链路控制Link Control10服务是诊断会话控制用来切换当前的诊断会话状态如默认会话状态、扩展会话状态等。11服务是用于ECU复位重启27服务是安全解锁ECU比如当需要向ECU写入重要数据时解锁后才能写入3E服务是在使用手持诊断仪进行诊断时判断诊断仪在线的服务2.2 故障码传输功能单元SID(0x)诊断服务名14清除诊断信息Clear Diagnostic Information19读取故障码信息Read DTC Information19服务是比较常用的服务用于读取汽车的故障信息DTC Diagnostic Trouble Code如故障码、故障详细名称列表、发生故障时的现场数据等14服务是用于清除故障码比如维修汽车后清除历史故障码2.3 数据传输单元SID(0x)诊断服务名22通过ID读取数据Read Data By Identifier2E通过ID写数据Write Data By Identifier23通过地址读取内存Read Memory By Address24通过ID读比例数据Read Scaling Data By Identifier2A通过周期ID读取数据Read Data By Periodic Identifier2C动态定义标识符Dynamically Define Data Identifier4D通过地址写内存Write Memory By Address22服务是根据数据ID读取ECU中存储的运行时的一些数据如读取车速2E服务则是据数据ID向ECU中写入一些指定的数据如写入车架号2.4 输入输出控制单元SID(0x)诊断服务名2F通过ID控制输入输出Input Output Control By Identifier2F服务用于输入输出控制比如模拟车窗升降验证车窗执行器是否执行正常2.5 例行程序功能单元SID(0x)诊断服务名31例行程序控制Routine Control31服务可以运行指定编号例程比如开发过程中将一些程序功能作为一个独立的例程写到ECU中2.6 上传和下载功能单元SID(0x)诊断服务名34请求下载Request Download35请求上传Request Upload36数据传输Transfer Data37请求退出传输Request Transfer Exit38请求文件传输Request File Transfer用于比较庞大的数据读写时比如给ECU更新固件通过34、36、37服务将固件写入ECU3 本篇涉及的一些名词缩写汇总ECUElectronic Control Unit电子控制单元是现代汽车中负责采集传感器数据、运算决策并控制执行器的核心电子控制装置。ECU按功能可分为发动机 ECU (ECM/EMSEngine Control Module‌/Engine Management System‌)控制燃油喷射、点火正时、进气量等变速箱 ECU (TCU ‌Transmission Control Unit‌)管理自动变速箱换挡逻辑与油压车身 ECU (BCMBody Control Module‌)控制灯光、门窗、空调等车身电器底盘 ECU包括 ABSAnti-lock Braking System防抱死、ESPElectronic Stability Program电子稳定程序等控制单元新能源专属类电池管理系统BMSBattery Management System、电机控制器MCUMotor Controller Unit其他专用 ECU‌如气囊控制、自动驾驶辅助ADASAdvanced Driver Assistance Systems模块等UDSUnified Diagnostic Services‌统一诊断服务DTCDiagnostic Trouble Code‌诊断故障码SIDService Identifer服务IDCANController Area Network‌控制器局域网DoCANDiagnostic Communication over CAN基于控制器局域网的诊断通信DoIPDiagnostic over Internet protocol基于互联网协议的诊断4 总结本篇介绍了汽车电子领域的UDS诊断的基础概念主要梳理了UDS的26个诊断服务的基本功能。