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