本發(fā)明涉及電池管理系統(tǒng)技術(shù)領(lǐng)域,具體涉及一種控制器的軟件升級(jí)方法、裝置及系統(tǒng)。
背景技術(shù):
電動(dòng)汽車的核心部件之一的電池管理系統(tǒng)(batterymanagementsystem,bms)往往包括多個(gè)控制器。電動(dòng)汽車在出廠前,電池管理系統(tǒng)的控制器預(yù)先燒錄了軟件以實(shí)現(xiàn)系統(tǒng)功能。隨著電池管理技術(shù)的進(jìn)步,在電動(dòng)汽車出廠后還需要對(duì)電池管理系統(tǒng)中的控制器的軟件進(jìn)行升級(jí)。
現(xiàn)有技術(shù)需要專業(yè)的售后維護(hù)人員利用專用連接線(如串口總線)連接筆記本電腦和控制器,從而將筆記本電腦中的軟件升級(jí)程序發(fā)送至控制器,實(shí)現(xiàn)對(duì)控制器的軟件升級(jí)。
然而,由于電動(dòng)汽車售出后其分布較為分散,而且位置不確定,售后維護(hù)人員逐個(gè)去往車輛現(xiàn)場升級(jí)控制器導(dǎo)致人力資源成本及時(shí)間成本較高。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供了一種控制器的軟件升級(jí)方法、裝置及系統(tǒng),以解決現(xiàn)有對(duì)電池管理系統(tǒng)中的控制器進(jìn)行軟件升級(jí)的方法所導(dǎo)致的人力資源成本及時(shí)間成本較高的問題。
根據(jù)第一方面,本發(fā)明實(shí)施例提供了一種控制器的軟件升級(jí)方法,由連接在can總線上的預(yù)設(shè)控制器執(zhí)行,所述預(yù)設(shè)控制器與服務(wù)器通信連接;所述方法包括:接收所述服務(wù)器所發(fā)送的軟件升級(jí)程序;所述軟件升級(jí)程序用于升級(jí)電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)待升級(jí)的目標(biāo)控制器的軟件,所述目標(biāo)控制器連接在所述can總線上;向所述can總線轉(zhuǎn)發(fā)所述軟件升級(jí)程序;所述軟件升級(jí)程序被連接在所述can總線上的目標(biāo)控制器接收并執(zhí)行以升級(jí)所述目標(biāo)控制器的軟件。
可選地,所述軟件升級(jí)程序攜帶有至少一個(gè)控制器標(biāo)識(shí),所述控制器標(biāo)識(shí)用于標(biāo)記所述軟件升級(jí)程序所對(duì)應(yīng)的目標(biāo)控制器。
可選地,所述向所述can總線發(fā)送所述軟件升級(jí)程序的步驟之后,還包括:接收目標(biāo)控制器所發(fā)送的升級(jí)成功通知;所述升級(jí)成功通知用于確認(rèn)所述目標(biāo)控制器已成功執(zhí)行所述軟件升級(jí)程序;將所述升級(jí)成功通知發(fā)送至所述服務(wù)器。
根據(jù)第二方面,本發(fā)明實(shí)施例提供了一種控制器的軟件升級(jí)方法,由待升級(jí)的目標(biāo)控制器執(zhí)行,所述目標(biāo)控制器連接在can總線上;所述方法包括:判斷電動(dòng)汽車的電池是否處于充電狀態(tài)或放電狀態(tài);當(dāng)所述電動(dòng)汽車的電池既不處于充電狀態(tài)也不處于放電狀態(tài)時(shí),從所述can總線接收軟件升級(jí)程序;所述軟件升級(jí)程序用于升級(jí)電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)待升級(jí)的目標(biāo)控制器的軟件,所述目標(biāo)控制器連接在所述can總線上;執(zhí)行所述軟件升級(jí)程序。
可選地,所述軟件升級(jí)程序攜帶有至少一個(gè)控制器標(biāo)識(shí),所述控制器標(biāo)識(shí)用于標(biāo)記所述軟件升級(jí)程序所對(duì)應(yīng)的目標(biāo)控制器;在所述執(zhí)行所述軟件升級(jí)程序的步驟之前,還包括:獲取所述軟件升級(jí)程序所攜帶的控制器標(biāo)識(shí);判斷所述控制器標(biāo)識(shí)是否為自身所對(duì)應(yīng)的標(biāo)識(shí);當(dāng)所述控制器標(biāo)識(shí)是自身所對(duì)應(yīng)的標(biāo)識(shí)時(shí),執(zhí)行所述軟件升級(jí)程序。
根據(jù)第三方面,本發(fā)明實(shí)施例提供了一種控制器的軟件升級(jí)裝置,用于連接在can總線上的預(yù)設(shè)控制器,所述預(yù)設(shè)控制器與服務(wù)器通信連接;所述裝置包括:第一接收單元,用于接收所述服務(wù)器所發(fā)送的軟件升級(jí)程序;所述軟件升級(jí)程序用于升級(jí)電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)待升級(jí)的目標(biāo)控制器的軟件,所述目標(biāo)控制器連接在所述can總線上;第一發(fā)送單元,用于向所述can總線轉(zhuǎn)發(fā)所述軟件升級(jí)程序;所述軟件升級(jí)程序被連接在所述can總線上的目標(biāo)控制器接收并執(zhí)行以升級(jí)所述目標(biāo)控制器的軟件。
可選地,所述軟件升級(jí)程序攜帶有至少一個(gè)控制器標(biāo)識(shí),所述控制器標(biāo)識(shí)用于標(biāo)記所述軟件升級(jí)程序所對(duì)應(yīng)的目標(biāo)控制器。
可選地,該控制器的軟件升級(jí)裝置還包括:第二接收單元,用于接收目標(biāo)控制器所發(fā)送的升級(jí)成功通知;所述升級(jí)成功通知用于確認(rèn)所述目標(biāo)控制器已成功執(zhí)行所述軟件升級(jí)程序;第二發(fā)送單元,用于將所述升級(jí)成功通知發(fā)送至所述服務(wù)器。
根據(jù)第四方面,本發(fā)明實(shí)施例提供了一種控制器的軟件升級(jí)裝置,用于待升級(jí)的目標(biāo)控制器,所述目標(biāo)控制器連接在can總線上;所述裝置包括:第一判斷單元,用于判斷電動(dòng)汽車的電池是否處于充電狀態(tài)或放電狀態(tài);第三接收單元,用于當(dāng)所述電動(dòng)汽車的電池既不處于充電狀態(tài)也不處于放電狀態(tài)時(shí),從所述can總線接收軟件升級(jí)程序;所述軟件升級(jí)程序用于升級(jí)電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)待升級(jí)的目標(biāo)控制器的軟件,所述目標(biāo)控制器連接在所述can總線上;執(zhí)行單元,用于執(zhí)行所述軟件升級(jí)程序。
可選地,所述軟件升級(jí)程序攜帶有至少一個(gè)控制器標(biāo)識(shí),所述控制器標(biāo)識(shí)用于標(biāo)記所述軟件升級(jí)程序所對(duì)應(yīng)的目標(biāo)控制器;所述裝置還包括:獲取單元,用于獲取所述軟件升級(jí)程序所攜帶的控制器標(biāo)識(shí);第二判斷單元,用于判斷所述控制器標(biāo)識(shí)是否為自身所對(duì)應(yīng)的標(biāo)識(shí);當(dāng)所述控制器標(biāo)識(shí)是自身所對(duì)應(yīng)的標(biāo)識(shí)時(shí),所述執(zhí)行單元執(zhí)行所述軟件升級(jí)程序。
根據(jù)第五方面,本發(fā)明實(shí)施例提供了一種控制器的軟件升級(jí)系統(tǒng),包括:至少一個(gè)軟件待升級(jí)的目標(biāo)控制器,每個(gè)所述目標(biāo)控制器連接在can總線上;預(yù)設(shè)控制器,連接在所述can總線上;所述預(yù)設(shè)控制器包括第三方面或第三方面的任意一種可選實(shí)施方式所述的控制器的軟件升級(jí)裝置;服務(wù)器,與所述預(yù)設(shè)控制器通信連接,用于向所述預(yù)設(shè)控制器發(fā)送軟件升級(jí)程序;所述軟件升級(jí)程序用于升級(jí)電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)控制器的軟件,所述控制器連接在所述can總線上。
本發(fā)明實(shí)施例所提供的控制器的軟件升級(jí)方法、裝置及系統(tǒng),由can總線上的預(yù)設(shè)控制器先接收服務(wù)器所發(fā)送的軟件升級(jí)程序,然后向can總線轉(zhuǎn)發(fā)該軟件升級(jí)程序,從而can總線上的其他控制器可以從can總線獲取軟件升級(jí)程序以升級(jí)自身軟件。通過上述控制器的軟件升級(jí)方法,服務(wù)器無需將軟件升級(jí)程序直接一一發(fā)送給各個(gè)控制器,從而減少系統(tǒng)的成本以及系統(tǒng)維護(hù)的人力資源成本和時(shí)間成本。
本發(fā)明實(shí)施例所提供的控制器的軟件升級(jí)方法,控制器先判斷電動(dòng)汽車的電池是否處于充電狀態(tài)或放電狀態(tài),當(dāng)既不處于充電狀態(tài)也不處于放電狀態(tài)時(shí),從can總線接收軟件升級(jí)程序,繼而執(zhí)行該軟件升級(jí)程序。通過上述控制器的軟件升級(jí)方法,服務(wù)器無需將軟件升級(jí)程序直接一一發(fā)送給各個(gè)控制器,從而減少系統(tǒng)的成本以及系統(tǒng)維護(hù)的人力資源成本和時(shí)間成本。
附圖說明
通過參考附圖會(huì)更加清楚的理解本發(fā)明的特征和優(yōu)點(diǎn),附圖是示意性的而不應(yīng)理解為對(duì)本發(fā)明進(jìn)行任何限制,在附圖中:
圖1示出了根據(jù)本發(fā)明實(shí)施例的控制器升級(jí)方法的實(shí)施環(huán)境的示意圖;
圖2示出了根據(jù)本發(fā)明實(shí)施例的控制器的軟件升級(jí)方法的流程圖;
圖3示出了根據(jù)本發(fā)明又一實(shí)施例的控制器的軟件升級(jí)方法的流程圖;
圖4示出了根據(jù)本發(fā)明再一實(shí)施例的控制器的軟件升級(jí)方法的流程圖;
圖5示出了根據(jù)本發(fā)明再一實(shí)施例的控制器的軟件升級(jí)方法的流程圖;
圖6示出了根據(jù)本發(fā)明再一實(shí)施例的控制器的軟件升級(jí)方法的流程圖;
圖7示出了根據(jù)本發(fā)明實(shí)施例的控制器的軟件升級(jí)裝置的原理框圖;
圖8示出了根據(jù)本發(fā)明又一實(shí)施例的控制器的軟件升級(jí)裝置的原理框圖;
圖9示出了根據(jù)本發(fā)明實(shí)施例的控制器的軟件升級(jí)系統(tǒng)的示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1示出了根據(jù)本發(fā)明實(shí)施例的控制器升級(jí)方法的實(shí)施環(huán)境的示意圖,該實(shí)施環(huán)境具體為電動(dòng)汽車的電池管理系統(tǒng)(batterymanagementsystem,bms)。如圖1所示,該電池管理系統(tǒng)包括多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)有一個(gè)控制器,例如控制器a、b、c、d、e,這些控制器通過can收發(fā)器(圖中未示出收發(fā)器)連接在can總線上。當(dāng)連接在can總線上的控制器要向can總線上的其他控制器發(fā)送信息時(shí),該控制器將需要發(fā)送的信息傳送給本節(jié)點(diǎn)的收發(fā)器,收發(fā)器先處于準(zhǔn)備狀態(tài);收發(fā)器接收到分配的總線資源時(shí),轉(zhuǎn)為發(fā)送報(bào)文狀態(tài),將需要發(fā)送的信息發(fā)送至can總線。這時(shí)can總線上的其他節(jié)點(diǎn)處于接收狀態(tài)。對(duì)can總線上的其他控制器來說,無論信息是否是發(fā)送給自己的,都對(duì)其進(jìn)行接收,并對(duì)接收到的信息進(jìn)行檢測,判斷信息是否是發(fā)送給自己的,以確定是否對(duì)其進(jìn)行處理。
需要補(bǔ)充說明的是,本發(fā)明中所述的控制器為具有軟件的器件,不僅僅是用于控制的器件,也可以是用戶數(shù)據(jù)處理的器件,也即本發(fā)明實(shí)施例所提供的軟件升級(jí)方法也可以用于處理器。
實(shí)施例一
圖2示出了根據(jù)本發(fā)明實(shí)施例的控制器的軟件升級(jí)方法的流程圖,由圖1所示的實(shí)施環(huán)境中的預(yù)設(shè)控制器執(zhí)行,該預(yù)設(shè)控制器與服務(wù)器通信連接,例如圖1中所示的控制器a。根據(jù)圖2所示,該控制器的軟件升級(jí)方法包括如下步驟:
s110:接收服務(wù)器所發(fā)送的軟件升級(jí)程序。該軟件升級(jí)程序用于升級(jí)電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)待升級(jí)的目標(biāo)控制器的軟件,該目標(biāo)控制器連接在can總線上。
當(dāng)需要對(duì)采用can總線的電池管理系統(tǒng)中的控制器的軟件進(jìn)行升級(jí)時(shí),服務(wù)器需要將軟件升級(jí)程序發(fā)送給待升級(jí)的目標(biāo)控制器。然而,當(dāng)can總線上的目標(biāo)控制器較多時(shí),如果服務(wù)器直接一一發(fā)送給各個(gè)目標(biāo)控制器,則每個(gè)目標(biāo)控制器都需要連接一個(gè)通信模塊,各個(gè)目標(biāo)控制器通過通信模塊與服務(wù)器建立通信連接,服務(wù)器才能直接將軟件升級(jí)程序發(fā)送給各個(gè)目標(biāo)控制器。由此,電池管理系統(tǒng)中便需要增加多個(gè)通信模塊,一方面增加電池管理系統(tǒng)的成本,另一方面,增加的通信模塊會(huì)使電池管理系統(tǒng)布線更加復(fù)雜、所占用空間加大。
對(duì)此,本發(fā)明實(shí)施例在電池管理系統(tǒng)的can總線網(wǎng)絡(luò)中設(shè)置一個(gè)預(yù)設(shè)控制器,該預(yù)設(shè)控制器與服務(wù)器通信連接。當(dāng)需要對(duì)can總線上的目標(biāo)控制器的軟件進(jìn)行升級(jí)時(shí),服務(wù)器僅需要將軟件升級(jí)程序發(fā)送給該預(yù)設(shè)控制器;預(yù)設(shè)控制器會(huì)接收服務(wù)器所發(fā)送的軟件升級(jí)程序,并將軟件升級(jí)程序發(fā)送到can總線;can總線上的目標(biāo)控制器從can總線接收并執(zhí)行軟件升級(jí)程序,從而升級(jí)目標(biāo)控制器的軟件。
與上述服務(wù)器將軟件升級(jí)程序直接一一發(fā)送給各個(gè)目標(biāo)控制器的技術(shù)方案相比,本發(fā)明實(shí)施例所提供的技術(shù)方案僅需要增加一個(gè)用于與服務(wù)器通信的通信模塊。
s120:向can總線轉(zhuǎn)發(fā)軟件升級(jí)程序。軟件升級(jí)程序被連接在can總線上的目標(biāo)控制器接收并執(zhí)行以升級(jí)該目標(biāo)控制器的軟件。
上述控制器的軟件升級(jí)方法,由can總線上的預(yù)設(shè)控制器先接收服務(wù)器所發(fā)送的軟件升級(jí)程序,然后向can總線轉(zhuǎn)發(fā)該軟件升級(jí)程序,從而can總線上待升級(jí)的目標(biāo)控制器可以從can總線獲取軟件升級(jí)程序以升級(jí)自身軟件。通過上述控制器的軟件升級(jí)方法,服務(wù)器無需將軟件升級(jí)程序直接一一發(fā)送給各個(gè)目標(biāo)控制器,從而減少系統(tǒng)的成本以及系統(tǒng)維護(hù)的人力資源成本和時(shí)間成本。
實(shí)施例二
圖3示出了根據(jù)本發(fā)明又一實(shí)施例的控制器的軟件升級(jí)方法的流程圖,由圖1所示的實(shí)施環(huán)境中的預(yù)設(shè)控制器執(zhí)行,該預(yù)設(shè)控制器與服務(wù)器通信連接,例如圖1中所示的控制器a。根據(jù)圖3所示,該控制器的軟件升級(jí)方法包括如下步驟:
s210:接收服務(wù)器所發(fā)送的軟件升級(jí)程序。該步驟與圖2所示的步驟s110類似,在此不再贅述。
可選地,該軟件升級(jí)程序攜帶有至少一個(gè)控制器標(biāo)識(shí),控制器標(biāo)識(shí)用于標(biāo)記軟件升級(jí)程序所對(duì)應(yīng)的目標(biāo)控制器。例如,軟件升級(jí)程序僅用于升級(jí)控制器b和c的軟件,則該軟件升級(jí)程序中攜帶有控制器b和c的標(biāo)識(shí)符。當(dāng)預(yù)設(shè)控制器a將該軟件升級(jí)程序發(fā)送至can總線后,目標(biāo)控制器b和c接收到該軟件升級(jí)程序時(shí),可以根據(jù)該軟件升級(jí)程序中所攜帶的控制器標(biāo)識(shí)判斷該軟件升級(jí)程序是否用于自身軟件的升級(jí),進(jìn)而做相應(yīng)的處理。
s220:判斷所接收到的軟件升級(jí)程序是否完整。
預(yù)設(shè)控制器在接收到服務(wù)器所發(fā)送的軟件升級(jí)程序之后,會(huì)判斷所接收到的軟件升級(jí)程序是否完整,當(dāng)所接收到的軟件升級(jí)程序完整時(shí),執(zhí)行步驟s230;否則無操作。
如果預(yù)設(shè)控制器所接收到的軟件升級(jí)程序不完整,則其向can總線所發(fā)送的軟件升級(jí)程序也不完整,目標(biāo)控制器執(zhí)行不完整的軟件升級(jí)程序?qū)o法使該目標(biāo)控制器的軟件正確升級(jí)。
s230:向can總線發(fā)送軟件升級(jí)通知。軟件升級(jí)通知用于通知控制器有軟件新版本可升級(jí)。預(yù)設(shè)控制器在向can總線發(fā)送軟件升級(jí)程序之前,先向can總線發(fā)送軟件升級(jí)通知,以確定當(dāng)前是否有目標(biāo)控制器可以進(jìn)行軟件升級(jí),在電池進(jìn)行充電或放電時(shí),目標(biāo)控制器通常不能夠進(jìn)行軟件升級(jí)。在目標(biāo)控制器不能夠進(jìn)行軟件升級(jí)的情況下,若接收該軟件升級(jí)程序,則會(huì)浪費(fèi)內(nèi)存。步驟s230可以防止can總線上沒有任何目標(biāo)控制器可以進(jìn)行軟件升級(jí)時(shí),預(yù)設(shè)控制器向can總線發(fā)送軟件升級(jí)程序所導(dǎo)致的浪費(fèi)內(nèi)存的問題。
s240:在接收到目標(biāo)控制器所返回的升級(jí)確認(rèn)信息后,向can總線發(fā)送軟件升級(jí)程序。升級(jí)確認(rèn)信息為目標(biāo)控制器在接收到軟件升級(jí)通知后所返回的應(yīng)答信息?!跋騝an總線發(fā)送軟件升級(jí)程序”的步驟與圖2所示的步驟s120類似,在此不再贅述。
需要補(bǔ)充說明的是,在步驟s220之后,當(dāng)所接收到的軟件升級(jí)程序完整時(shí),也可以直接執(zhí)行步驟s240中“向can總線發(fā)送軟件升級(jí)程序”的步驟。
s250:接收目標(biāo)控制器所發(fā)送的升級(jí)成功通知。升級(jí)成功通知用于確認(rèn)該目標(biāo)控制器已成功執(zhí)行軟件升級(jí)程序。
s260:將升級(jí)成功通知發(fā)送至服務(wù)器。
通過執(zhí)行軟件升級(jí)程序使軟件成功升級(jí)的控制器會(huì)向can總線發(fā)送升級(jí)成功通知,預(yù)設(shè)控制器接收該軟件升級(jí)通知,并將其發(fā)送至服務(wù)器,從而通過步驟s250和步驟s260便可以在服務(wù)器側(cè)獲知待升級(jí)的目標(biāo)控制器是否已完成軟件升級(jí)。
實(shí)施例三
圖4示出了根據(jù)本發(fā)明再一實(shí)施例的控制器的軟件升級(jí)方法的流程圖,由圖1所示的實(shí)施環(huán)境中的待升級(jí)的目標(biāo)控制器執(zhí)行,該目標(biāo)控制器連接在can總線上,例如圖1中所示的控制器b、c、d、e。該方法與實(shí)施例一所述的控制器的軟件升級(jí)方法相對(duì)應(yīng)。根據(jù)圖4所示,該控制器的軟件升級(jí)方法包括如下步驟:
s310:判斷電動(dòng)汽車的電池是否處于充電狀態(tài)或放電狀態(tài)。當(dāng)電動(dòng)汽車的電池既不處于充電狀態(tài)也不處于放電狀態(tài)時(shí),執(zhí)行步驟s320;否則無操作。
當(dāng)電動(dòng)汽車的電池處于充電或放電狀態(tài)時(shí),若對(duì)相關(guān)控制器的軟件進(jìn)行升級(jí)導(dǎo)致控制器當(dāng)前無法正常實(shí)現(xiàn)充電或放電功能,從而造成系統(tǒng)故障。
s320:從can總線接收軟件升級(jí)程序。軟件升級(jí)程序用于升級(jí)電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)待升級(jí)的目標(biāo)控制器的軟件,該目標(biāo)控制器連接在can總線上。
s330:執(zhí)行軟件升級(jí)程序。
上述控制器的軟件升級(jí)方法,待升級(jí)的目標(biāo)控制器先判斷電動(dòng)汽車的電池是否處于充電狀態(tài)或放電狀態(tài),當(dāng)既不處于充電狀態(tài)也不處于放電狀態(tài)時(shí),從can總線接收軟件升級(jí)程序,繼而執(zhí)行該軟件升級(jí)程序。通過上述控制器的軟件升級(jí)方法,服務(wù)器無需將軟件升級(jí)程序直接一一發(fā)送給各個(gè)目標(biāo)控制器,從而減少系統(tǒng)的成本以及系統(tǒng)維護(hù)的人力資源成本和時(shí)間成本。
實(shí)施例四
圖5示出了根據(jù)本發(fā)明再一實(shí)施例的控制器的軟件升級(jí)方法的流程圖,由圖1所示的實(shí)施環(huán)境中的待升級(jí)的目標(biāo)控制器執(zhí)行,該目標(biāo)控制器連接在can總線上,例如圖1中所示的控制器b、c、d、e。該方法與圖3所示的控制器的軟件升級(jí)方法相對(duì)應(yīng)。根據(jù)圖5所示,該控制器的軟件升級(jí)方法包括如下步驟:
s410:從can總線獲取軟件升級(jí)通知;所述軟件升級(jí)通知用于通知電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)待升級(jí)的目標(biāo)控制器有軟件新版本可升級(jí)。
s420:判斷電動(dòng)汽車的電池是否處于充電狀態(tài)或放電狀態(tài)。當(dāng)電動(dòng)汽車的電池既不處于充電狀態(tài)也不處于放電狀態(tài)時(shí),執(zhí)行步驟s430;否則無操作。
s430:向can總線發(fā)送升級(jí)確認(rèn)信息,升級(jí)確認(rèn)信息用于確認(rèn)發(fā)送該升級(jí)確認(rèn)信息的目標(biāo)控制器可以進(jìn)行軟件升級(jí)。升級(jí)確認(rèn)信息被連接在can總線上的預(yù)設(shè)節(jié)點(diǎn)控制器接收并返回軟件升級(jí)程序。
預(yù)設(shè)控制器在向can總線發(fā)送軟件升級(jí)程序之前,會(huì)先向can總線發(fā)送軟件升級(jí)通知,以確定當(dāng)前是否有目標(biāo)控制器可以進(jìn)行軟件升級(jí),在電池進(jìn)行充電或放電時(shí),目標(biāo)控制器通常不能夠進(jìn)行軟件升級(jí)。若接收到軟件升級(jí)通知的目標(biāo)控制器判斷自身既不處于充電狀態(tài)也不處于放電狀態(tài),則會(huì)向can總線發(fā)送升級(jí)確認(rèn)信息,以便預(yù)設(shè)控制器獲知該目標(biāo)控制器可以進(jìn)行軟件升級(jí)。
s440:從can總線接收軟件升級(jí)程序。軟件升級(jí)程序用于升級(jí)電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)待升級(jí)的目標(biāo)控制器的軟件,目標(biāo)控制器連接在can總線上。軟件升級(jí)程序攜帶有至少一個(gè)控制器標(biāo)識(shí),控制器標(biāo)識(shí)用于標(biāo)記軟件升級(jí)程序所對(duì)應(yīng)的目標(biāo)控制器。
s450:獲取軟件升級(jí)程序所攜帶的控制器標(biāo)識(shí)。
s460:判斷控制器標(biāo)識(shí)是否為自身所對(duì)應(yīng)的標(biāo)識(shí)。當(dāng)控制器標(biāo)識(shí)是自身所對(duì)應(yīng)的標(biāo)識(shí)時(shí),執(zhí)行步驟s470;否則無操作。
s470:執(zhí)行軟件升級(jí)程序。
s480:向can總線發(fā)送升級(jí)成功通知,以便預(yù)設(shè)控制器確認(rèn)該目標(biāo)控制器已完成軟件升級(jí)。
通過步驟s450、s460和s470,升級(jí)程序可以僅使其所對(duì)應(yīng)的目標(biāo)控制器的軟件得以升級(jí),不會(huì)使其他控制器的軟件被錯(cuò)誤升級(jí)。例如,軟件升級(jí)程序中攜帶有目標(biāo)控制器b和c的標(biāo)識(shí)符,則只有目標(biāo)控制器b和c才會(huì)執(zhí)行該軟件升級(jí)程序,其他控制器如d和e則不會(huì)執(zhí)行該軟件升級(jí)程序。
需要補(bǔ)充說明的是,步驟s440可以是接收該軟件升級(jí)程序的全部內(nèi)容,也可以是先接收包括控制器標(biāo)識(shí)的部分內(nèi)容,而在步驟s460和步驟s470之間再接收該軟件升級(jí)程序的其他內(nèi)容或全部內(nèi)容。
實(shí)施例五
圖6示出了根據(jù)本發(fā)明再一實(shí)施例的控制器的軟件升級(jí)方法的流程圖,用于圖1所示的實(shí)施環(huán)境中的控制器。根據(jù)圖6所示,該控制器的軟件升級(jí)方法包括如下步驟:
s510:接收服務(wù)器所發(fā)送的軟件升級(jí)程序。該步驟請(qǐng)參閱步驟s210。
s520:判斷所接收到的軟件升級(jí)程序是否完整。當(dāng)所接收到的軟件升級(jí)程序完整時(shí),執(zhí)行步驟s530;否則無操作。該步驟請(qǐng)參閱步驟s220。
s530:向can總線發(fā)送軟件升級(jí)通知。該步驟請(qǐng)參閱步驟s230。
s540:從can總線獲取軟件升級(jí)通知。該步驟請(qǐng)參閱步驟s410。
s550:判斷電動(dòng)汽車的電池是否處于充電狀態(tài)或放電狀態(tài)。當(dāng)電動(dòng)汽車的電池既不處于充電狀態(tài)也不處于放電狀態(tài)時(shí),執(zhí)行步驟s560;否則無操作。該步驟請(qǐng)參閱步驟s420。
s560:向can總線發(fā)送升級(jí)確認(rèn)信息。該步驟請(qǐng)參閱步驟s430。
s570:在接收到目標(biāo)控制器所返回的升級(jí)確認(rèn)信息后,向can總線發(fā)送軟件升級(jí)程序。該步驟請(qǐng)參閱步驟s240。
s580:從can總線接收軟件升級(jí)程序。該步驟請(qǐng)參閱步驟s440。
s590:獲取軟件升級(jí)程序所攜帶的控制器標(biāo)識(shí)。該步驟請(qǐng)參閱步驟s450。
s5100:判斷控制器標(biāo)識(shí)是否為自身所對(duì)應(yīng)的標(biāo)識(shí)。當(dāng)控制器標(biāo)識(shí)是自身所對(duì)應(yīng)的標(biāo)識(shí)時(shí),執(zhí)行步驟s5110;否則無操作。該步驟請(qǐng)參閱步驟s460。
s5110:執(zhí)行軟件升級(jí)程序。該步驟請(qǐng)參閱步驟s470。
s5120:向can總線發(fā)送升級(jí)成功通知。該步驟請(qǐng)參閱步驟s480。
s5130:接收目標(biāo)控制器所發(fā)送的升級(jí)成功通知。該步驟請(qǐng)參閱步驟s250。
s5140:將升級(jí)成功通知發(fā)送至服務(wù)器。該步驟請(qǐng)參閱步驟s260。
需要補(bǔ)充說明的是,上述步驟s510、s520、s530、s570、s5130和s5140由圖1中所示的實(shí)施環(huán)境中的預(yù)設(shè)控制器執(zhí)行,該預(yù)設(shè)控制器與服務(wù)器通信連接,例如圖1中所示的控制器a;上述步驟s540、s550、s560、s580、s590、s5100、s5110和s5120由圖1中所示的實(shí)施環(huán)境中待升級(jí)的目標(biāo)控制器執(zhí)行,例如圖1中所示的控制器b、c、d或e。
此外,待升級(jí)的目標(biāo)控制(例如圖1中所示的控制器b、c、d或e)還可以向預(yù)設(shè)控制器(例如圖1中所示的控制器a)發(fā)送所采集到的信息(例如圖1中所示的控制器a);預(yù)設(shè)控制器接收到這些信息后,轉(zhuǎn)發(fā)至服務(wù)器,服務(wù)器對(duì)這些信息進(jìn)行顯示、存儲(chǔ)以及對(duì)比分析。
實(shí)施例六
圖7示出了根據(jù)本發(fā)明實(shí)施例的控制器的軟件升級(jí)裝置的原理框圖,該控制器的軟件升級(jí)裝置用于連接在can總線上的預(yù)設(shè)控制器,可用于執(zhí)行上述實(shí)施例一或二所述的控制器的軟件升級(jí)方法。其中,該預(yù)設(shè)控制器與服務(wù)器通信連接。根據(jù)圖7所示,該控制器的升級(jí)裝置包括第一接收單元10和第一發(fā)送單元20。
第一接收單元10,用于接收服務(wù)器所發(fā)送的軟件升級(jí)程序。軟件升級(jí)程序用于升級(jí)電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)待升級(jí)的目標(biāo)控制器的軟件,該目標(biāo)控制器連接在can總線上。
第一發(fā)送單元20,用于向can總線轉(zhuǎn)發(fā)軟件升級(jí)程序。軟件升級(jí)程序被連接在can總線上的目標(biāo)控制器接收并執(zhí)行以升級(jí)該目標(biāo)控制器的軟件。
可選地,軟件升級(jí)程序攜帶有至少一個(gè)控制器標(biāo)識(shí),控制器標(biāo)識(shí)用于標(biāo)記軟件升級(jí)程序所對(duì)應(yīng)的目標(biāo)控制器。
作為本實(shí)施例的一種可選實(shí)施方式,該控制器的升級(jí)裝置還包括第二接收單元30和第二發(fā)送單元40。
第二接收單元30,用于接收目標(biāo)控制器所發(fā)送的升級(jí)成功通知。升級(jí)成功通知用于確認(rèn)目標(biāo)控制器已成功執(zhí)行軟件升級(jí)程序。
第二發(fā)送單元40,用于將升級(jí)成功通知發(fā)送至服務(wù)器。
上述控制器的軟件升級(jí)裝置,由can總線上的預(yù)設(shè)控制器先接收服務(wù)器所發(fā)送的軟件升級(jí)程序,然后向can總線轉(zhuǎn)發(fā)該軟件升級(jí)程序,從而連接在can總線上的目標(biāo)控制器可以從can總線獲取軟件升級(jí)程序以升級(jí)自身軟件。通過上述控制器的軟件升級(jí)方法,服務(wù)器無需將軟件升級(jí)程序直接一一發(fā)送給各個(gè)目標(biāo)控制器,從而減少系統(tǒng)的成本以及系統(tǒng)維護(hù)的人力資源成本和時(shí)間成本。
實(shí)施例七
圖8示出了根據(jù)本發(fā)明又一實(shí)施例的控制器的軟件升級(jí)裝置的原理框圖,該控制器的軟件升級(jí)裝置用于待升級(jí)的目標(biāo)控制器,可用于執(zhí)行實(shí)施例三或四所述的控制器的軟件升級(jí)方法。其中,該目標(biāo)控制器連接在can總線上,例如圖1中所示的控制器b、c、d、e。根據(jù)圖8所示,該控制器的軟件升級(jí)裝置,包括:
第一判斷單元50,用于判斷電動(dòng)汽車的電池是否處于充電狀態(tài)或放電狀態(tài)。
第三接收單元60,用于當(dāng)電動(dòng)汽車的電池既不處于充電狀態(tài)也不處于放電狀態(tài)時(shí),從can總線接收軟件升級(jí)程序。軟件升級(jí)程序用于升級(jí)電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)待升級(jí)的目標(biāo)控制器的軟件,該目標(biāo)控制器連接在can總線上。
執(zhí)行單元70,用于執(zhí)行軟件升級(jí)程序。
作為本實(shí)施例的一種可選實(shí)施方式,軟件升級(jí)程序攜帶有至少一個(gè)控制器標(biāo)識(shí),控制器標(biāo)識(shí)用于標(biāo)記軟件升級(jí)程序所對(duì)應(yīng)的目標(biāo)控制器。該控制器的軟件升級(jí)裝置還包括獲取單元80和第二判斷單元90。
獲取單元80,用于獲取軟件升級(jí)程序所攜帶的控制器標(biāo)識(shí)。
第二判斷單元90,用于判斷控制器標(biāo)識(shí)是否為自身所對(duì)應(yīng)的標(biāo)識(shí)。
當(dāng)控制器標(biāo)識(shí)是自身所對(duì)應(yīng)的標(biāo)識(shí)時(shí),執(zhí)行單元執(zhí)行軟件升級(jí)程序。
上述控制器的軟件升級(jí)裝置,目標(biāo)控制器先判斷電動(dòng)汽車的電池是否處于充電狀態(tài)或放電狀態(tài),當(dāng)既不處于充電狀態(tài)也不處于放電狀態(tài)時(shí),從can總線接收并執(zhí)行該軟件升級(jí)程序。通過上述控制器的軟件升級(jí)方法,服務(wù)器無需將軟件升級(jí)程序直接一一發(fā)送給各個(gè)目標(biāo)控制器,從而減少系統(tǒng)的成本以及系統(tǒng)維護(hù)的人力資源成本和時(shí)間成本。
實(shí)施例八
圖9示出了根據(jù)本發(fā)明實(shí)施例的控制器的軟件升級(jí)系統(tǒng)的示意圖,該系統(tǒng)包括:目標(biāo)控制器、服務(wù)器和預(yù)設(shè)控制器;其中,
預(yù)設(shè)控制器與服務(wù)器通信連接,并連接在can總線上;目標(biāo)控制器也連接在can總線上。
預(yù)設(shè)控制器用于接收服務(wù)器所發(fā)送的軟件升級(jí)程序,并向can總線轉(zhuǎn)發(fā)軟件升級(jí)程序。軟件升級(jí)程序用于升級(jí)電動(dòng)汽車的電池管理系統(tǒng)中至少一個(gè)待升級(jí)的目標(biāo)控制器的軟件。
軟件升級(jí)程序被連接在can總線上的目標(biāo)控制器接收并執(zhí)行以升級(jí)目標(biāo)控制器的軟件。
當(dāng)預(yù)設(shè)控制器執(zhí)行實(shí)施例一所述的控制器的軟件升級(jí)方法時(shí),目標(biāo)控制器執(zhí)行實(shí)施例三所述的控制器的軟件升級(jí)方法;當(dāng)預(yù)設(shè)控制器執(zhí)行實(shí)施例二所述的控制器的軟件升級(jí)方法時(shí),目標(biāo)控制器執(zhí)行實(shí)施例四所述的控制器的軟件升級(jí)方法
雖然結(jié)合附圖描述了本發(fā)明的實(shí)施例,但是本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下作出各種修改和變型,這樣的修改和變型均落入由所附權(quán)利要求所限定的范圍之內(nèi)。