一種bms應用程序快速更新方法及更新系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及電動汽車的技術領域,更具體地說,是涉及一種BMS應用程序快速更新方法及更新系統(tǒng)。
【背景技術】
[0002]隨著新能源電動汽車的推廣應用,BMS(Battery Management System電池管理系統(tǒng))產(chǎn)量也隨之提高,BMS生產(chǎn)維護過程中的應用程序升級功能占用的時間也在隨之加長,現(xiàn)有技術中的更新方法主要存在下述兩方面的缺陷:
[0003]1、隨著BMS程序代碼量的增加,通過現(xiàn)有方式在線(CAN/RS32/U盤/SD卡/GPRS/WIFI等通信)更新程序耗時在不斷的增加,這對BMS批量生產(chǎn),現(xiàn)場更新維護非常不便;
[0004]2、現(xiàn)有程序更新方式采用更新整個芯片程序的方式,升級過程中出現(xiàn)異常將導致整個系統(tǒng)無法正常運行。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于克服現(xiàn)有技術中的上述缺陷,提供BMS應用程序快速更新方法及更新系統(tǒng),縮短BMS應用程序的在線升級時間,并防止BMS升級異常導致的系統(tǒng)崩潰。
[0006]為實現(xiàn)上述目的,本發(fā)明提供的技術方案如下:
[0007]本發(fā)明提供的一種BMS應用程序快速更新方法,該方法包括下述步驟:
[0008](I)將BMS程序按功能模塊分配其在ROM中的存儲區(qū)域;
[0009](2)在BMS中增加外部存儲器,模塊更新時先將新的模塊程序接收保存至外部存儲器;
[0010](3)判斷模塊更新中是否存在異常狀況;
[0011](4)如未出現(xiàn)異常狀況,則接收整個模塊程序完成后對整個模塊程序進行完整性校驗,校驗成功后再將程序更新至對應內(nèi)部存儲區(qū)域;
[0012](5)如出現(xiàn)異常狀況,將備份程序恢復至原模塊,同時系統(tǒng)回復原始狀態(tài)。
[0013]作為優(yōu)選的技術方案,步驟(I)中,將BMS程序劃分成如下功能模塊:
[0014]電壓檢測模塊、電流檢測模塊、SOC修正模塊、溫度檢測模塊、國標充電控制模塊以及高壓上下電模塊。
[0015]作為優(yōu)選的技術方案,步驟(2)中,所述外部存儲器通過下述方式接入到BMS中:
[0016](2-1)在BMS PCB增加Flash形式的存儲芯片,并通過IIC或SPI的通信方式與BMS連接;
[0017](2-2)在BMS PCB增加U盤或SD卡接口芯片,BMS通過接口芯片與U盤或SD存儲媒介通信。
[0018]作為優(yōu)選的技術方案,步驟(4)中,對整個模塊程序使用MD5碼進行完整性校驗的,其具體方法為:
[0019]外部存儲器中存放有MD5碼值,所述MD5碼值由更新程序的上位機通過計算實際的模塊代碼發(fā)送,BMS也計算實際的模塊代碼MD5碼值,比較二個MD5碼值,如果相同則認為整個模塊程序是完整的。
[0020]作為優(yōu)選的技術方案,步驟(5)中,出現(xiàn)異常情況時,BMS通過控制硬件看門狗,重新啟動BMS,BMS檢查錯誤標志位,發(fā)現(xiàn)程序沒有正常燒錄完成則將備份區(qū)的程序重新更新至BMS內(nèi)部程序存儲區(qū)域,所述異常情況包括超時和校驗錯誤。
[0021]本發(fā)明還提供了一種BMS應用程序快速更新系統(tǒng),該系統(tǒng)包括功能模塊劃分子系統(tǒng)、外部存儲子系統(tǒng)、異常判斷子系統(tǒng)、內(nèi)部存儲子系統(tǒng)以及異?;謴妥酉到y(tǒng),所述功能模塊劃分子系統(tǒng)、外部存儲子系統(tǒng)、異常判斷子系統(tǒng)、內(nèi)部存儲子系統(tǒng)以及異?;謴妥酉到y(tǒng)順序連接;
[0022]所述功能模塊劃分子系統(tǒng),用于將BMS程序按功能模塊分配其在ROM中的存儲區(qū)域;
[0023]所述外部存儲子系統(tǒng),用于在BMS中增加外部存儲器,模塊更新時先將新的模塊程序接收保存至外部存儲器;
[0024]所述異常判斷子系統(tǒng),用于判斷模塊更新中是否存在異常狀況;
[0025]所述內(nèi)部存儲子系統(tǒng),用于如未出現(xiàn)異常狀況,則接收整個模塊程序完成后對整個模塊程序進行完整性校驗,校驗成功后再將程序更新至對應內(nèi)部存儲區(qū)域;
[0026]所述異常恢復子系統(tǒng),用于如出現(xiàn)異常狀況,將備份程序恢復至原模塊,保證系統(tǒng)回復原始狀態(tài)。
[0027]作為優(yōu)選的技術方案,所述功能模塊劃分子系統(tǒng)將BMS程序劃分成電壓檢測模塊、電流檢測模塊、SOC修正模塊、溫度檢測模塊、國標充電控制模塊以及高壓上下電模塊。
[0028]作為優(yōu)選的技術方案,所述外部存儲子系統(tǒng)中,外部存儲器通過下述方式接入到BMS 中:
[0029](2-1)在BMS PCB增加Flash形式的存儲芯片,并通過IIC或SPI的通信方式與BMS連接;
[0030](2-2)在BMS PCB增加U盤或SD卡接口芯片,BMS通過接口芯片與U盤或SD存儲媒介通信。
[0031]作為優(yōu)選的技術方案,所述內(nèi)部存儲子系統(tǒng)包括完整性校驗模塊,所述完整性校驗模塊米用MD5碼進行完整性fe驗,其具體為:
[0032]外部存儲器中存放有MD5碼值,所述MD5碼值由更新程序的上位機通過計算實際的模塊代碼發(fā)送,BMS也計算實際的模塊代碼MD5碼值,比較二個MD5碼值,如果相同則認為整個模塊程序是完整的。
[0033]作為優(yōu)選的技術方案,所述異?;謴妥酉到y(tǒng)包括重啟模塊,所述重啟模塊用于出現(xiàn)異常情況時,BMS通過控制硬件看門狗,重新啟動BMS,BMS檢查錯誤標志位,發(fā)現(xiàn)程序沒有正常燒錄完成則將備份區(qū)的程序重新更新至BMS內(nèi)部程序存儲區(qū)域,所述異常情況包括超時和校驗錯誤。
[0034]與現(xiàn)有技術相比,本發(fā)明的有益效果在于:
[0035]1、本發(fā)明通過BMS程序按功能模塊分配其在ROM中的存儲區(qū)域,有利于針對單個模塊進行程序更新,并可以利用空余時間分時段的選擇相應模塊升級,大大縮短BMS應用程序的在線升級時間。
[0036]2、本發(fā)明可以通過按模塊升級更新指定程序,縮短升級時間,防止因升級異常導致的系統(tǒng)無法運行的情況,通過外部存儲器的緩存及備份功能,將杜絕升級異常導致的系統(tǒng)崩潰。
【附圖說明】
[0037]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0038]圖1是本發(fā)明實施例一提供的BMS應用程序快速更新方法的流程圖;
[0039]圖2是本發(fā)明實施例二提供的BMS應用程序快速更新方法的流程圖;
[0040]圖3是本發(fā)明實施例三提供的BMS應用程序快速更新系統(tǒng)的結構方框圖;
[0041 ]圖4是本發(fā)明實施例四提供的BMS應用程序快速更新系統(tǒng)的結構方框圖;
[0042]圖5是本發(fā)明實施例二及實施例四中將BMS程序按功能模塊劃分的結構方框圖。
【具體實施方式】
[0043]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0044]實施例一
[0045]本發(fā)明的實施例一提供了一種BMS應用程序快速更新方法,圖1是本發(fā)明實施例一的方法流程圖,請參考圖1,本發(fā)明實施例的方法包括以下步驟:
[0046]SlOl、將BMS程序按功能模塊分配其在ROM中的存儲區(qū)域;
[0047]S102、在BMS中增加外部存儲器,模塊更新時先將新的模塊程序接收保存至外部存儲器,
[0048]S103、判斷模塊更新中是否存在異常狀況;
[0049]S104、如未出現(xiàn)異常狀況,則接收整個模塊程序完成后對整個模塊程序進行完整性校驗,校驗成功后再將程序更新至對應內(nèi)部存儲區(qū)域;
[0050]S105、如出現(xiàn)異常狀況,將備份程序恢復至原模塊,同時系統(tǒng)回復原始狀態(tài)。
[0051 ]本發(fā)明通過BMS程序按功能模塊分配其在ROM中的存儲區(qū)域,有利于針對單個模塊進行程序更新,并可以利用空余時間分時段的選擇相應模塊升級,大大縮短BMS應用程序的在線升級時間。
[0052]實施例二
[0053]本發(fā)明的實施例二提供了一種BMS應用程序快速更新方法,是在實施例一的基礎之上進行的改進。圖2是本發(fā)明實施例二的方法流程圖,請參考圖2,本發(fā)明實施例的方法包括以下步驟:
[0054]S201、將BMS程序按功能模塊分配其在ROM中的存儲區(qū)域,將BMS程序劃分成如下功能模塊,請參考圖5:
[0055]電壓檢測模塊、電流檢測模塊、SOC修正模塊、溫度檢測模塊、國標充電控制模塊以及高壓上下電模塊;
[0056]S202、在BMS中增加外部存儲器,模塊更新時先將新的模塊程序接收保存至外部存儲器,接入的方式有以下幾種:
[0057](2-1)在BMS PCB增加Flash形式的存儲芯片,并通過IIC或SPI的通信方式與BMS連接;
[0058](2-2)在BMS PCB增加U盤或SD卡接口芯片,BMS通過接口芯片與U盤或SD存儲媒介通信。
[0059]S203、判斷模塊更新中是否存在異常狀況;
[0060]