今天是2022年6月26日,魔都晴天、燥熱,又是一個(gè)奢侈的周末,可睡眠到自然醒。 記錄一些文字,期盼能夠留下時(shí)間的印記,在年終復(fù)盤有記錄可查。按照習(xí)慣,分享一段喜歡的文字,避免自己成為高知識低文化的工程師:“ 人只有知道自己無知后,才能從骨子里謙和起來,不再恃才傲物,不再咄咄逼人。所以說人總是越活越平和,我們稱之為成長,成長就是慢慢的像尊重自己一樣尊重他人,承認(rèn)自己無知不代表否定自己,而是為了改善自己。” Return to today's topic! 本文主題是DoIP協(xié)議時(shí)間參數(shù),需要了解幾個(gè)背景信息: -> 車載診斷:診斷是Tester發(fā)送請求至待測ECU,獲取響應(yīng),分析數(shù)據(jù),界定產(chǎn)生故障的車身部位和相應(yīng)信息。伴隨著需求不斷豐富,診斷也囊括了車輛下線配置、Software update等功能; ![]() -> DoIP協(xié)議:伴隨著ADAS和智能座艙引入到車輛中,車身總線的帶寬和速度需求不斷提升,傳統(tǒng)的車載CAN總線不能滿足需求,就引入新的車載總線類型——車載以太網(wǎng)。類比如CAN總線傳輸層定義CAN TP,就有了DoIP協(xié)議。 DoIP全稱是Diagnostic Over IP,望文知意就是基于IP的診斷協(xié)議,主要定義內(nèi)容: 車輛識別和聲明:識別整個(gè)網(wǎng)絡(luò)(局域網(wǎng))都有誰在參與DoIP通信; 路由激活(Routine Activation):通信機(jī)制允許單個(gè)診斷消息路徑被激活或不區(qū)別對待不同的協(xié)議(如UDS和OBD),也可以以不同的方式對待單個(gè)測試客戶端; 通信網(wǎng)絡(luò)節(jié)點(diǎn)信息:提供單個(gè)DoIP實(shí)體的自屬信息。測試工程師使用它獲取DoIP實(shí)體當(dāng)前DoIP協(xié)議相關(guān)信息; 活動機(jī)制:用于維護(hù)不同的測試客戶端連接策略。 ![]() 類比機(jī)制如上,是AUTOSAR中關(guān)于基于以太網(wǎng)診斷通信的數(shù)據(jù)流走向。 ![]() DoIP協(xié)議優(yōu)勢: 處理大量數(shù)據(jù),方便對帶寬要求; 節(jié)省ECU重編程時(shí)間; 快速接入其他IT設(shè)施,應(yīng)用遠(yuǎn)程診斷設(shè)備; 標(biāo)準(zhǔn)通信靈活使用策略。 ![]() 車載以太網(wǎng)在車輛診斷應(yīng)用過程中,會涉及到很多時(shí)間參數(shù),用于保證整個(gè)通信快速有效進(jìn)行,時(shí)間參數(shù)列表如下: ![]() ![]() 1、A_DoIP_Ctrl 應(yīng)用場景:多個(gè)車輛在同一個(gè)網(wǎng)絡(luò) 在常規(guī)條件下,當(dāng)車輛接入DoIP網(wǎng)絡(luò)且IP地址分配完成時(shí),DoIP實(shí)體會連續(xù)發(fā)送3次車輛聲明。 ![]() 等待該時(shí)間,匯總?cè)刖W(wǎng)的所有車輛聲明信息。 ![]() 2、A_DoIP_Announce_Wait 上述時(shí)間參數(shù)典型應(yīng)用場景如下: (1)DoIP實(shí)體獲取IP地址后,加入網(wǎng)絡(luò)成功到發(fā)送第一個(gè)車輛聲明信息的時(shí)間間隔; (2)DoIP實(shí)體在收到Tester發(fā)送的車輛信息請求(Vehicle information request)后發(fā)送車輛信息響應(yīng)報(bào)文的時(shí)間間隔長度; 在規(guī)范中定義該參數(shù)值是0-500ms范圍隨機(jī)值,目的是避免所有DoIP實(shí)體同時(shí)發(fā)送車輛聲明報(bào)文或車輛信息響應(yīng)報(bào)文,造成網(wǎng)絡(luò)堵塞。 3、A_DoIP_Announce_Interval 該事件參數(shù)具體如下圖所示: ![]() 該時(shí)間參數(shù)是三條車輛聲明報(bào)文之間的時(shí)間間隔,協(xié)議推薦值是500ms。 4、A_DoIP_Announce_Num 該參數(shù)不是時(shí)間參數(shù)值,具體是指DoIP實(shí)體(邊緣節(jié)點(diǎn))發(fā)送車輛聲明報(bào)文的次數(shù),協(xié)議推薦定義為3次。 5、A_DoIP_Diagnostic_Message 具體參數(shù)示意圖如下: ![]() 如上示意圖所示,該參數(shù)指DoIP實(shí)體(邊緣節(jié)點(diǎn))在接受到診斷報(bào)文后,到發(fā)送診斷ACK/NACK的時(shí)間間隔,含義有二: -> 對DoIP節(jié)點(diǎn)來說,是對節(jié)點(diǎn)性能的要求,要求DoIP實(shí)體在50ms內(nèi)做出響應(yīng); -> 對診斷設(shè)備來說,發(fā)送完診斷報(bào)文后的等待時(shí)間,超時(shí)時(shí)間為2s,超時(shí)后仍未收到診斷響應(yīng)報(bào)文的話,應(yīng)該重復(fù)發(fā)送該診斷報(bào)文。 ![]() 6、T_TCP_General_Inactivity DoIP實(shí)體內(nèi)部管理著一個(gè)DoIP連接表(DoIP Connection Table),用于記錄和維護(hù)診斷通信的邏輯連接。當(dāng)一個(gè)新的Socket 建立,邏輯連接狀態(tài)從“Listen”跳轉(zhuǎn)到“Socket initialized”,并同時(shí)啟動一個(gè)定時(shí)器:initial inactivity timer 該參數(shù)指DoIP節(jié)點(diǎn)在收到路由激活報(bào)文后,且沒有進(jìn)行TCP數(shù)據(jù)交互的情況下,保持TCP連接的最長時(shí)間,超時(shí)時(shí)間為5min,超時(shí)后仍沒有任何TCP數(shù)據(jù)交互的話將關(guān)閉TCP連接。 7、T_TCP_Initial_Inactivity 該參數(shù)指DoIP實(shí)體(可為邊緣節(jié)點(diǎn)也可是車內(nèi)DoIP實(shí)體)在建立TCP連接后等待路由激活報(bào)文的最長等待時(shí)間,協(xié)議推薦超時(shí)時(shí)間為2s,如果2S后仍沒有收到路由激活報(bào)文,DoIP節(jié)點(diǎn)將關(guān)閉TCP連接。 8、T_TCP_Alive_Check 該時(shí)間參數(shù)指DoIP節(jié)點(diǎn)在發(fā)送診斷設(shè)備在線檢查請求后的等待響應(yīng)時(shí)間,協(xié)議推薦值超時(shí)時(shí)間為500ms,如果超時(shí)后未收到相應(yīng)的響應(yīng),則DoIP實(shí)體判斷診斷設(shè)備已離線,關(guān)閉TCP連接。注意,當(dāng)DoIP節(jié)點(diǎn)向TCP socket發(fā)送請求失敗時(shí)也應(yīng)該啟動該定時(shí)器,意味著診斷設(shè)備通信失敗,可能已經(jīng)離線。 這里分享個(gè)趣事,去年在參加一場線上面試時(shí),被考官問過一個(gè)問題:Alive Check發(fā)送者是什么? ![]() 不是Tester,是DoIP實(shí)體。 9、A_Processing_Time 在診斷范疇中,有些UDS診斷請求是不需要診斷響應(yīng)的(e.g. 肯定響應(yīng)抑制位被置為TRUE),診斷設(shè)備在發(fā)送完一個(gè)不需要響應(yīng)的診斷報(bào)文后,應(yīng)等待一段時(shí)間再發(fā)送下一個(gè)診斷請求,給ECU預(yù)留一段時(shí)間進(jìn)行處理。A_Processing_Time就是指這個(gè)間隔時(shí)間。保證整個(gè)通信機(jī)制正確無誤進(jìn)行。 ![]() 10、A_Vehicle_Discovery_Timer 該參數(shù)是指車上DoIP實(shí)體做GID同步的時(shí)間,診斷設(shè)備只有在收到的車輛信息響應(yīng)報(bào)文或車輛聲明報(bào)文中帶有效的 VIN/GID 且 VIN/GID sync. status 為 “incomplete(0x10)”時(shí),啟動該定時(shí)器,等待車上的DoIP實(shí)體進(jìn)行GID同步。該定時(shí)器超時(shí)時(shí)間為5s(協(xié)議推薦),超時(shí)后診斷設(shè)備可再次請求車輛信息。 ![]() 上述時(shí)間參數(shù)是DoIP通信過程中所用的時(shí)間參數(shù)(次數(shù)),是為了保證協(xié)議通信一致性和有效性。有的是超時(shí)處理、間隔時(shí)間處理等。在做DoIP模塊功能實(shí)現(xiàn)或者測試時(shí)需要注意這方面的要求。 ![]() ----------------------------------- 作者簡介 | 穿拖鞋的漢子 汽車電子工程師 |
|