出于工作需要,我学习了短时间的ISO14229(UDS)协议。在此用通俗的语句来总结一下,加深自己的理解。
什么是UDS? 中文名字叫做统一诊断服务。 以我的角度来理解,UDS是一个规定了诊断仪(Tester)与汽车ECU之间进行信息交互时所需要的格式。至于UDS协议的前世今生在此就不再粘贴复制了。
UDS约定了Tester向ECU发送请求报文时的种类和格式,也约定了ECU在向Tester回复报文时的格式和内容,过程如下。
Tester:"ECU,我向你发送一份数据格式,你按照一定方式解读,就能明白我的意思,看完了给我回应"
ECU:"好的老板,我会按照约定好的数据格式解读,并判断需要回复与否和需要回复什么数据"
发送报文(Request)常用格式:"SID"+"Sub-Function"+"parameters"
回复报文有两种,一种是正回应:Positive Response;一种是负反应:Negative Response。正反应代表着ECU成功解读Tester所发送的Req,并会回复相应数据。负反应代表着ECU读取Req报文失败,这意味着SID、Sub-Function、parameter中某项数据出现了错误,此时ECU就会按照固定格式来回复Tester,并将错误类型(NRC)一并回复。
SID是由Tester指定的服务类型,Service Identifier&#