【摘 要】軟件定義顧名思義即通過軟件的不斷更新迭代使產(chǎn)品呈現(xiàn)出不同的功能狀態(tài),在OTA更新的方式中,ECU軟件更新功能也需要服務(wù)化,文章重點(diǎn)介紹軟件更新的服務(wù)化設(shè)計方法,可供后續(xù)技術(shù)實施參考。
【關(guān)鍵詞】軟件更新;服務(wù)接口;車輛診斷
中圖分類號:U463.6 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-8639( 2024 )09-0044-03
Analysis of Service Application of Software Update Technology Based on ASAM Standards
WANG Bin1,CHEN Zilin2,ZHANG Longgang2,WANG Yuanbo2
(1.Dechuang Weilai Automotive Technology Co.,Ltd.,Xi′an 713700,China;2.Shaanxi Heavy-duty Automobile Co.,Ltd.,Xi′an 710200,China)
【Abstract】Software definition,as the name implies,that is,through the continuous updating of the software iteration so that the product presents a different functionality of the state,in the way of OTA update,ECU software update function also needs to be serviced,this paper focuses on the servicing design method of software update,which can be used as a reference for subsequent technology implementation.
【Key words】software update;service interface
1 技術(shù)介紹
SOVD全稱為Service-Oriented Vehicle Diagnostics,即以服務(wù)為導(dǎo)向的車輛診斷系統(tǒng)。在傳統(tǒng)更新中,本地診斷儀控制更新過程,車輛只需執(zhí)行既定的步驟便可完成軟件更新;而SOVD系統(tǒng)中采用調(diào)取API接口將控制權(quán)交給車輛,結(jié)合聯(lián)網(wǎng)車輛的OTA功能來實現(xiàn)軟件更新。
SOVD API接口支持兩類程序更新方法及相關(guān)步驟,以支持不同的軟件更新場景。
1.1 逐步更新軟件
通過該方法診斷儀可以控制安裝哪些更新,以及何時準(zhǔn)備和執(zhí)行更新,步驟如下。
1)獲取適用的更新。車輛向本地診斷儀提供適用的更新;診斷儀選擇安全的更新;在執(zhí)行命令時,可從OTA后端查詢適用的更新,或由車輛提供OTA后端之前推送給車輛的更新列表。
2)準(zhǔn)備更新。診斷儀選擇的更新將通過從OTA后臺下載、驗證其對車輛的適用性、將其安裝到B存儲器等方式準(zhǔn)備安裝;完成這一步驟后,更新即可安裝。
3)執(zhí)行更新。準(zhǔn)備好的更新包被安裝和激活。
1.2 自動更新軟件
通過該方法ECU控制診斷儀選擇更新包的整個更新過程。在該更新方式中,ECU負(fù)責(zé)完成下載更新包、安裝和激活更新軟件包。SOVD API接口中定義了特殊的自主更新包標(biāo)識符,自主更新包用于不需要診斷儀選擇更新包的情況。
2 軟件更新接口
2.1 檢索所有更新列表
該API接口包含以下幾方面。
1)方法:GET/updates。
2)方法說明:該方法返回實體的可用更新。
3)路徑參數(shù):該方法不支持該項參數(shù)。
4)查詢參數(shù):讀取實體提供的所有更新列表,見表1。
5)請求標(biāo)頭:該方法不使用該項參數(shù)。
6)響應(yīng)狀態(tài)代碼:讀取響應(yīng)狀態(tài)代碼200,請求成功。
7)響應(yīng)數(shù)據(jù)結(jié)構(gòu):屬性為項目,類型為字符串[],為更新軟件包標(biāo)識符。
2.2 獲取更新詳情
該API接口包含以下幾方面。
1)方法:GET/updates/{update-package-id}。
2)方法說明:該方法為返回特定更新包的詳細(xì)信息。
3)路徑參數(shù):參數(shù)名稱update-package-id,類型為字符串,為更新包的標(biāo)識符。
4)查詢參數(shù):獲取更新的詳細(xì)信息(表2)。
5)請求標(biāo)頭:該方法不使用該項參數(shù)。
6)響應(yīng)狀態(tài)代碼:獲取更新詳情,狀態(tài)代碼200,請求成功。
7)響應(yīng)結(jié)構(gòu):獲取更新詳情的信息,見表3。
2.3 自動安全更新
該API接口包含以下幾方面。
1)方法:PUT/updates/{update-package-id}/automated。
2)方法說明:該方法可啟動更新包的自動安裝。在這種情況下,ECU和OTA平臺可完全控制更新過程,并決定何時采取哪些行動。
3)路徑參數(shù):參數(shù)名稱update-package-id,類型為字符串,為更新包的標(biāo)識符。
4)查詢參數(shù):該方法不支持該項參數(shù)。
5)請求標(biāo)頭:該方法不使用該項參數(shù)。
6)響應(yīng)標(biāo)頭:響應(yīng)包括以下標(biāo)頭,用于重定向診斷儀的請求狀態(tài)。
位置:{base_uri}/updates/{update-package-id}/status。
7)響應(yīng)狀態(tài)代碼:自動安裝更新響應(yīng)狀態(tài)代碼見表4。
2.4 準(zhǔn)備安裝更新
該API接口包含以下幾方面。
1)方法:PUT/updates/{update-package-id}/prepare。
2)方法說明:該方法為準(zhǔn)備安裝更新包。
作為該步驟的一部分,將執(zhí)行以下任務(wù):驗證更新包是否仍可安裝;從OTA后臺下載更新包;驗證更新包的完整性;應(yīng)用增量;在B內(nèi)存中安裝更新。
安裝成tPefiZC6ORIALGFNk87MDiOgODONKzEwYVZoHMldhBg=功后,ECU會自動刪除更新包。
3)路徑參數(shù):參數(shù)名稱update-package-id,類型為字符串,為更新包的標(biāo)識符。
4)查詢參數(shù):該方法不支持該項參數(shù)。
5)請求標(biāo)頭:該方法不使用該項參數(shù)。
6)響應(yīng)標(biāo)頭:響應(yīng)包括位置標(biāo)頭,用于重定向診斷儀的請求狀態(tài)。
位置:{base_uri}/updates/{update-package-id}/status。
7)響應(yīng)狀態(tài)代碼:準(zhǔn)備安裝更新響應(yīng)狀態(tài)代碼見表5。
2.5 執(zhí)行更新安裝
該API接口包含以下幾方面。
1)方法:PUT/updates/{update-package-id}/execute
2)方法說明:該方法啟動更新包的安裝和激活。
作為該步驟的一部分,將執(zhí)行以下任務(wù):驗證更新包是否仍可安裝;在所有ECU上安裝更新;執(zhí)行特定的更新后操作;激活更新;出現(xiàn)錯誤時回滾更新。
3)路徑參數(shù):參數(shù)名稱update-package-id,類型為字符串,為更新包的標(biāo)識符。
4)查詢參數(shù):該方法不支持該項參數(shù)。
5)請求標(biāo)頭:該方法不使用該項參數(shù)。
6)響應(yīng)標(biāo)頭:響應(yīng)包括位置標(biāo)頭,用于重定向診斷儀的請求狀態(tài)。
位置:{base_uri}/updates/{update-package-id}/status。
7)響應(yīng)狀態(tài)代碼:執(zhí)行更新安裝響應(yīng)狀態(tài)代碼見表6。
2.6 獲取更新狀態(tài)
該API接口包含以下幾方面。
1)方法:GET/updates/{update-package-id}/status。
2)方法說明:該方法返回更新的準(zhǔn)備或執(zhí)行狀態(tài)。
3)路徑參數(shù):參數(shù)名稱update-package-id,類型為字符串,是用于跟蹤更新準(zhǔn)備或執(zhí)行情況的標(biāo)識符。
4)查詢參數(shù):該方法不支持該項參數(shù)。
5)請求標(biāo)頭:該方法不使用該項參數(shù)。
6)響應(yīng)狀態(tài)代碼:執(zhí)行更新狀態(tài),狀態(tài)代碼為200,請求成功。
7)響應(yīng)結(jié)構(gòu):獲取更新狀態(tài)的詳細(xì)信息見表7~表10。
3 結(jié)束語
軟件更新功能服務(wù)化設(shè)計主要應(yīng)用于軟件定義汽車的設(shè)計框架中,本文圍繞軟件更新展開了常用指令的服務(wù)接口介紹,對于軟件更新等場景的服務(wù)化接口還需要結(jié)合實際功能設(shè)計要求進(jìn)一步深入研究和豐富,共同推動先進(jìn)技術(shù)的快速落地。
(編輯 楊凱麟)
作者簡介王彬(1987—),男,博士,工程師,主要主導(dǎo)公司各車型的整體開發(fā),以及電器系統(tǒng)、整車系統(tǒng)的開發(fā)、設(shè)計、管理工作。