0,在由Vspy開(kāi)發(fā)的刷新工具中,選擇需要刷新的ECU軟件類(lèi)型以及其所處的網(wǎng)絡(luò);其中,Vspy (全稱為Vehicle spy)是美國(guó)英特佩斯公司開(kāi)發(fā)的一款專(zhuān)業(yè)的汽車(chē)總線仿真測(cè)試軟件,在汽車(chē)行業(yè)廣泛應(yīng)用,幾乎每個(gè)汽車(chē)主機(jī)廠和ECU供應(yīng)商都具備Vspy軟件,其可以采用諸如Funct1n Block語(yǔ)言、Java語(yǔ)言以及C語(yǔ)言進(jìn)行二次開(kāi)發(fā);由于在一些實(shí)施例中,處于不同的網(wǎng)絡(luò)中的ECU軟件類(lèi)型名稱有可能相同,故選擇需要刷新的ECU軟件類(lèi)型以及其所處的網(wǎng)絡(luò)可以快速準(zhǔn)確定位至實(shí)際需要刷新的ECU軟件類(lèi)型??梢岳斫獾氖?,在其他的一些實(shí)施例中,如果處于不同的網(wǎng)絡(luò)中的ECU軟件類(lèi)型名稱不存在相同的情形,則在該步驟中,可以只選擇需要刷新的ECU軟件類(lèi)型。
[0020]步驟S12,根據(jù)所選擇的需要刷新的ECU軟件類(lèi)型,讀取ECU軟件類(lèi)型對(duì)應(yīng)的刷新文件的存放地址;在該步驟中,是根據(jù)預(yù)先存儲(chǔ)的ECU軟件類(lèi)型與其刷新文件存放地址的對(duì)應(yīng)關(guān)系,讀取所述ECU軟件類(lèi)型所對(duì)應(yīng)的刷新文件的存放地址,對(duì)應(yīng)關(guān)系存儲(chǔ)在一映射表中或通過(guò)指針的方式實(shí)現(xiàn)。
[0021 ] 步驟S14,在存放地址中,讀取E⑶軟件類(lèi)型對(duì)應(yīng)的安全算法文件、Flash驅(qū)動(dòng)文件以及刷新文件;具體地,該步驟包括:
根據(jù)需要刷新的ECU軟件類(lèi)型,獲得其對(duì)應(yīng)的安全算法文件檢索關(guān)鍵詞、Flash驅(qū)動(dòng)文件檢索關(guān)鍵詞以及刷新文件檢索關(guān)鍵詞;
在存放地址中,分別采用安全算法文件檢索關(guān)鍵詞、Flash驅(qū)動(dòng)文件檢索關(guān)鍵詞以及刷新文件檢索關(guān)鍵詞進(jìn)行檢索,獲得與這些檢索關(guān)鍵詞對(duì)應(yīng)的安全算法文件、Flash驅(qū)動(dòng)文件以及刷新文件。
[0022]步驟S16,在通過(guò)所述安全算法文件實(shí)現(xiàn)乘用車(chē)的E⑶的校驗(yàn)后,將Flash驅(qū)動(dòng)文件以及刷新文件上傳至乘用車(chē)的ECU中,并刷新ECU中的相應(yīng)的ECU軟件。具體地,該步驟包括:
與乘用車(chē)的ECU建立連接,通過(guò)刷新文件讀取單元14所讀取的安全算法文件(例如為一個(gè)計(jì)算公式)計(jì)算獲得一校驗(yàn)值,將所述校驗(yàn)值發(fā)送給乘用車(chē)的ECU進(jìn)行校驗(yàn);乘用車(chē)的ECU會(huì)將該校驗(yàn)值與預(yù)先設(shè)置的數(shù)值進(jìn)行比較,如果相符則表示校驗(yàn)通過(guò),則此時(shí)乘用車(chē)會(huì)自動(dòng)解鎖部分功能;
在ECU校驗(yàn)完成后,刷新軟件調(diào)用Vspy中的診斷命令,向ECU發(fā)送上傳數(shù)據(jù)的請(qǐng)求命令,請(qǐng)求命令中包含ECU軟件對(duì)應(yīng)的診斷請(qǐng)求ID與響應(yīng)的ID ;
在收到來(lái)自ECU的響應(yīng)命令后,將安全算法文件、Flash驅(qū)動(dòng)文件以及刷新文件以診斷報(bào)文的方式進(jìn)行上傳;
通過(guò)Flash驅(qū)動(dòng)文件,將刷新文件寫(xiě)入E⑶軟件所在的Flash中;其中,該刷新文件被上傳至乘用車(chē)的EQJ中一個(gè)確定的位置中,該位置由“Flashdriver start address”的值所決定??梢岳斫獾氖?,此處所說(shuō)“刷新”實(shí)際是就是將刷新文件中的代碼寫(xiě)入乘用車(chē)的ECU的存儲(chǔ)空間(Flash)中的過(guò)程。而每個(gè)乘用車(chē)的ECU中該用于存放該代碼的存儲(chǔ)空間是預(yù)先確定的,但對(duì)于不同的ECU類(lèi)型,其空間地址可能是不一樣;故在進(jìn)行刷新時(shí),需要知道該存儲(chǔ)空間的起始地址,故對(duì)于每一乘用車(chē)的E⑶,均可通過(guò)“Flashdriver startaddress”值來(lái)標(biāo)示將刷新文件中的代碼寫(xiě)入到乘用車(chē)的ECU的具體區(qū)域(起始位置)。
[0023]在所有文件上傳完畢后,停止文件的上傳。
[0024]其中,該方法進(jìn)一步包括:
預(yù)先配置各類(lèi)型ECU軟件的診斷請(qǐng)求ID與響應(yīng)的ID,以及收發(fā)器的工作的波特率。
[0025]如圖2至圖4所示,示出了本發(fā)明提供的一種基于Vspy的E⑶軟件刷新裝置的一個(gè)實(shí)施例。在該實(shí)施例中,該基于Vspy的ECU軟件刷新裝置用于對(duì)乘用車(chē)的ECU中ECU軟件進(jìn)行刷新,其包括:
ECU類(lèi)型選擇單元10,用于在由Vspy開(kāi)發(fā)的刷新工具中,選擇需要刷新的ECU軟件類(lèi)型以及其所處的網(wǎng)絡(luò);其中,存放地址定位單元10根據(jù)預(yù)先存儲(chǔ)的ECU軟件類(lèi)型與其刷新文件存放地址的對(duì)應(yīng)關(guān)系,讀取ECU軟件類(lèi)型所對(duì)應(yīng)的刷新文件的存放地址,該對(duì)應(yīng)關(guān)系存儲(chǔ)在一映射表中或通過(guò)指針的方式實(shí)現(xiàn)。
[0026]存放地址定位單元12,用于根據(jù)E⑶類(lèi)型選擇單元10中所選擇的E⑶軟件類(lèi)型,讀取ECU軟件類(lèi)型對(duì)應(yīng)的刷新文件的存放地址;
刷新文件讀取單元14,用于在存放地址中,讀取ECU軟件類(lèi)型對(duì)應(yīng)的安全算法文件、Flash驅(qū)動(dòng)文件以及刷新文件;
刷新處理單元16,用于在通過(guò)刷新文件讀取單元14所讀取的安全算法文件實(shí)現(xiàn)乘用車(chē)的ECU的校驗(yàn)后,上傳刷新文件讀取單元14讀取的Flash驅(qū)動(dòng)文件以及刷新文件,并刷新ECU中的相應(yīng)的ECU軟件;
配置單元18,用于預(yù)先配置各類(lèi)型ECU軟件的診斷請(qǐng)求ID與響應(yīng)的ID,以及收發(fā)器的工作的波特率。
[0027]其中,刷新文件讀取單元14進(jìn)一步包括:
檢索關(guān)鍵詞獲取單元140,用于根據(jù)需要刷新的ECU軟件類(lèi)型,獲得其對(duì)應(yīng)的安全算法文件檢索關(guān)鍵詞、Flash驅(qū)動(dòng)文件檢索關(guān)鍵詞以及刷新文件檢索關(guān)鍵詞;
檢索單元142,用于在存放地址中,分別采用檢索關(guān)鍵詞獲取單元140所確定的安全算法文件檢索關(guān)鍵詞、Flash驅(qū)動(dòng)文件檢索關(guān)鍵詞以及刷新文件檢索關(guān)鍵詞進(jìn)行檢索,獲得安全算法文件、Flash驅(qū)動(dòng)文件以及刷新文件。
[0028]其中,刷新處理單元16進(jìn)一步包括:
校驗(yàn)請(qǐng)求發(fā)送單元,用于與乘用車(chē)的ECU建立連接,通過(guò)刷新文件讀取單元14所讀取的安全算法文件計(jì)算獲得一校驗(yàn)值,將所述校驗(yàn)值發(fā)送給乘用車(chē)的ECU進(jìn)行校驗(yàn);乘用車(chē)的ECU會(huì)將該校驗(yàn)值與預(yù)先設(shè)置的數(shù)值進(jìn)行比較,如果相符則表示校驗(yàn)通過(guò);
數(shù)據(jù)上傳請(qǐng)求單元160,用于調(diào)用Vspy中的診斷命令,向ECU發(fā)送上傳數(shù)據(jù)的請(qǐng)求命令,請(qǐng)求命令中包含ECU軟件對(duì)應(yīng)的診斷請(qǐng)求ID與響應(yīng)的ID ;
數(shù)據(jù)上傳單元162,用于在收到來(lái)自ECU的響應(yīng)命令后,將安全算法文件、Flash驅(qū)動(dòng)文件以及刷新文件以診斷報(bào)文的方式進(jìn)行上傳;
刷新單元164,用于通過(guò)Flash驅(qū)動(dòng)文件,將刷新文件寫(xiě)入E⑶軟件所在的Flash的相應(yīng)位置中;
數(shù)據(jù)上傳停止單元166,用于在所有文件上傳完畢后,停止文件的上傳。
[0029]為了便于對(duì)本發(fā)明的工作原理進(jìn)一步理解,下述將結(jié)合圖5中的實(shí)例對(duì)本發(fā)明的一個(gè)具體例子進(jìn)行說(shuō)明。
[0030]如圖5所示,是本發(fā)明提供的基于VSpy的ECU軟件刷新裝置的軟件界面示意圖。從該軟件界面中可以看出,在該界面中,其中:
其上側(cè)包括有汽車(chē)主機(jī)廠的LOGO信息等;
在“CanNetwork” 一欄,用戶可以選擇刷新的E⑶類(lèi)型所在的Can網(wǎng)絡(luò)名;
在“Flashed E⑶”一欄,用戶可以選擇被刷新的E⑶類(lèi)型,可以理解的是,可以被刷新的E⑶類(lèi)型可以包括諸如A⑶(安全氣囊系統(tǒng)控制單元)、EMS (發(fā)動(dòng)機(jī)管理系統(tǒng))、ABS (防抱死系統(tǒng))和TCU (自動(dòng)變速箱的控制單元)等。具體地,可以通過(guò)Funct1n Block語(yǔ)言、Java語(yǔ)言或C語(yǔ)言來(lái)編寫(xiě)代碼添加/減少ECU數(shù)目,以及對(duì)ECU的配置信息進(jìn)行配置,例如,對(duì)各ECU類(lèi)型的診斷請(qǐng)求ID與響應(yīng)的ID以及收發(fā)器的工作的波特率等進(jìn)行配置;
在“SegmentSize” 一欄表示一次刷新的數(shù)據(jù)字節(jié)數(shù),在該例子中最大為2048個(gè)字節(jié);在“FlashDriverStartAddress ”一欄,表示選擇在乘用車(chē)的EQJ中進(jìn)行Flash驅(qū)動(dòng)文件進(jìn)行刷新的起始地址;
在“Security File” 一欄表示可以選擇的安全算法文件;
在“Flash Driver ” 一欄表示可以選擇的Flash驅(qū)動(dòng)文件,該Flash文件主要作用是用于執(zhí)行Flash的擦除與寫(xiě)入,具體地,可用于將刷新文件寫(xiě)入到乘用車(chē)的Flash中;
在“Appl”至“App4”等欄表示可以選擇待上傳的刷新文件;
“Progress Bar”用于顯示刷新進(jìn)度;
“Start”按紐用于點(diǎn)擊運(yùn)行刷新;
“Reprogramming Status”表示刷新的狀態(tài),其具有“Pass”和“Fail ”兩種狀態(tài),分別用于顯示刷新成功和刷新失敗。
[0031]利用該軟件界面,實(shí)現(xiàn)ECU軟件的刷新的過(guò)程具體包括:
步驟一、選擇所需刷新的ECU軟件類(lèi)型及其所處網(wǎng)絡(luò);例如,在一個(gè)例子中分別選擇EMS (發(fā)動(dòng)機(jī)管理系統(tǒng))以及HCAN (CAN-High,驅(qū)動(dòng)系統(tǒng)CAN);軟件界面會(huì)通過(guò)調(diào)用后臺(tái)軟件設(shè)定診斷ID以及收發(fā)器工作的波特率;
步驟二、自動(dòng)加載安全算法文件,F(xiàn)lash驅(qū)動(dòng)文件以及刷新文件。軟件界面會(huì)通過(guò)前面所選擇的ECU軟件類(lèi)型,自動(dòng)定位并加載對(duì)應(yīng)的安全算法文件,F(xiàn)lash驅(qū)動(dòng)文件以及待下載的刷新文件。步驟三、選擇 segment size 以及 Flashdriver start address。
[0032]軟件界面會(huì)調(diào)用后臺(tái)程序通過(guò)該“Flashdriver start address”設(shè)定Flash驅(qū)動(dòng)文件進(jìn)行刷新的起始地址,并通過(guò)該“segment size”設(shè)定刷新時(shí)一次下載時(shí)數(shù)據(jù)字節(jié)數(shù),該數(shù)據(jù)字節(jié)數(shù)可以手動(dòng)輸入,也可以為一個(gè)預(yù)先設(shè)置好的默認(rèn)值。
當(dāng)前第2頁(yè)
1 
2 
3