电控 应用层开发 学习_加强学习uds

unified diagnostic services 14229

standardized diagnostic communication

UDS只是应用层协议,既可以在CAN线上实现,也可以在Ethernet等上实现。

上层的诊断设备只要发送同样的命令就可以得到电控系统的数据,而不用关心底层的数据链路层、物理层等。

使得软件和硬件可以分开开发。

基于UDS协议的诊断又称为Enhanced diagnostic(增强型诊断)

The TESTER (client) sends arequesttoa specific ECU (e.g. #1) and the ECU(server) answers the request with aresponse.

UDS最重要的作用就是定义了这些request和response的格式和内容,诊断服务格式、诊断时间参数、以及诊断服务的正负响应行为。

UDS功能:

  1. 故障检测
  2. 故障数据记录与存储
  3. 快照信息读取
  4. 数据流监控与读取
  5. 程序刷写
  6. EOL(End Of Line)涉及的例程控制
  7. 数据写入(如VIN、下线完成标志位等)。

根据功能的不同进行访问--能访问多个ECU节点

UDS交互网络层要求符合ISO 15765-2,数据单元格式(N_PDU)如下

地址信息 协议控制信息 数据域

N_ACI N_PCI N_DATA

当使用普通地址时,地址全由CAN ID组成,N_PDU中不需要N_AI信息,即N_PDU中第一字节为N_PCI.我们目前CAN通讯都是用的普通地址。

N_PCI的第一个字节的高4位表示N_PDU的类型:0:单帧(SF)1:首帧(FF)2:连续帧(CF)3:流控帧(FC)

ee8a1382361a25dfe0bffcecfbe2214c.png

DL:数据域有效数据长度

SN:连续帧帧编号

  1. 单帧的情况:SF_DL的值应该在1~7之间,如果SF_DL的长度不在此范围内,应舍弃该帧报文。
  2. 首帧的情况:有效数据长度扩展为FF_DL,值应该在8~FFF之间,如果FF_DL长度超过接受者的接受缓存,应该丢弃该帧报文,并反馈FC报文,报Overflow。如果FF_DL长度在允许范围内,接希望接收后续报文,则接收方需要应答FC流控帧。
  3. 连续帧情况:在首帧之后的第一帧SN为1,之后每发送一帧SN+1,当SN的值达到15时,下一帧发送时SN从0开始。如果SN出错,接收方要丢弃已接收到的消息,并调用N_USData.indication服务,反馈N_WRONG_SN
  4. 流控帧的情况:FS有4个定义:
  • 0:发送方可以正常连续帧
  • 1:发送方需要等待下一个FC,并重启N_BS timer:
  • 2:Overflow,表示接受方缓存溢出,无法接收发送方请求的长度。发送方收到此FS后应终止发送。
  • BS:表示发送方在收到下一个FC之前,应发送的CF的数量,如果是最后一块数据,可以小于该值。发0表示发送方不受限制。
  • Stmin:表示发送方连续两个CF之间的最小间隔时间。0~0x7F表示0~127ms。0xFA~0xFF 保留值,设置为127ms。

对于整个数据单元,N_PCI结束后的区域即为数据域,才是UDS控制指令数据开始段。

UDS协议为各种功能控制设定了控制指令,称为服务ID(SID)。

每个服务ID根据定义需要可以包含指定参数或者子服务指令。

fluent_uds_uds是一款用于刷写和下载的程序。UDS(Unified Diagnostic Services)是一种用于在汽车子系统进行诊断和编程的协议,而fluent是一种操作系统级代码的风格,因此,fluent_uds_uds的程序可以在车辆用于刷写和下载各种功能。 这个程序的主要功能是通过与车辆子控制单元(ECU)进行通信,实现对车辆子系统的刷写和下载。它可以与各种汽车品牌和型号的ECU进行兼容,提供稳定可靠的刷写和下载功能。用户可以使用该程序来更新ECU固件、配置参数、修复故障、改善性能以及安装新功能等。 使用fluent_uds_uds程序的过程通常包括以下几个步骤: 首先,用户需要将fluent_uds_uds程序安装到适用的设备上,这可以是计算机、编程器或其他兼容设备。接下来,用户需要连接设备与车辆的ECU之间的通信接口,如OBD-II接口或CAN总线。 然后,用户可以通过fluent_uds_uds程序与ECU进行通信。程序通常提供一个用户界面,用户可以通过该界面选择所需的操作,例如刷写固件、下载参数等。程序会将命令发送给ECU,并在操作完成后返回相应的结果。 在刷写和下载过程,fluent_uds_uds程序会提供实时的进度和反馈,以帮助用户了解操作的进行情况。它还可能提供一些特定的功能,如备份和恢复操作、记录和查看日志等。 总之,fluent_uds_uds是一款方便使用的程序,可以帮助用户进行汽车ECU的刷写和下载操作。它支持多种车辆品牌和型号,提供稳定可靠的功能,并具有用户友好的界面和实时反馈。无论是修复故障、改善性能还是安装新功能,该程序都可以胜任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值