本發(fā)明屬于汽車控制技術(shù)領(lǐng)域,涉及一種電動汽車的電動助力轉(zhuǎn)向系統(tǒng)(eps)控制器總控芯片的程序下載系統(tǒng)及方法,包括bootloader與應(yīng)用程序的下載。
背景技術(shù):
嵌入式系統(tǒng)的程序下載是目前電子產(chǎn)品開發(fā)和生產(chǎn)的重要環(huán)節(jié)。傳統(tǒng)的方法是使用bdm(backgrounddebugmode)工具下載或升級應(yīng)用程序,這種方法僅試用于產(chǎn)品研發(fā)階段,在大批次產(chǎn)品的生產(chǎn)中,這種下載方法不僅效率低,下載的程序代碼也不可靠。而采用基于bootloader的在線更新應(yīng)用程序的方法可以有效避免上述問題。bootloader也叫啟動引導(dǎo)程序,硬件設(shè)備上電后首先執(zhí)行這段代碼。在汽車電子產(chǎn)品中,bootloader的主要用來在線更新應(yīng)用程序。
一般在對芯片進行程序下載時,需分兩步進行:bootloader下載和應(yīng)用程序下載。當bootloader下載完成時,通常需要給芯片重新上下電,并將更新標志設(shè)置為應(yīng)用程序更新模式。上下電和改變更新模式的功能一般是通過兩個機械開關(guān)來實現(xiàn),但這種方法不僅效率低,而且生產(chǎn)人員在下載程序時也會經(jīng)常出錯。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供了一種汽車eps控制器程序自動化下載系統(tǒng)及方法。
本發(fā)明的系統(tǒng)所采用的技術(shù)方案是:一種汽車eps控制器程序自動化下載系統(tǒng),其特征在于:包括上位機、usb-can盒、功能板、eps控制器、掃碼槍;
所述功能板用于存儲部分bootloader數(shù)據(jù),實現(xiàn)bootloader更新模式與應(yīng)用程序更新模式自動切換、eps控制器的自動上下電;所述上位機與所述usb-can盒通過usb接口連接,所述usb-can盒分別通過can總線與所述功能板、eps控制器連接,所述功能板與eps控制器相互通過串口和can總線連接;所述掃碼槍掃描所述eps控制器上的二維碼,獲取數(shù)據(jù)后通過導(dǎo)線送入所述上位機中。
本發(fā)明的方法所采用的技術(shù)方案是:一種汽車eps控制器程序自動化下載方法,其特征在于,包括以下步驟:
步驟1:配置eps控制器信息;
步驟2:測試人員通過掃碼槍掃描eps控制器上的二維碼,當上位機檢測到eps控制器上的二維碼信息發(fā)生改變時,功能板自動設(shè)置程序更新模式為bootloader更新模式;
步驟3:離線下載bootloader程序;
步驟4:在線下載應(yīng)用程序;
步驟5:當eps控制器的離線下載和在線下載完成后,上位機將程序下載的關(guān)鍵信息記錄在txt文件中,并通過局域網(wǎng)上傳到后臺服務(wù)器的數(shù)據(jù)庫中。
本發(fā)明的優(yōu)點是:
(1)下載系統(tǒng)操作簡單。生產(chǎn)人員通過掃碼槍掃描控制器上的二維碼,上位機軟件接收到該信息后,就可以進行程序下載;
(2)系統(tǒng)的下載效率高,可靠性強。下載系統(tǒng)通過功能板實現(xiàn)了bootloader與應(yīng)用程序的一鍵下載,并通過功能板中的程序?qū)崿F(xiàn)了控制器上下電和改變更新模式的功能,替代了人工操作機械開關(guān)的步驟;
(3)下載系統(tǒng)集成了產(chǎn)品追溯模塊,方便了控制器后期的維護與管理。當控制器完成程序下載后,上位機軟件會將與該控制器相關(guān)的信息存儲在txt文件中,并通過局域網(wǎng)上傳到后臺服務(wù)器的數(shù)據(jù)庫中。
附圖說明
圖1為本發(fā)明實施例的系統(tǒng)總體框圖;
圖2為本發(fā)明實施例的方法流程圖;
圖3為本發(fā)明實施例的bootloader程序文件與應(yīng)用程序文件的解析流程圖。
具體實施方式
為了便于本領(lǐng)域普通技術(shù)人員理解和實施本發(fā)明,下面結(jié)合附圖及實施例對本發(fā)明作進一步的詳細描述,應(yīng)當理解,此處所描述的實施示例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
請見圖1,本發(fā)明提供的一種汽車eps控制器程序自動化下載系統(tǒng),包括上位機1、usb-can盒2、功能板3、eps控制器4、掃碼槍5;功能板3用于存儲部分bootloader數(shù)據(jù),實現(xiàn)bootloader更新模式與應(yīng)用程序更新模式自動切換、eps控制器4的自動上下電;上位機與usb-can盒2通過usb接口連接,usb-can盒2分別通過can總線與功能板3、eps控制器4連接,功能板3與eps控制器4相互通過串口和can總線連接;掃碼槍5掃描eps控制器4上的二維碼,獲取數(shù)據(jù)后通過導(dǎo)線送入上位機1中。
掃碼槍5掃描eps控制器4的二維碼,將eps控制器4的id號傳送到上位機1中;當1檢測到eps控制器4的id發(fā)生改變時,通過usb-can盒2給功能板3發(fā)送開始下載程序的命令,功能板3將eps控制器4的更新標記設(shè)置為bootloader更新模式,然后將存儲在功能板4的程序代碼下載到eps控制器4;當bootloader下載完成之后,功能板3將eps控制器4的更新標記設(shè)置為應(yīng)用程序更新模式,并將該信號發(fā)送給上位機1,然后上位機1通過usb-can盒2開始下載應(yīng)用程序代碼;當eps控制器的程序下載完成后,上位機1將控制器id號、bootloader版本號、應(yīng)用程序版本號、程序下載時間及操作員等信息存儲在txt文件中,并通過局域網(wǎng)將其上傳到后臺服務(wù)器的數(shù)據(jù)庫中。
請見圖2,本發(fā)明提供的一種汽車eps控制器程序自動化下載方法,包括以下步驟:
步驟1:配置eps控制器4信息;
需配置的信息包括控制器應(yīng)用程序文件、測試人員的信息。
步驟2:測試人員通過掃碼槍5掃描eps控制器4上的二維碼,當上位機1檢測到eps控制器4上的二維碼信息發(fā)生改變時,功能板3自動設(shè)置程序更新模式為bootloader更新模式;
eps控制器4二維碼信息是否改變的判斷方法:上位機1會存儲上一次控制器的二維碼信息,當用掃碼槍5獲得當前控制器的二維碼信息,將兩者進行對比;若控制器的程序下載失敗,上位機不會儲存該二維碼信息。這種判斷方法的優(yōu)點:可以避免已成功下載程序的控制器重復(fù)下載,提高控制器生產(chǎn)效率;同時,對程序下載失敗的控制器,可以嘗試重新下載。
步驟3:離線下載bootloader程序;
當檢測到eps控制器4二維碼信息發(fā)生改變時,功能板3自動設(shè)置程序更新模式為bootloader更新模式。首先,功能板3給eps控制器4發(fā)送一字節(jié)特定數(shù)據(jù)(該數(shù)據(jù)由eps控制器4主控芯片決定),eps控制器4根據(jù)接收數(shù)據(jù)的時間,判斷功能板3的串口通訊的波特率;接著,功能板3通過串口給eps控制器4發(fā)送數(shù)據(jù),這一部分數(shù)據(jù)的作用是初始化eps控制器4的can模塊;當串口數(shù)據(jù)發(fā)送完成后,eps控制器4若成功接收數(shù)據(jù),eps控制器4會發(fā)出燒錄成功的信號。功能板3再通過can模塊給eps控制器4發(fā)送數(shù)據(jù),這一部分數(shù)據(jù)是bootloader程序。離線下載過程若出現(xiàn)下載錯誤,功能板3會通過指示燈進行報警,且會通過usb-can盒2將錯誤信息上傳到上位機1界面中的狀態(tài)顯示區(qū),并中止離線下載進程。
步驟4:在線下載應(yīng)用程序;
當離線下載完成后,功能板3會對eps控制器4進行一次下電與上電操作,并設(shè)置程序更新模式為應(yīng)用程序更新模式。設(shè)置完成后,eps控制器4會發(fā)出應(yīng)用程序下載起始信號,上位機1接收到該信號后,就會通過usb-can盒2開始下載應(yīng)用程序。應(yīng)用程序下載時,會對下載數(shù)據(jù)加密,eps控制器4的bootloader程序會將接收到數(shù)據(jù)先進行解密,然后再存儲到eps控制器4主控芯片的flash區(qū)。同樣,在線下載過程若出現(xiàn)下載錯誤,上位機1會在狀態(tài)顯示區(qū)顯示錯誤信息,并中止在線下載進程。
步驟5:當eps控制器4的離線下載和在線下載完成后,上位機1將程序下載的關(guān)鍵信息記錄在txt文件中,并通過局域網(wǎng)上傳到后臺服務(wù)器的數(shù)據(jù)庫中。關(guān)鍵信息包括:控制器id號、bootloader版本號、應(yīng)用程序版本號、程序下載時間、操作員、bootloader與應(yīng)用程序是否下載成功等。
請見圖3,本實施例的bootloader程序文件與應(yīng)用程序文件均是以hex文件格式進行存儲的,且都是加密文件;啟動離線下載前,需對bootloader程序文件與應(yīng)用程序文件進行解析;
對于bootloader程序文件,先解密得到hex文件,根據(jù)hex文件格式逐行進行數(shù)據(jù)解讀,轉(zhuǎn)化為十六制數(shù)據(jù),并進行數(shù)據(jù)校驗;數(shù)據(jù)校驗無誤后,對有效數(shù)據(jù)封裝組包,得到若干個數(shù)據(jù)包,并將其存儲在功能板3的flash區(qū);
對于應(yīng)用程序文件,采用bootloader程序文件解析方法進行數(shù)據(jù)解析,然后對封裝組包的每個數(shù)據(jù)包進行crc校驗;解析后的數(shù)據(jù)包將存儲在上位機1中。
本發(fā)明在很大程度上簡化了eps控制器程序下載過程,能夠快速、可靠地完成控制器程序的下載。
應(yīng)當理解的是,本說明書未詳細闡述的部分均屬于現(xiàn)有技術(shù)。
應(yīng)當理解的是,上述針對較佳實施例的描述較為詳細,并不能因此而認為是對本發(fā)明專利保護范圍的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明權(quán)利要求所保護的范圍情況下,還可以做出替換或變形,均落入本發(fā)明的保護范圍之內(nèi),本發(fā)明的請求保護范圍應(yīng)以所附權(quán)利要求為準。