本技術(shù)涉及車輛控制領(lǐng)域,并且更具體地,涉及一種電機(jī)控制器差分升級(jí)方法、差分升級(jí)包生成方法和裝置。
背景技術(shù):
1、隨著汽車中軟件發(fā)揮的作用越來(lái)越重要,軟件定義汽車已經(jīng)是行業(yè)內(nèi)的共識(shí)。當(dāng)汽車中軟件代碼行數(shù)成正比不斷增長(zhǎng),隨之而來(lái)的是軟件工程復(fù)雜度快速增長(zhǎng)和軟件故障概率的提升。車輛可能會(huì)遇到軟件故障或者由于智能汽車更新迭代的需求需要進(jìn)行更新??罩邢螺d技術(shù)(over?the?air?technology,ota)解決了軟件頻繁更新的問(wèn)題,通過(guò)ota技術(shù)可以通過(guò)遠(yuǎn)程快速完成缺陷的修復(fù),避免了持續(xù)數(shù)月的進(jìn)廠召回帶來(lái)的風(fēng)險(xiǎn)。通過(guò)ota升級(jí),可以不斷給用戶開(kāi)啟新功能,不斷優(yōu)化產(chǎn)品體驗(yàn),進(jìn)行快速迭代。但與此同時(shí),隨著汽車電動(dòng)化趨勢(shì)的演進(jìn),整車電子電氣架構(gòu)向多域控集中的方向發(fā)展,對(duì)整車ota升級(jí)的速度提出了更高要求。
2、由于車載電子控制器(electronic?control?unit,ecu)眾多,對(duì)于不帶文件系統(tǒng)的傳統(tǒng)部件ecu,其升級(jí)速度一直是整車ota升級(jí)的瓶頸。特別是對(duì)于需要ecu串行升級(jí)的場(chǎng)景,單個(gè)ecu的升級(jí)時(shí)間對(duì)整車ota時(shí)間有著直接影響。目前一些ecu采用差分升級(jí)的方案,可以提高升級(jí)效率。但是當(dāng)前的差分升級(jí)方案中,上位機(jī)都需要根據(jù)單板上的版本來(lái)動(dòng)態(tài)選擇不同的差分包傳輸?shù)絜cu上后進(jìn)行升級(jí),交互流程復(fù)雜,在整車的通信總線上的全部ecu部件上按照統(tǒng)一的刷寫(xiě)規(guī)范落地比較困難。電機(jī)控制器mcu的軟件升級(jí)就有類似問(wèn)題。
3、因此如何簡(jiǎn)化電機(jī)控制器mcu的差分升級(jí)的升級(jí)流程是亟需解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供一種電機(jī)控制器mcu的差分升級(jí)方法、差分升級(jí)包生成方法和差分升級(jí)使用裝置,通過(guò)優(yōu)化差分升級(jí),在差分升級(jí)文件中設(shè)置差分輔助文件,通過(guò)結(jié)合源版本、源版本的輔助文件和差分包差分還原出目的版本數(shù)據(jù),從而根據(jù)本技術(shù)的方案,無(wú)需獲取待升級(jí)電機(jī)控制器mcu的具體版本信息,簡(jiǎn)化了升級(jí)流程,且無(wú)需區(qū)分不同版本的部件,實(shí)現(xiàn)簡(jiǎn)單,無(wú)需修改升級(jí)流程,提高了兼容性。
2、第一方面,本技術(shù)提供了一種電機(jī)控制器的差分升級(jí)方法,待升級(jí)電機(jī)控制器上包括源版本數(shù)據(jù)和源版本差分輔助包,源版本差分輔助包用于指示源版本數(shù)據(jù)中修改數(shù)據(jù)的信息,差分升級(jí)方法包括:
3、待升級(jí)電機(jī)控制器接收差分升級(jí)包,差分升級(jí)包用于將源版本數(shù)據(jù)升級(jí)為目的版本數(shù)據(jù),差分升級(jí)包包括待修改的數(shù)據(jù)和對(duì)待修改的數(shù)據(jù)的修改執(zhí)行程序文件;
4、待升級(jí)電機(jī)控制器根據(jù)源版本差分輔助包和差分升級(jí)包對(duì)源版本數(shù)據(jù)進(jìn)行差分還原處理以得到目的版本數(shù)據(jù)。
5、對(duì)應(yīng)的,本技術(shù)提供的電機(jī)控制器mcu的差分升級(jí)方法中,源版本輔助包通過(guò)使用差分輔助包生成工具對(duì)源版本數(shù)據(jù)進(jìn)行處理生成。輔助包中記錄了源版本數(shù)據(jù)差分結(jié)構(gòu)相關(guān)信息。源版本輔助包用于指示源版本數(shù)據(jù)中與預(yù)設(shè)數(shù)據(jù)相比之下進(jìn)行修改了數(shù)據(jù)的信息。差分升級(jí)包中的差分包可以根據(jù)目的版本數(shù)據(jù)和預(yù)設(shè)數(shù)據(jù)處理得到,從而差分包結(jié)合源版本輔助包可以借由與預(yù)設(shè)數(shù)據(jù)的差分結(jié)構(gòu)進(jìn)行還原,將源版本數(shù)據(jù)差分還原為目的版本數(shù)據(jù)。源版本輔助包和源版本數(shù)據(jù)均基于預(yù)設(shè)數(shù)據(jù)得到,差分包是結(jié)合目的版本數(shù)據(jù)和預(yù)設(shè)數(shù)據(jù)處理得到的,因此可以通過(guò)源版本輔助包和源版本數(shù)據(jù)先處理得到與任意版本數(shù)據(jù)相關(guān)的預(yù)設(shè)數(shù)據(jù),再通過(guò)差分包對(duì)處理得到的預(yù)設(shè)數(shù)據(jù)進(jìn)行還原處理,從而得到目的版本數(shù)據(jù)。由于預(yù)設(shè)數(shù)據(jù)與任意版本數(shù)據(jù)相關(guān),所以差分包無(wú)需對(duì)應(yīng)具體版本,可以將任意版本的數(shù)據(jù)升級(jí)到目的版本。
6、本技術(shù)提供的電機(jī)控制器mcu的差分升級(jí)方法無(wú)需獲取待升級(jí)電機(jī)控制器mcu的具體版本信息,簡(jiǎn)化了升級(jí)流程,提高了升級(jí)效率。
7、第一方面提供的電機(jī)控制器差分升級(jí)方法中,待升級(jí)電機(jī)控制器根據(jù)差分升級(jí)包和源版本差分輔助包以及源版本數(shù)據(jù)進(jìn)行還原處理以得到目的版本差分輔助包,目的版本差分輔助包用于指示目的版本數(shù)據(jù)中修改數(shù)據(jù)的信息。
8、對(duì)應(yīng)的,差分升級(jí)包中還包括了目的版本對(duì)應(yīng)的輔助包,在將源版本數(shù)據(jù)通過(guò)源版本輔助包和差分包進(jìn)行差分還原成目的版本數(shù)據(jù)后,可以將目的版本對(duì)應(yīng)的輔助包寫(xiě)入待升級(jí)電機(jī)控制器mcu中,從而下次從目的版本繼續(xù)升級(jí)時(shí),可以根據(jù)目的版本對(duì)應(yīng)的輔助包進(jìn)行差分升級(jí),而無(wú)需獲取具體版本號(hào)。
9、第一方面提供的電機(jī)控制器差分升級(jí)方法中,差分升級(jí)包根據(jù)差分合并包進(jìn)行差分處理得到,差分合并包包括目的版本差分輔助包和目的版本數(shù)據(jù),目的版本差分輔助包根據(jù)目的版本數(shù)據(jù)確定。
10、對(duì)應(yīng)的,差分升級(jí)包根據(jù)目的版本差分輔助包和目的版本數(shù)據(jù)處理得到,確保了差分升級(jí)包的準(zhǔn)確性,使得差分升級(jí)包不易出錯(cuò)。
11、第一方面提供的電機(jī)控制器差分升級(jí)方法中,待升級(jí)電機(jī)控制器接收所述差分升級(jí)包的方法包括:
12、待升級(jí)電機(jī)控制器基于傳輸控制協(xié)議tcp、用戶數(shù)據(jù)報(bào)協(xié)議udp、超文本傳輸協(xié)議http中的任一種接收所述差分升級(jí)包;
13、或者待升級(jí)電機(jī)控制器通過(guò)空中下載技術(shù)ota或者近端診斷儀基于統(tǒng)一診斷服務(wù)uds協(xié)議接收差分升級(jí)包。
14、對(duì)應(yīng)的,本技術(shù)中的待升級(jí)電機(jī)控制器mcu可以有多種接收差分升級(jí)包的方法,從而提升了差分升級(jí)包接收過(guò)程的穩(wěn)定性,加強(qiáng)了升級(jí)的穩(wěn)定性。
15、第一方面提供的電機(jī)控制器差分升級(jí)方法中,待升級(jí)電機(jī)控制器完成差分升級(jí)后,待升級(jí)電機(jī)控制器存儲(chǔ)目的版本數(shù)據(jù)和目的版本差分輔助包。
16、對(duì)應(yīng)的,待升級(jí)電機(jī)控制器完成差分升級(jí)后只保留目的版本數(shù)據(jù)和目的版本差分輔助包,可以節(jié)省存儲(chǔ)空間,也使得下一次升級(jí)更簡(jiǎn)化。
17、第一方面提供的電機(jī)控制器差分升級(jí)方法中,目的版本差分輔助包的大小小于等于目的版本數(shù)據(jù)大小的10%。
18、對(duì)應(yīng)的,使用更小的目的版本差分輔助包可以節(jié)省空間,并更高效快速地完成程序升級(jí)輔助。
19、第一方面提供的電機(jī)控制器差分升級(jí)方法中,差分升級(jí)方法包括:
20、待升級(jí)電機(jī)控制器對(duì)差分升級(jí)包校驗(yàn)成功后接收所述差分升級(jí)包;
21、待升級(jí)電機(jī)控制器對(duì)差分還原處理得到的目的版本數(shù)據(jù)進(jìn)行校驗(yàn),校驗(yàn)通過(guò)后完成差分升級(jí)。
22、對(duì)應(yīng)的,待升級(jí)電機(jī)控制器對(duì)差分升級(jí)包和目的版本數(shù)據(jù)進(jìn)行校驗(yàn),提升了升級(jí)數(shù)據(jù)的準(zhǔn)確性,確保了升級(jí)成功。
23、第一方面提供的電機(jī)控制器差分升級(jí)方法中,在待升級(jí)電機(jī)控制器進(jìn)行差分升級(jí)的過(guò)程中,當(dāng)待升級(jí)電機(jī)控制器斷電或發(fā)生故障,差分升級(jí)方法包括:
24、待升級(jí)電機(jī)控制器停止差分升級(jí)并恢復(fù)源版本數(shù)據(jù);
25、待升級(jí)電機(jī)控制器存儲(chǔ)差分升級(jí)包和進(jìn)行還原處理得到的臨時(shí)數(shù)據(jù)以供待升級(jí)部電機(jī)控制器重新進(jìn)行差分升級(jí)。
26、對(duì)應(yīng)的,待升級(jí)電機(jī)控制器進(jìn)行差分升級(jí)的過(guò)程中發(fā)生斷電或發(fā)生故障時(shí),通過(guò)停止升級(jí)和恢復(fù)源版本數(shù)據(jù)保證了待升級(jí)電機(jī)控制器的可用性,同時(shí)清理掉之前的升級(jí)數(shù)據(jù),以保證下次升級(jí)的順利。
27、第二方面,本技術(shù)提供了一種電機(jī)控制器差分升級(jí)包生成方法,差分升級(jí)包生成方法包括:
28、基于目的版本數(shù)據(jù)生成差分輔助包,差分輔助包用于指示所述目的版本數(shù)據(jù)中修改數(shù)據(jù)的信息;
29、基于所述目的版本數(shù)據(jù)和差分輔助包生成差分升級(jí)包,差分升級(jí)包用于將待升級(jí)電機(jī)控制器的源版本數(shù)據(jù)升級(jí)為所述目的版本數(shù)據(jù),差分升級(jí)包包括待修改的數(shù)據(jù)和對(duì)待修改的數(shù)據(jù)的修改執(zhí)行程序文件。
30、對(duì)應(yīng)的,用專門的差分升級(jí)包生成方法來(lái)生成差分包,可以保證差分包的準(zhǔn)確性和升級(jí)成功性。
31、第二方面提供的電機(jī)控制器差分升級(jí)包生成方法中,基于目的版本數(shù)據(jù)和差分輔助包生成差分升級(jí)包的過(guò)程包括:
32、目的版本數(shù)據(jù)和差分輔助包合并以生成差分合并包;
33、差分合并包使用差分算法以生成差分升級(jí)包。
34、對(duì)應(yīng)的,按一定的流程來(lái)生成差分包,可以減少差分包生成過(guò)程中的出錯(cuò)率。
35、第二方面提供的電機(jī)控制器差分升級(jí)包生成方法中,差分升級(jí)包生成方法包括:
36、利用預(yù)設(shè)程序?qū)Σ罘稚?jí)包進(jìn)行升級(jí)操作;
37、基于目的版本數(shù)據(jù)對(duì)升級(jí)后的差分升級(jí)包進(jìn)行校驗(yàn)。
38、對(duì)應(yīng)的,利用預(yù)設(shè)程序?qū)Σ罘稚?jí)包進(jìn)行升級(jí)操作和對(duì)目的版本數(shù)據(jù)進(jìn)行校驗(yàn),提升了升級(jí)數(shù)據(jù)的準(zhǔn)確性,確保了升級(jí)成功。
39、第三方面,本技術(shù)提供了一種電機(jī)控制器mcu差分升級(jí)的使用裝置,使用裝置包括收發(fā)器、處理器、存儲(chǔ)器和接口,存儲(chǔ)器用于存儲(chǔ)差分升級(jí)包,使用裝置的處理器利用收發(fā)器通過(guò)空中下載技術(shù)ota或者近端診斷儀從接口接收差分升級(jí)包并通過(guò)控制器局域網(wǎng)絡(luò)can總線向待升級(jí)電機(jī)控制器mcu發(fā)送差分升級(jí)包。
40、對(duì)應(yīng)的,在整車上可以布置單獨(dú)的收發(fā)和存儲(chǔ)差分升級(jí)包的使用裝置,用于對(duì)升級(jí)包進(jìn)行收發(fā)和存儲(chǔ)處理,從而減少了待升級(jí)電機(jī)控制器mcu的存儲(chǔ)需求,可以更快速地完成升級(jí)需求。
41、第三方面所提供的使用裝置的一種實(shí)現(xiàn)形式中,使用裝置接收所述差分升級(jí)包的過(guò)程中,使用裝置斷電或發(fā)生故障,使用裝置停止接收差分升級(jí)包并清除存儲(chǔ)器中已接收的部分差分升級(jí)包。
42、對(duì)應(yīng)的,在使用裝置接收差分升級(jí)包的過(guò)程中,當(dāng)使用裝置斷電或發(fā)生故障,為了保證接收的差分升級(jí)包完整性,使用裝置停止接收差分升級(jí)包并清除存儲(chǔ)器中已接收的部分差分升級(jí)包,用以后續(xù)重新完整地接收差分升級(jí)包,以確保升級(jí)成功。
43、第四方面,本技術(shù)提供了一種動(dòng)力總成,動(dòng)力總成包括第一方面提供的電機(jī)控制器和驅(qū)動(dòng)電機(jī),動(dòng)力總成接收高壓直流電并通過(guò)電機(jī)控制器逆變輸出三相交流電供給驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)。
44、對(duì)應(yīng)的,在動(dòng)力總成上集成本技術(shù)提供的電機(jī)控制器,可以更加高效地實(shí)現(xiàn)動(dòng)力總成的電機(jī)控制程序升級(jí),便于動(dòng)力總成的使用和維護(hù)。
45、第五方面,本技術(shù)提供了一種車輛,車輛包括第一方面提供的電機(jī)控制器和第三方面提供的電機(jī)控制器差分升級(jí)使用裝置,電機(jī)控制器差分升級(jí)使用裝置用于通過(guò)空中下載技術(shù)ota或pc電腦傳輸接收差分升級(jí)包并傳遞給電機(jī)控制器升級(jí)使用。
46、對(duì)應(yīng)的,在車輛上集成本技術(shù)提供的電機(jī)控制器和電機(jī)控制器差分升級(jí)使用裝置,借助空中下載技術(shù)ota或pc電腦傳輸可以更加高效地實(shí)現(xiàn)電機(jī)控制程序升級(jí),便于車輛的使用和維護(hù)。
47、需要說(shuō)明的,該申請(qǐng)的差分升級(jí)方法、差分升級(jí)包生成方法和差分升級(jí)使用裝置不僅只用在電機(jī)控制器mcu上,也可以用在其他有類似升級(jí)需求的電子控制裝置如車載充電機(jī)obc、車載信息盒子(tbox)、智能座艙域控制器(cdc)、智能駕駛域控制器(mdc)、車控域控制器(vdc)、整車控制器vcu等領(lǐng)域。