Jianyuan Lab
發(fā)布時(shí)間:2022-10-28 作者:上海工業(yè)控制安全創(chuàng)新科技有限公司 點(diǎn)擊次數(shù):次
01
$22讀服務(wù)
$22讀服務(wù)通常在默認(rèn)會(huì)話下即可執(zhí)行,特殊情況下,某些信息做了讀取保密設(shè)計(jì),需要在擴(kuò)展會(huì)話和安全控制下才能讀取該DID(Data ID)信息。
DID長(zhǎng)度通常為16進(jìn)制2個(gè)字節(jié),范圍從0x00 00至0xFF FF,每個(gè)DID代表一條對(duì)應(yīng)的消息,這樣我們需要知道該信息的內(nèi)容時(shí),只需要使用$22+DID既可以獲取該信息內(nèi)容。如:我們用DID 0xF1 90標(biāo)識(shí)車輛VIN,需要知道車輛VIN具體號(hào)碼信息時(shí),向ECU發(fā)送$22 F1 90進(jìn)行信息查詢,即可得到內(nèi)容反饋。
之前我們一直在強(qiáng)調(diào)UDS診斷的自定義空間比較大,在極個(gè)別項(xiàng)目中,我們遇到過DID長(zhǎng)度為3個(gè)字節(jié)的情況,我們需要以實(shí)際項(xiàng)目研發(fā)測(cè)試過程設(shè)計(jì)為準(zhǔn)。
1.1 DID的分類
通過上面的描述我們可以理解,車輛上很多信息可以通過DID進(jìn)行設(shè)計(jì)定義,通常主機(jī)廠根據(jù)信息屬性不同將DID進(jìn)行設(shè)計(jì)分類:
1)物流數(shù)據(jù)
物流數(shù)據(jù)中一般包含的是跟車輛和設(shè)備生產(chǎn)相關(guān)的固定信息。在生產(chǎn)過程中,零部件供應(yīng)商不會(huì)一個(gè)批次完成所有零部件的生產(chǎn)和交付,這個(gè)過程一般是以月份或者季度為單位分批次執(zhí)行,伴隨著這個(gè)過程的通常還有主機(jī)產(chǎn)要求的VAVE等活動(dòng),因此同一個(gè)零部件也會(huì)因生產(chǎn)批次不同,對(duì)應(yīng)的軟硬件和配置信息有所不同。物流數(shù)據(jù)通常有:零部件硬件批次號(hào)、軟件批次號(hào)、本設(shè)備的串號(hào)、部件號(hào)、出廠時(shí)間、制造時(shí)間、供應(yīng)商硬件號(hào)、供應(yīng)商軟件號(hào)、ECU部件數(shù)量、ECU應(yīng)用軟件數(shù)量、ECU配置文件數(shù)量、車型信息、車輛VIN碼等等。
2)內(nèi)部屬性數(shù)據(jù)
內(nèi)部屬性數(shù)據(jù)一般包含了ECU本身的軟硬件配置相關(guān)信息,如:軟件版本號(hào)、設(shè)備溫度、ICCID號(hào)、IMEI號(hào)、GNSS天線狀態(tài)、GNSS定位信息、NAD基本信息、NAD天線信息等等。
3)配置屬性數(shù)據(jù)
配置屬性數(shù)據(jù)顧名思義包含了ECU中需要進(jìn)行配置的相關(guān)數(shù)據(jù),這些數(shù)據(jù)一般情況下都可以做成模板進(jìn)行復(fù)用,根據(jù)要求不一樣進(jìn)行模板選擇,如:當(dāng)前車輛的車型(同一型號(hào)的車具體有高中低等不同配置,具體到當(dāng)前車輛可能發(fā)動(dòng)機(jī)等配置都是有區(qū)別的)、移動(dòng)通信運(yùn)營(yíng)商國(guó)家代碼、運(yùn)營(yíng)商網(wǎng)絡(luò)編碼、APN撥號(hào)配置等。
4)Bitmapped I/O parameter DID和Non-Bitmapped I/O parameter DID
ECU通常會(huì)收到網(wǎng)絡(luò)上其他設(shè)備發(fā)送的周期信號(hào),這些信號(hào)通??梢栽谙鄳?yīng)的網(wǎng)絡(luò)上實(shí)時(shí)獲取,也可以通過診斷讀取,這類信號(hào)一般包含在Bitmapped和Non-Bitmapped屬性數(shù)據(jù)中,區(qū)別是一個(gè)通常包含的是開關(guān)與否、報(bào)警與否的狀態(tài)信號(hào),另一個(gè)通常包含的對(duì)應(yīng)的數(shù)值,如:機(jī)油過低報(bào)警狀態(tài)、機(jī)油量、油量過低報(bào)警狀態(tài)、當(dāng)前油量等等。
1.2 $22服務(wù)請(qǐng)求報(bào)文
$22服務(wù)的請(qǐng)求報(bào)文格式總體與第三篇文檔的描述一致。但是$22服務(wù)沒有子功能,在服務(wù)ID后直接跟DID。發(fā)送報(bào)文幀結(jié)構(gòu)如下圖:
圖 1
舉例$22服務(wù)請(qǐng)求VIN碼對(duì)應(yīng)的DID,報(bào)文為:03 22 F1 90,當(dāng)然根據(jù)項(xiàng)目實(shí)際情況車輛VIN可能是其他DID。
$22服務(wù)支持多個(gè)DID一次讀取,報(bào)文格式如下圖:
圖 2
舉例$22服務(wù)一次請(qǐng)求多個(gè)DID,$22 F1 80 F1 81。
1.3 $22服務(wù)響應(yīng)報(bào)文
$22服務(wù)的響應(yīng)報(bào)文格式總體與第三篇文檔的描述一致。正響應(yīng)報(bào)文的服務(wù)號(hào)為$62,第二、三字節(jié)對(duì)應(yīng)請(qǐng)求報(bào)文的DID。從第四字節(jié)至最后為對(duì)應(yīng)DID的實(shí)際數(shù)據(jù)。響應(yīng)報(bào)文幀的結(jié)構(gòu)圖如下所示:
圖 3
舉例$22服務(wù)的響應(yīng)報(bào)文通常為:
ECU: 10 14 62 F1 90 01 02 03
Tester:30 00(流控制幀)
ECU: 21 04 05 06 07 08 09 0A
ECU: 22 0B 0C 0D 0E 0F 10 11
$22服務(wù)一次讀取多個(gè)DID的響應(yīng)報(bào)文格式如下圖:
圖 4
$22服務(wù)一次讀取多個(gè)DID的響應(yīng)報(bào)文,如:
ECU: 10 0C 62 F1 80 01 02 03
Tester:30 00(流控制幀)
ECU: 21 04 F1 81 0A 0B 0C AA
$22服務(wù)的否定響應(yīng)格式,可以參考第三篇文章服務(wù)響應(yīng)總體中負(fù)響應(yīng)部分介紹,所有UDS服務(wù)的負(fù)響應(yīng)故障代碼表在項(xiàng)目中均是通用的。
02
$2E寫服務(wù)
$2E寫服務(wù)跟$22是對(duì)應(yīng)的關(guān)系,完成了DID對(duì)應(yīng)的數(shù)據(jù)寫入后,我們才能通過$22服務(wù)讀取出相應(yīng)DID寫入的內(nèi)容。所以$2E服務(wù)的請(qǐng)求應(yīng)答過程跟$22的請(qǐng)求應(yīng)答格式上看是相互翻轉(zhuǎn)的。
$2E服務(wù)成功寫入的前提條件,通常要求服務(wù)在擴(kuò)展會(huì)話和安全等級(jí)1的模式下執(zhí)行。另外要注意的,并不是所有支持$22服務(wù)的DID都能夠在$2E服務(wù)下寫入,通常物流數(shù)據(jù)DID、配置信息DID等可以反復(fù)寫入,Bitmapped和Non-Bitmapped屬性數(shù)據(jù)一般不支持$2E手動(dòng)寫入,具體情況還需要查看項(xiàng)目的相關(guān)設(shè)計(jì)文檔。
2.1 $2E服務(wù)請(qǐng)求報(bào)文
$2E服務(wù)請(qǐng)求報(bào)文寫入DID對(duì)應(yīng)的數(shù)據(jù)格式總體上跟上篇中UDS請(qǐng)求報(bào)文介紹一致,發(fā)送報(bào)文幀結(jié)構(gòu)如下圖:
圖 5
舉例$2E服務(wù)的請(qǐng)求報(bào)文通常為:
10 14 2E F1 90 01 02 03
30 00
21 04 05 06 07 08 09 0A
22 0B 0C 0D 0E 0F 10 11
2.2 $2E服務(wù)響應(yīng)報(bào)文
$2E服務(wù)的響應(yīng)報(bào)文格式總體與第三篇文檔的描述一致。正響應(yīng)報(bào)文的服務(wù)號(hào)為$6E,第二、三字節(jié)對(duì)應(yīng)請(qǐng)求報(bào)文的DID。響應(yīng)報(bào)文幀的結(jié)構(gòu)圖如下所示:
圖 6
舉例$2E的正響應(yīng)報(bào)文通常格式為:03 6E F1 90
負(fù)響應(yīng)的報(bào)文格式可以參考第三篇的相關(guān)章節(jié),負(fù)響應(yīng)NRC代碼表一般在項(xiàng)目中是通用的。
03
總結(jié)
$22服務(wù)和$2E服務(wù)測(cè)試過程中通常是配合一起執(zhí)行的。但是支持$22服務(wù)的DID,不一定支持$2E服務(wù)。DID對(duì)應(yīng)的信息含義和格式一定要查閱和依據(jù)診斷規(guī)范。
04
測(cè)試要點(diǎn)
$22和$2E服務(wù)跟其他服務(wù)測(cè)試相同的地方是,大家都要依照針對(duì)規(guī)范執(zhí)行相關(guān)測(cè)試;不同點(diǎn)在于$22和$2E涉及到的物流數(shù)據(jù)DID,對(duì)于這些信息零部件每個(gè)生產(chǎn)批次的數(shù)值可能都不一樣,最新的數(shù)值表一般在排產(chǎn)前,由DRE在系統(tǒng)中申請(qǐng)生成,并向供應(yīng)商釋放,因此測(cè)試的時(shí)間和對(duì)應(yīng)釋放的軟件版本號(hào)需要特別注意。