日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UDS与DoIp整理

發(fā)布時(shí)間:2023/12/9 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UDS与DoIp整理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

UDS與Doip 知識(shí)框架整理

UDS(Unified Diagnostic Service)

1、概念

由ISO14229協(xié)議規(guī)定,使用診斷測(cè)試儀(客戶端)控制車載電子單元(ECU,服務(wù)端),實(shí)現(xiàn)電子噴油噴射、自動(dòng)變速和防抱死制動(dòng)系統(tǒng)工作等等。

簡(jiǎn)單的意思就是外部設(shè)備與ECU的通信協(xié)議,可以與ECU進(jìn)行交互,但是不是傳輸數(shù)據(jù)的鏈路,傳輸數(shù)據(jù)的協(xié)議由ISO15765協(xié)議規(guī)定。

下文中服務(wù)器指下位機(jī)或者ECU。

  • 診斷數(shù)據(jù):
    測(cè)試人員修改可以位于電子控制單元存儲(chǔ)器中的數(shù)據(jù),診斷數(shù)據(jù)包括模擬輸入和輸出,數(shù)字輸入和輸出,中間值和各種狀態(tài)信息。診斷數(shù)據(jù)示例包括車速、油門角度、后視鏡位置、系統(tǒng)狀態(tài)等。

三種類型為診斷數(shù)據(jù)定義的值:
1、電流值:電子控制單元正常操作當(dāng)前使用的值;
2、存儲(chǔ)值:在特定時(shí)刻(例如,當(dāng)故障發(fā)生或
定期);本副本在電子控制單元的控制下制作;
3、靜態(tài)值:例如VIN。

服務(wù)器不保留診斷數(shù)據(jù),測(cè)試人員可以只保留請(qǐng)求的當(dāng)前值。

  • 診斷程序:

它是一種嵌入在電子單元內(nèi)部的一種程序,通過客戶端的請(qǐng)求可以開啟相應(yīng)的服務(wù)。

  • 診斷服務(wù):

客戶端請(qǐng)求服務(wù)器進(jìn)行信息交換,目的是需要從服務(wù)器獲取診斷數(shù)據(jù),或者對(duì)服務(wù)器進(jìn)行某種操作,

  • 診斷會(huì)話:
    服務(wù)器中的狀態(tài),其中啟用了一組特定的診斷服務(wù)和功能。意思就是某種特定的診斷操作需要進(jìn)入特定的會(huì)話才能正確執(zhí)行,否則就會(huì)出現(xiàn)該會(huì)話模式不支持該操作的提示。

比如常見的刷APP程序,需要在編程會(huì)話模式中才可以執(zhí)行,要不然隨便一刷就刷掉原始代碼了,不安全。刷APP代碼需要在Boot Software中進(jìn)行。

Boot Software:在ECU上電或復(fù)位后立即執(zhí)行,其主要目的是以檢查有效的應(yīng)用程序是否可用以執(zhí)行,而不是將控件轉(zhuǎn)移到重編程軟件,意思就是如果重編程軟件(也成為APP程序)不可以執(zhí)行,則直接不進(jìn)行跳轉(zhuǎn),只在Boot軟件中。

在一些NXP的芯片中,自帶固件,會(huì)掃描一些區(qū)域是否有可執(zhí)行文件,會(huì)跳到相應(yīng)的區(qū)域去執(zhí)行。比如可以執(zhí)行不帶Boot軟件的APP程序。

  • 診斷故障代碼:DTC(diagnoise trouble Code)

由車載診斷系統(tǒng)識(shí)別的故障狀態(tài)的數(shù)字通用標(biāo)識(shí)符,就是車載故障的編碼。

  • ECU:電子控制單元,一個(gè)功能模塊的控制器,比如車門ECU、車窗ECU、調(diào)速ECU。

2、UDS框架圖

  • 可以通過多種通訊手段進(jìn)行診斷(數(shù)據(jù)交互),比如CAN、IP和Lin等,DoCAN即Diagnosis on CAN,不同的通訊協(xié)議對(duì)應(yīng)著不同的定義說明,在不同14229協(xié)議中比如14229-5,定義了車載以太網(wǎng),即diagnosis on internet

  • 應(yīng)用層服務(wù)通常被稱為診斷服務(wù)。應(yīng)用層服務(wù)是用于基于客戶機(jī)-服務(wù)器的系統(tǒng),在車輛車載服務(wù)器執(zhí)行測(cè)試、檢查、監(jiān)視或診斷等功能。客戶端(通常稱為外部測(cè)試設(shè)備)使用應(yīng)用層
    請(qǐng)求在一個(gè)或多個(gè)服務(wù)器上執(zhí)行診斷功能。服務(wù)器,通常是一個(gè)功能,它是ECU的一部分,使用應(yīng)用層服務(wù)提供診斷服務(wù)的響應(yīng)數(shù)據(jù)返回到客戶端。

  • 客戶端通常是一個(gè)外部測(cè)試人員,在同一車輛系統(tǒng)中可能有多個(gè)客戶端。診斷應(yīng)用層的服務(wù)訪問點(diǎn)提供許多服務(wù),這些服務(wù)都具有相同的一般結(jié)構(gòu)。

  • 服務(wù)標(biāo)識(shí)符:Service Identifier(SI)
    0x10-0x3E、0x83-0x88、0xBA-0xBE 請(qǐng)求服務(wù)
    0x50-0x7E、0xC3-0xC8、0xFA-0xFE 積極響應(yīng)

  • 7F 否定響應(yīng)服務(wù)標(biāo)識(shí)符

  • 請(qǐng)求分為物理請(qǐng)求和功能請(qǐng)求,物理請(qǐng)求像單個(gè)設(shè)備請(qǐng)求診斷,功能請(qǐng)求類似廣播請(qǐng)求。

  • 功能請(qǐng)求不回復(fù)部分否定響應(yīng)。

  • 否定響應(yīng)分為:SNS(不支持該服務(wù))、SNSIS(該會(huì)話不支持該服務(wù))、SFNS(不支持該子函數(shù))、SFNSIAS(在該會(huì)話不支持該子函數(shù)功能)和ROOR(請(qǐng)求超出范圍)
    注意:否定響應(yīng)中 78表示等待。比如 0x7F 0x27 0x78

  • 通用服務(wù)器響應(yīng)流程
    首先進(jìn)行多個(gè)否定響應(yīng)的判斷
    0x21:服務(wù)器忙
    0x11:不支持該服務(wù)
    0x7F:在該會(huì)話模式不支持該服務(wù)
    0x33:在服務(wù)器未解鎖的狀態(tài)訪問,
    0x31:不支持該服務(wù)的子功能
    然后正確解析服務(wù),并執(zhí)行操作

3、接下來介紹具體的服務(wù)

3.1、診斷以及通信管理功能

3.1.1 診斷會(huì)話模式:0x10

診斷會(huì)話在服務(wù)器中啟用一組特定的診斷服務(wù)或功能。服務(wù)器始終僅存在一個(gè)活動(dòng)的診斷會(huì)話。服務(wù)器應(yīng)始終啟動(dòng)默認(rèn)值開機(jī)時(shí)進(jìn)行診斷會(huì)話。如果沒有啟動(dòng)其他診斷會(huì)話,則默認(rèn)診斷只要服務(wù)器通電,會(huì)話就應(yīng)該一直在運(yùn)行。

在不同的會(huì)話模式,可以進(jìn)行特定的診斷功能,比如在擴(kuò)展會(huì)話模式,可以禁止通訊,其他模式下就不可以。

  • 子功能服務(wù)標(biāo)識(shí)符:01 默認(rèn)會(huì)話
    服務(wù)器中的默認(rèn)診斷會(huì)話,并且不支持任何診斷應(yīng)用程序超時(shí)處理規(guī)定(例如,不需要TesterPresent服務(wù)來保持該會(huì)話處于活動(dòng)狀態(tài))。
    服務(wù)器在發(fā)送DiagnosticSessionControl肯定響應(yīng)消息后,應(yīng)停止當(dāng)前診斷會(huì)話,并在此后啟動(dòng)新請(qǐng)求的診斷會(huì)話。

  • 子功能服務(wù)標(biāo)識(shí)符:02 編程會(huì)話

此diagnosticSession主要的功能就是對(duì)下位機(jī)進(jìn)行編程,俗稱刷APP程序

如果服務(wù)器在引導(dǎo)軟件中運(yùn)行programmingSession,則只能通過ECUReset(0x11)服務(wù)保留programmingSession。
如果服務(wù)器在APP中運(yùn)行編程會(huì)話,則服務(wù)器會(huì)復(fù)位,然后在引導(dǎo)程序中運(yùn)行編程會(huì)話。
可以執(zhí)行擦除代碼,刷寫代碼等服務(wù)(0x31 0x34 0x36)

  • 子功能服務(wù)標(biāo)識(shí)符:03 擴(kuò)展會(huì)話

該DiagnosticSession可用于啟用支持功能調(diào)整所需的所有診斷服務(wù)。 它也可以用于啟用診斷服務(wù),這些服務(wù)不專門與功能調(diào)整相關(guān)。

  • 子功能服務(wù)標(biāo)識(shí)復(fù):04 安全系統(tǒng)診斷會(huì)話

可以執(zhí)行所有與診斷相關(guān)的服務(wù)功能函數(shù)。

診斷儀發(fā)送10 03,然后服務(wù)器返回50 03 ,代表成功進(jìn)入擴(kuò)展模式,可以進(jìn)行一些操作,比如安全訪問,禁止DTC,禁止通信等。

CAN通訊一次只能發(fā)送8個(gè)字節(jié),第一個(gè)字節(jié)代表有效字節(jié)數(shù),00 32 01 F4 需要看具體的參數(shù)意義。

其否定響應(yīng)碼主要有 12 13 22
12:不支持該子函數(shù),比如在默認(rèn)會(huì)話模式 就不支持直接跳轉(zhuǎn)到編程會(huì)話,否則返回否定響應(yīng)
13:消息長度錯(cuò)誤
22:當(dāng)前狀態(tài)不支持該會(huì)話模式,比如在無BootLoader的APP程序中,執(zhí)行10 02,就會(huì)返回22。

如果執(zhí)行該指令需要的時(shí)間較長,則下位機(jī)(服務(wù)器)就會(huì)先返回78,讓診斷儀等待,然后再返回正確的響應(yīng)數(shù)據(jù)。

3.1.2 0x11 ECU復(fù)位
3.1.3 0x27 安全訪問服務(wù)
3.1.4 0x28 通信控制服務(wù)
3.1.5 0x3E
3.1.6 0x85 控制DTC設(shè)置服務(wù)

二、數(shù)據(jù)傳輸功能單元

三、存儲(chǔ)數(shù)據(jù)傳輸單元

四、協(xié)程功能單元

五、上傳下載功能單元

DoIP

總結(jié)

以上是生活随笔為你收集整理的UDS与DoIp整理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。