大白话给你讲明白UDS诊断(汽车诊断服务 实例应用图文讲解)(一) | 您所在的位置:网站首页 › 汽车讲解app › 大白话给你讲明白UDS诊断(汽车诊断服务 实例应用图文讲解)(一) |
UDS诊断(汽车诊断)是啥,我知道肯定有很多人不知道 1、这个是什么东西? 2、有什么用? 先看个百科截图,引出诊断的概念! 汽车呢? 诊断汽车的故障,最直接快捷准确的就是通过诊断仪连接到汽车的OBD端口读取车况信息。 汽车诊断仪下图 那OBD口在汽车的那个位置?一般在主驾驶膝盖位置. 如下图OBD接口所在的地方 下图就是仪表指示故障灯亮的实拍,正常情况下汽车启动了是不会有图标点亮的。 好那显而易见是,诊断仪和汽车之间肯定是约定好了才能进行通讯对吧,总不能把你手机数据线插进去也能读到信息。 这里就要引出一个标准了,他就是“ISO-14229” 这是一个汽车诊断(UDS诊断)国际标准,这个标准里面,详细定义了汽车诊断的规范,任何车厂或者零件供应商都需要遵循这个标准去设计。 就像USB接口,网线接口,无论哪一台电脑都是一样的。如果你不按照这个设计,那你在这个行业肯定是没办法生存的,因为你是一个孤立存在,现有的资源和你不兼容,就很难生存。除非你足够强大,强大到你能制定行业游戏规则,比如某水果。。。 好,在回到我们的诊断这边,我们汽车里面的控制器是很多的,这些控制器我们叫做ECU,一部现代轿车大约有十几个ECU,某些豪华轿车甚至多达几十个,这些电子设备的价值,几乎占掉车身价值的35%以上。诊断其实就是检测这些ECU有没有存在故障 那这些ECU之间,ECU和诊断议之间是通过什么相互通信? 是通过CAN总线, 城市和城市之间互联互通是通过公路,ECU之间的“公路”就是CAN总线了,诊断仪接上这条公路就能访问到每一个ECU了。 当然除了ECU还要其他的总线类型,比如LIN 和以太网。CAN是汽车通讯的基石,这个我们前一篇“白话CAN总线”已经讲过,这里不再赘述,这篇文章主要是讲诊断。诊断活动也是通过CAN总线进行,目前来看,不拆车的情况下接入CAN总线是我们了解ECU状况的唯一办法。诊断仪器通过发送CAN数据问ECU,ECU回复CAN数据,这样一问一答的形式把ECU的信息,通过这样的诊断报文传输。 敲黑板!敲黑板!重点又来了, 那么诊断仪如何精确无误的访问到某个ECU呢?因为我们已经讲过,汽车里面的ECU多达十几个,甚至几十个。 下图示意电脑诊断仪连接到汽车的样子 我们这里还要引入一个重要的知识,功能寻找,和物理寻址。 我举个简单的例子,一看就明白: **功能寻址:**校长(诊断仪)在升学典礼上用话筒喊道,三年级一班的全体同学们,请站到舞台中间来。 然后三年级一班的同学全都站起来了。 **物理寻址:**校长(诊断仪)在升学典礼上用话筒喊道,三年级一班的张三,请你站到舞台中间来,然后只有张三站了过去。 这就是功能寻址和物理寻址的区别,诊断过程中,功能寻址对一类ECU而言。物理寻址针对某个ECU而言,前提是诊断仪(校长)要知道这个ECU的ID(张三的名字)。 ISO14229里面定义了很多类型的服务。我们这边主要讲经常用到的服务,这足以覆盖98%诊断开发情况了。当你理解了现有的服务,不常用的也可以触类旁通。 首先第一个 10 服务,这个英文全称 “DiagnosticSessionControl (10 hex) service” 直译诊断会话控制,通俗一点讲就是授权控制。汽车ECU里面可以对某些操作设定有特定权限,你如果需要操作这些功能,诊断仪需要请求到对应权限才能允许操作。 实例诊断报文截图,只看TX和RX行 实例演示一个物理寻址的控制命令 回到前面讲的发送报文,10 01,第一个数据10是服务号,10服务,第二个数据01是子功能,01代表默认会话。子功能可以有多个比如 02 03 04 等,02 一般用作编程会话,比如我这个ECU需要做在线升级,就必须先到这个02会话。03 一般用作扩展会话,这个会话可以放一些读写数据的操作或者控制外围设备的操作。根据产品的需要进行划分,每个会话模式可以放置对应操作的权限。 第二个ECU回复报文50 01 00 22 01 F4,首先,50是10+0x40后的响应,所有服务的ID的响应报文都是服务”“ID+0x40“第二个01就是响应对应子功能。00 22 01 F4官方的解释是P2Server_max和P2*Server_max,这两个是ECU性能参数,先不展开讲,意思ECU通过这几个反馈是告诉诊断仪,我的处理能力就这样,你自己看着办。然后呢诊断仪秒懂,你不会做一些超出你能力范围的事情。 实例截图,命令10 03的TX 和RX。 实例截图错误的命令10 66 实例截图,长度不对的命令长度只给了1个字节 |
CopyRight 2018-2019 实验室设备网 版权所有 |