一種基于can總線的電池管理系統(tǒng)升級方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于電池管理系統(tǒng)技術(shù)領(lǐng)域,具體涉及一種基于CAN總線的電池管理系統(tǒng)升級方法。
【背景技術(shù)】
[0002]氣候變化、能源和環(huán)境問題是人類社會共同面對的長期問題。目前,全球主要國家積極實(shí)施能源和環(huán)境保護(hù)戰(zhàn)略,全球進(jìn)入了真正解決人類社會共同問題的時(shí)代。交通運(yùn)輸領(lǐng)域的溫室氣體排放、能源消耗和尾氣排放三大問題對全球的能源、環(huán)境、氣候造成了惡劣的影響。為此,全球主要國家政府、組織、汽車生產(chǎn)商、能源供應(yīng)商、風(fēng)險(xiǎn)投資企業(yè)逐漸開始共同行動,推動全球汽車工業(yè)產(chǎn)業(yè)結(jié)構(gòu)升級和動力系統(tǒng)電動化戰(zhàn)略轉(zhuǎn)型,促進(jìn)具有多層次結(jié)構(gòu)的新能源汽車社會基礎(chǔ)產(chǎn)業(yè)形成和相應(yīng)的政策、組織保障體系建設(shè),助推可持續(xù)發(fā)展新能源汽車社會的形成。當(dāng)前,在各種新能源汽車的技術(shù)路線中,以混合動力、純電動汽車和燃料電池汽車為代表的電動汽車被普遍認(rèn)為是未來汽車能源動力系統(tǒng)轉(zhuǎn)型發(fā)展的主要方向。
[0003]電池管理系統(tǒng)的功能和性能是制約電動汽車發(fā)展的關(guān)鍵性因素。電池管理系統(tǒng)由主控模塊、從控模塊、高壓盒以及相應(yīng)線束構(gòu)成,電池管理系統(tǒng)功能及性能根據(jù)整車廠的要求及電池廠商的要求進(jìn)行設(shè)計(jì)、完善。
[0004]在電池管理系統(tǒng)使用過程中,出現(xiàn)系統(tǒng)異常、系統(tǒng)調(diào)試故障、程序不完善等問題時(shí),需要對電池管理系統(tǒng)進(jìn)行升級?,F(xiàn)有技術(shù)中的電池管理系統(tǒng)升級方式通常是對電池管理系統(tǒng)進(jìn)行拆箱、將各模塊拆開分別升級,不僅浪費(fèi)時(shí)間,而且調(diào)試效率和工作效率低下。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種基于CAN總線的電池管理系統(tǒng)升級方法,用以解決現(xiàn)有技術(shù)中的電池管理系統(tǒng)升級效率低下的問題。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明的方案包括:
[0007]—種基于CAN總線的電池管理系統(tǒng)升級方法,包括以下步驟:
[0008](1)上位機(jī)根據(jù)待升級模塊選擇相應(yīng)的升級文件,并計(jì)算升級文件的大??;
[0009](2)上位機(jī)根據(jù)升級文件大小計(jì)算出升級地址,并擦除待升級地址內(nèi)容;
[0010](3)若待升級地址內(nèi)容擦除成功,上位機(jī)將升級文件打包一幀幀發(fā)送至待升級模塊,待升級模塊根據(jù)每一幀數(shù)據(jù)給上位機(jī)發(fā)送確認(rèn)幀;否則,重新擦除待升級地址內(nèi)容;
[0011](4)若上位機(jī)根據(jù)確認(rèn)幀判斷數(shù)據(jù)幀下發(fā)成功,則繼續(xù)將升級文件發(fā)送至待升級模塊直至全部下發(fā)完畢;待升級模塊全部升級完畢后,發(fā)送升級確認(rèn)幀給上位機(jī);否則,重新發(fā)送數(shù)據(jù)幀;
[0012](5)上位機(jī)根據(jù)升級確認(rèn)幀判斷待升級模塊是否升級成功,若待升級模塊升級成功,則結(jié)束升級過程,否則,繼續(xù)發(fā)送數(shù)據(jù)幀。
[0013]所述步驟(5)中,若待升級模塊升級成功,則上位機(jī)發(fā)送程序執(zhí)行指令,待升級模塊執(zhí)行程序。若程序執(zhí)行成功,則結(jié)束升級過程,否則,上位機(jī)重新發(fā)送程序執(zhí)行指令,待升級模塊重新執(zhí)行程序。
[0014]本發(fā)明的有益效果是:上位機(jī)與電池管理系統(tǒng)通過CAN總線進(jìn)行通信;上位機(jī)根據(jù)待升級電池管理系統(tǒng)各個(gè)模塊類型選擇相應(yīng)的升級文件,根據(jù)升級文件大小計(jì)算出升級地址,并通過下發(fā)擦除待升級地址內(nèi)容指令至待升級模塊擦除待升級地址內(nèi)容。若待升級地址內(nèi)容擦除成功,上位機(jī)將升級文件進(jìn)行打包發(fā)送至待升級模塊,每發(fā)送一幀升級文件,上位機(jī)將接收到待升級模塊發(fā)送的確認(rèn)幀,待全部升級完畢后,上位機(jī)將接收到待升級模塊發(fā)送的是否成功升級的升級確認(rèn)幀,根據(jù)升級確認(rèn)幀判斷是否升級成功。本發(fā)明的電池管理系統(tǒng)升級方法能夠在無需拆箱的情況下進(jìn)行升級,提高了調(diào)試效率和工作效率,而且可以實(shí)現(xiàn)電池管理系統(tǒng)批量升級。
【附圖說明】
[0015]圖1是本發(fā)明實(shí)施例的通信示意圖;
[0016]圖2是本發(fā)明實(shí)施例的流程示意圖。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖對本發(fā)明做進(jìn)一步詳細(xì)的說明。
[0018]本發(fā)明的電池管理系統(tǒng)升級方法基于CAN總線協(xié)議,如圖1所示,電池管理系統(tǒng)包括主控模塊、從控模塊和高壓盒三個(gè)模塊,這三個(gè)模塊均具備CAN總線接口,能夠通過CAN總線與上位機(jī)進(jìn)行通信。上位機(jī)分別對主控模塊、從控模塊、高壓模塊進(jìn)行各自獨(dú)立升級。
[0019]基于C#開發(fā)平臺設(shè)計(jì)上位機(jī),該上位機(jī)能夠?qū)崿F(xiàn)CAN通信、CAN設(shè)備設(shè)置、CAN波特率設(shè)置、發(fā)送升級指令等功能。
[0020]基于Keil或Freescale CodeWarr1r平臺開發(fā)設(shè)計(jì)電池管理系統(tǒng)各個(gè)模塊升級程序,通過CAN通信實(shí)現(xiàn)接收上位機(jī)發(fā)送的升級指令。
[0021]如圖2所示,本發(fā)明實(shí)施例的電池管理系統(tǒng)升級方法包括以下步驟:
[0022](1)上位機(jī)根據(jù)待升級模塊選擇相應(yīng)的升級文件,并計(jì)算升級文件大小。
[0023]上位機(jī)根據(jù)待升級電池管理系統(tǒng)各個(gè)模塊類型選擇相應(yīng)的升級文件,并自動計(jì)算出升級文件的大小。
[0024](2)上位機(jī)根據(jù)升級文件大小計(jì)算出升級地址,并擦除待升級地址內(nèi)容。
[0025]上位機(jī)根據(jù)升級文件的大小計(jì)算出升級地址,并下發(fā)擦除待升級地址內(nèi)容指令至待升級模塊,待升級模塊擦除待升級地址內(nèi)容。
[0026](3)若待升級地址內(nèi)容擦除成功,上位機(jī)將升級文件打包發(fā)送至待升級模塊。
[0027]如果擦除待升級地址內(nèi)容失敗,則需要重新擦除待升級地址內(nèi)容。
[0028]如果待升級地址內(nèi)容擦除成功,上位機(jī)打包升級文件,以數(shù)據(jù)幀的格式將升級文件一幀幀的發(fā)送給待升級模塊。上位機(jī)每發(fā)送一幀數(shù)據(jù)幀,將接收到待升級模塊發(fā)送的確認(rèn)幀。
[0029](4)若上位機(jī)根據(jù)確認(rèn)幀判斷數(shù)據(jù)幀下發(fā)成功,則繼續(xù)將升級文件發(fā)送至待升級模塊直至全部下發(fā)完畢;待升級模塊全部升級完畢后,發(fā)送升級確認(rèn)幀給上位機(jī);否則,重新發(fā)送數(shù)據(jù)幀。
[0030]上位機(jī)根據(jù)待升級模塊發(fā)送來的確認(rèn)幀判斷數(shù)據(jù)是否下發(fā)成功;如果數(shù)據(jù)幀下發(fā)不成功,則上位機(jī)需要重新發(fā)送數(shù)據(jù)幀。
[0031]如果數(shù)據(jù)幀下發(fā)成功,則繼續(xù)將升級文件一幀幀的發(fā)送至待升級模塊,待升級模塊一直循環(huán)發(fā)送確認(rèn)幀判斷,直至將升級文件全部下發(fā)完畢。待升級模塊全部升級完畢后,發(fā)送升級確認(rèn)幀給上位機(jī)。
[0032](5)上位機(jī)根據(jù)升級確認(rèn)幀判斷待升級模塊是否升級成功,若待升級模塊升級成功,則上位機(jī)發(fā)送程序執(zhí)行指令,待升級模塊執(zhí)行程序;否則,繼續(xù)發(fā)送數(shù)據(jù)幀繼續(xù)升級。
[0033]上位機(jī)根據(jù)實(shí)際收到升級確認(rèn)幀判斷待升級模塊升級是否成功,若上位機(jī)未收到升級確認(rèn)幀,待升級模塊升級不成功,則上位機(jī)繼續(xù)發(fā)送數(shù)據(jù)幀繼續(xù)升級。
[0034]若上位機(jī)收到升級確認(rèn)幀,待升級模塊升級成功,則上位機(jī)發(fā)送程序執(zhí)行指令,待升級模塊執(zhí)行程序并向上位機(jī)發(fā)送程序執(zhí)行反饋幀。
[0035](6)上位機(jī)根據(jù)程序執(zhí)行反饋幀判斷待升級模塊是否成功,若程序執(zhí)行成功,則結(jié)束升級過程,否則,重新執(zhí)行程序。
[0036]上位機(jī)根據(jù)程序執(zhí)行反饋幀判斷待升級模塊是否執(zhí)行程序成功,若程序執(zhí)行成功,待升級模塊將通過程序執(zhí)行燈顯示程序處于運(yùn)行狀態(tài),并且結(jié)束升級過程。若程序執(zhí)行不成功,上位機(jī)重新發(fā)送程序執(zhí)行指令,待升級模塊重新執(zhí)行程序。
[0037]在上述實(shí)施例中,所述步驟(5)中上位機(jī)確認(rèn)待升級模塊升級成功后,上位機(jī)發(fā)送程序執(zhí)行指令,待升級模塊執(zhí)行程序。作為其他實(shí)施方式,所述步驟(5)中上位機(jī)確認(rèn)待升級模塊升級成功后,直接結(jié)束升級過程。
【主權(quán)項(xiàng)】
1.一種基于CAN總線的電池管理系統(tǒng)升級方法,其特征在于:包括以下步驟: (1)上位機(jī)根據(jù)待升級模塊選擇相應(yīng)的升級文件,并計(jì)算升級文件的大??; (2)上位機(jī)根據(jù)升級文件大小計(jì)算出升級地址,并擦除待升級地址內(nèi)容; (3)若待升級地址內(nèi)容擦除成功,上位機(jī)將升級文件打包一幀幀發(fā)送至待升級模塊,待升級模塊根據(jù)每一幀數(shù)據(jù)給上位機(jī)發(fā)送確認(rèn)幀;否則,重新擦除待升級地址內(nèi)容; (4)若上位機(jī)根據(jù)確認(rèn)幀判斷數(shù)據(jù)幀下發(fā)成功,則繼續(xù)將升級文件發(fā)送至待升級模塊直至全部下發(fā)完畢;待升級模塊全部升級完畢后,發(fā)送升級確認(rèn)幀給上位機(jī);否則,重新發(fā)送數(shù)據(jù)幀; (5)上位機(jī)根據(jù)升級確認(rèn)幀判斷待升級模塊是否升級成功,若待升級模塊升級成功,則結(jié)束升級過程,否則,繼續(xù)發(fā)送數(shù)據(jù)幀。2.根據(jù)權(quán)利要求1所述的基于CAN總線的電池管理系統(tǒng)升級方法,其特征在于:所述步驟(5)中,若待升級模塊升級成功,則上位機(jī)發(fā)送程序執(zhí)行指令,待升級模塊執(zhí)行程序。若程序執(zhí)行成功,則結(jié)束升級過程,否則,上位機(jī)重新發(fā)送程序執(zhí)行指令,待升級模塊重新執(zhí)行程序。
【專利摘要】本發(fā)明涉及一種基于CAN總線的電池管理系統(tǒng)升級方法,包括以下步驟:1.根據(jù)待升級模塊選擇升級文件,計(jì)算升級文件大??;2.根據(jù)升級文件大小計(jì)算升級地址,擦除待升級地址內(nèi)容;3.若待升級地址內(nèi)容擦除成功,上位機(jī)將升級文件打包一幀幀發(fā)送至待升級模塊,待升級模塊根據(jù)每一幀數(shù)據(jù)反饋確認(rèn)幀;否則,重新擦除待升級地址內(nèi)容;4.若上位機(jī)根據(jù)確認(rèn)幀判斷數(shù)據(jù)幀下發(fā)成功,繼續(xù)將升級文件發(fā)送至待升級模塊直至全部下發(fā)完畢;待升級模塊全部升級完畢后,發(fā)送升級確認(rèn)幀給上位機(jī);否則,重新發(fā)送數(shù)據(jù)幀;5.上位機(jī)根據(jù)升級確認(rèn)幀若判斷待升級模塊升級成功,結(jié)束升級過程,否則,繼續(xù)發(fā)送數(shù)據(jù)幀。本發(fā)明能夠在無需拆箱的情況下進(jìn)行升級,提高了工作效率。
【IPC分類】G05B23/02
【公開號】CN105259891
【申請?zhí)枴緾N201510634386
【發(fā)明人】薄麗麗, 王棟梁, 田云芳, 呂少鋒, 梁雅明, 王蕾
【申請人】中航鋰電(洛陽)有限公司
【公開日】2016年1月20日
【申請日】2015年9月29日