一種車(chē)載ecu在線升級(jí)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及汽車(chē)電子工程領(lǐng)域,具體涉及一種車(chē)載ECU在線升級(jí)系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著汽車(chē)電子領(lǐng)域軟件功能劇增,新技術(shù)不斷應(yīng)用,在汽車(chē)電子產(chǎn)品生產(chǎn)和售后維護(hù)階段,經(jīng)常需要更新EOJ (Electronic Control Unit)中的應(yīng)用程序,修改系統(tǒng)參數(shù)。傳統(tǒng)的解決辦法是將ECU模塊從整車(chē)上拆下來(lái),更新完應(yīng)用程序之后再安裝到車(chē)輛中。然而,在很多情況下,裝入到車(chē)輛中的控制器很不容易拆卸,而且頻繁拆卸設(shè)備,插拔ECU不僅麻煩而且容易損壞電路板。
[0003]隨著總線網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,為了解決上述問(wèn)題,人們開(kāi)始利用車(chē)載網(wǎng)絡(luò)技術(shù),通過(guò)車(chē)內(nèi)總線(如CAN、LIN、FlexRay)實(shí)現(xiàn)E⑶的在線升級(jí)。當(dāng)車(chē)內(nèi)E⑶需要更新應(yīng)用程序時(shí),外部設(shè)備通過(guò)總線接口,將需要更新的數(shù)據(jù)傳遞給車(chē)內(nèi)ECU,實(shí)現(xiàn)車(chē)內(nèi)ECU的在線升級(jí)。但是在產(chǎn)品的研發(fā)、生產(chǎn)和售后維護(hù)階段,往往對(duì)于ECU在線升級(jí)來(lái)說(shuō)有不同的功能需求,如:采用不同的在線升級(jí)協(xié)議,因此對(duì)設(shè)備制造商、車(chē)輛制造商和現(xiàn)場(chǎng)來(lái)說(shuō),ECU在線升級(jí)系統(tǒng)需要適應(yīng)不同的應(yīng)用場(chǎng)合。
[0004]但是,目前大部分的車(chē)載ECU在線升級(jí)系統(tǒng)僅支持固定的總線和在線升級(jí)協(xié)議,可移植性、通用性不強(qiáng),在產(chǎn)品的研發(fā)、生產(chǎn)和售后維護(hù)階段,需要配置不同的車(chē)載ECU在線升級(jí)系統(tǒng)對(duì)產(chǎn)品進(jìn)行調(diào)試和維護(hù),這樣對(duì)產(chǎn)品資源造成了極大的浪費(fèi)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種車(chē)載ECU在線升級(jí)系統(tǒng)及方法,以增強(qiáng)ECU在線升級(jí)系統(tǒng)的通用性和可復(fù)用性。
[0006]本發(fā)明所述的一種車(chē)載E⑶在線升級(jí)系統(tǒng),包括上位機(jī)和通信接口 ;
所述通信接口用于將不同的通信總線轉(zhuǎn)換成一致的通信總線,上位機(jī)通過(guò)該通信接口與車(chē)載ECU連接;
所述上位機(jī)包括目標(biāo)文件存儲(chǔ)模塊、目標(biāo)文件解析模塊、參數(shù)配置模塊、可配置文件解析模塊、數(shù)據(jù)處理模塊、通信模塊和顯示模塊;
所述目標(biāo)文件存儲(chǔ)模塊內(nèi)存儲(chǔ)有多種格式的目標(biāo)鏡像文件;
所述目標(biāo)文件解析模塊與目標(biāo)文件存儲(chǔ)模塊相耦合,該目標(biāo)文件解析模塊能解析目標(biāo)文件存儲(chǔ)模塊內(nèi)的所有目標(biāo)鏡像文件,并提取出有效數(shù)據(jù);
所述參數(shù)配置模塊用于提供參數(shù)配置界面,接收用戶(hù)輸入的配置參數(shù),并生成可配置文件;
所述可配置文件解析模塊與參數(shù)配置模塊相耦合,用于對(duì)可配置文件進(jìn)行解析,并提取出通信配置參數(shù);
所述數(shù)據(jù)處理模塊分別與目標(biāo)文件解析模塊、可配置文件解析模塊相耦合,數(shù)據(jù)處理模塊對(duì)可配置文件解析模塊所提取的通信配置參數(shù),以及目標(biāo)文件解析模塊所提取的有效數(shù)據(jù)進(jìn)行處理,轉(zhuǎn)換成標(biāo)準(zhǔn)的通信數(shù)據(jù);
所述數(shù)據(jù)處理模塊還分別與通信模塊、顯示模塊相耦合,通信模塊將所述通信數(shù)據(jù)經(jīng)通信接口發(fā)送至車(chē)載E⑶,同時(shí)該通信數(shù)據(jù)還傳遞給顯示模塊進(jìn)行顯示;
所述車(chē)載EOJ內(nèi)安裝有Flashloader在線升級(jí)程序,該Flashloader在線升級(jí)程序包括Flash驅(qū)動(dòng),以及與上位機(jī)進(jìn)行通信的在線升級(jí)協(xié)議,用于實(shí)現(xiàn)ECU的在線升級(jí)并引導(dǎo)應(yīng)用程序的運(yùn)行。
[0007]所述可配置文件采用.xml格式,包括通信總線類(lèi)型、通信速率、通信ID、在線升級(jí)協(xié)議以及協(xié)議中數(shù)據(jù)報(bào)文的格式和在線升級(jí)流程,用戶(hù)可根據(jù)需求通過(guò)參數(shù)配置模塊配置以上各參數(shù)。
[0008]所述多種文件格式為.hex、.sl9、.bin和.vbf中的任一種或多種。
[0009]本發(fā)明所述的一種車(chē)載E⑶在線升級(jí)方法,采用如權(quán)利要求1至3任一所述的車(chē)載ECU在線升級(jí)系統(tǒng),上位機(jī)首先根據(jù)車(chē)載ECU的硬件平臺(tái)下載對(duì)應(yīng)格式的目標(biāo)鏡像文件,然后再讀取通過(guò)參數(shù)配置模塊配置的相關(guān)通信參數(shù),最后上位機(jī)與車(chē)載ECU按照請(qǐng)求-應(yīng)答的方式進(jìn)行通信,并采用可配置文件里定義的通信協(xié)議控制在線升級(jí)流程,具體升級(jí)流程包括以下步驟:
步驟1、上位機(jī)對(duì)車(chē)載ECU的編程條件進(jìn)行檢查:
上位機(jī)首先檢測(cè)當(dāng)前車(chē)載ECU的環(huán)境是否滿足在線升級(jí)條件,若不滿足,則結(jié)束此次升級(jí);若滿足,則車(chē)載ECU對(duì)上位機(jī)進(jìn)行安全身份驗(yàn)證;若身份驗(yàn)證通過(guò),則執(zhí)行Flash編程;若身份驗(yàn)證未通過(guò),則結(jié)束此次升級(jí);
步驟2、Flash編程:
2a、上位機(jī)讀取目標(biāo)鏡像文件里的數(shù)據(jù)組成一個(gè)傳送塊,該傳送塊包含數(shù)據(jù)的首地址、數(shù)據(jù)長(zhǎng)度和數(shù)據(jù)字節(jié);
2b、上位機(jī)將數(shù)據(jù)的首地址和數(shù)據(jù)長(zhǎng)度傳送給車(chē)載ECU ;并等待車(chē)載ECU的肯定響應(yīng);2c、當(dāng)上位機(jī)收到車(chē)載ECU的肯定響應(yīng)后,上位機(jī)再將該傳送塊的數(shù)據(jù)字節(jié)傳送給車(chē)載 ECU ;
2d、車(chē)載E⑶將數(shù)據(jù)字節(jié)寫(xiě)入到Flash中,并向上位機(jī)返回肯定響應(yīng);
步驟3、車(chē)載ECU對(duì)自身編程屬性檢查:
在Flash編程完成之后,對(duì)寫(xiě)入到Flash里的數(shù)據(jù)字節(jié)進(jìn)行校驗(yàn),檢測(cè)新下載的應(yīng)用程序是否有錯(cuò),若有錯(cuò),則判斷此次升級(jí)不成功;若正確,則檢測(cè)新升級(jí)的應(yīng)用程序所對(duì)應(yīng)的軟件版本號(hào)和ECU硬件識(shí)別號(hào)與車(chē)載ECU自身對(duì)應(yīng)的信息是否一致,若一致則完成此次升級(jí);若不一致,判斷此次升級(jí)失敗。
[0010]本發(fā)明解決了當(dāng)前車(chē)載ECU在線升級(jí)系統(tǒng)通用性不強(qiáng)的問(wèn)題。通過(guò)本發(fā)明對(duì)車(chē)載ECU進(jìn)行在線升級(jí)時(shí),用戶(hù)只需根據(jù)車(chē)載ECU的硬件平臺(tái)下載對(duì)應(yīng)格式的目標(biāo)鏡像文件,同時(shí)根據(jù)自身需求通過(guò)參數(shù)配置模塊配置相關(guān)通信參數(shù)即可,從而使車(chē)載ECU在線升級(jí)系統(tǒng)能夠支持不同的應(yīng)用場(chǎng)合(比如:能支持不同的總線和在線升級(jí)協(xié)議等),大大提高了車(chē)載ECU在線升級(jí)系統(tǒng)的復(fù)用性,避免了車(chē)載ECU在線升級(jí)系統(tǒng)的重復(fù)開(kāi)發(fā),縮短了開(kāi)發(fā)時(shí)間,降低了開(kāi)發(fā)成本。
【附圖說(shuō)明】
[0011]圖1是本發(fā)明的在線升級(jí)系統(tǒng)的結(jié)構(gòu)示意圖;
圖2是本發(fā)明的在線升級(jí)方法的流程示意圖。
【具體實(shí)施方式】
[0012]下面結(jié)合附圖和實(shí)例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
[0013]本實(shí)例基于CAN總線,采用自定義協(xié)議,對(duì)車(chē)內(nèi)的E⑶進(jìn)行在線升級(jí)。
[0014]如圖1所示的一種車(chē)載E⑶在線升級(jí)系統(tǒng),包括上位機(jī)I和通信接口 9。上位機(jī)I通過(guò)該通信接口 9與車(chē)載ECUlO連接,該通信接口 9用于將不同的通信總線轉(zhuǎn)換成一致的通信總線。
[0015]如圖1所示,所述上位機(jī)I包括目標(biāo)文件存儲(chǔ)模塊6、目標(biāo)文件解析模塊7、參數(shù)配置模塊4、可配置文件解析模塊5、數(shù)據(jù)處理模塊3、通信模塊2和顯示模塊8。
[0016]所述目標(biāo)文件存儲(chǔ)模塊6內(nèi)存儲(chǔ)有多種格式的目標(biāo)鏡像文件;比如:.hex、.sl9、.bin和.vbf中的任一種或多種,用戶(hù)可根據(jù)車(chē)載ECUlO的硬件平臺(tái)下載對(duì)應(yīng)格式的目標(biāo)鏡像文件。當(dāng)車(chē)載ECUlO的硬件平臺(tái)所需要的文件格式為.hex時(shí),在對(duì)該車(chē)載ECUlO進(jìn)行升級(jí)時(shí),用戶(hù)只需選擇.hex的目標(biāo)鏡像文件進(jìn)行下載即可。當(dāng)車(chē)載ECUlO的硬件平臺(tái)所需要的文件格式為.sl9時(shí),在對(duì)該車(chē)載ECUlO進(jìn)行升級(jí)時(shí),用戶(hù)只需選擇.sl9的目標(biāo)鏡像文件進(jìn)行下載即可。
[0017]目標(biāo)文件解析模塊7與目標(biāo)文件存儲(chǔ)模塊6相耦合,該目標(biāo)文件解析模塊7能解析目標(biāo)文件存儲(chǔ)模塊6內(nèi)的所有目標(biāo)鏡像文件,并提取出有效數(shù)據(jù)。目標(biāo)文件解析模塊7不僅能夠?qū)?hex、.sl9、.bin和.vbf格式的目標(biāo)鏡像文件進(jìn)行解析,還支持對(duì)文件內(nèi)容進(jìn)行判斷和分析,從而解析出正確的內(nèi)容。
[0018]參數(shù)配置模塊4用于提供參數(shù)配置界面,接收用戶(hù)輸入的配置參數(shù),并生成可配置文件??膳渲梦募捎?xml格式,包括通信總線類(lèi)型、通信速率、通信ID、在線升級(jí)協(xié)議以及協(xié)議中數(shù)據(jù)報(bào)文的格式和在線升級(jí)流程,用戶(hù)可根據(jù)需求通過(guò)參數(shù)配置模塊4配置以上各參數(shù)。
[0019]采用CAN總線和自定義協(xié)議,生成的可配置文件內(nèi)容如下所示:
〈ECU—Update〉
<Basic>
<network>CAN</network)
<speed>500kbps</speed>
〈Source—Address>ID = 0x740〈/Source—Address〉
〈Target—Address〉 ID = 0x780〈/Target—Address〉
</Basic>
〈Protocol〉
<Transport_Layer>None</Transport_Layer>
〈Applicat1n—Layer>User—Define〈/Applicat1n—Layer>
<format>Command[0],Data[1-7]</format)
〈Command〉
checkProgrammingPrecondit1ns(OxFO); RequestDownload (OxFl);