欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

多控制器的軟件升級及地址沖突檢測方法、裝置與流程

文檔序號:11729184閱讀:291來源:國知局
多控制器的軟件升級及地址沖突檢測方法、裝置與流程

本發(fā)明涉及軟件技術(shù)領(lǐng)域,具體涉及一種多控制器的軟件升級及地址沖突檢測方法、裝置。



背景技術(shù):

在對具有多控制器的產(chǎn)品進(jìn)行研發(fā)及售后維護(hù)時,需要對多個控制器的軟件進(jìn)行升級。例如,電動汽車的核心部件之一的bms(batterymanagementsystem,電池管理系統(tǒng))內(nèi)部包括多個ecu((electroniccontrolunit,電子控制單元),各ecu之間通過can(controllerareanetwork,控制器局域網(wǎng)總線)網(wǎng)絡(luò)連接。在對bms內(nèi)部各ecu研發(fā)時以及在電動汽車售出后會對ecu內(nèi)部軟件進(jìn)行升級優(yōu)化。

現(xiàn)有對于多控制器進(jìn)行升級的方法通常為:開發(fā)或維護(hù)人員依次將存儲有升級程序的pc機(jī)與各個控制器建立通信連接,對多個控制器逐個進(jìn)行升級。例如,對于bms內(nèi)部通過can網(wǎng)絡(luò)連接的多個ecu,pc機(jī)首先與第一ecu建立通信連接,向第一ecu發(fā)送升級程序使其開始升級;待第一ecu升級完畢后,pc機(jī)再與第二ecu建立通信連接,向第二ecu發(fā)送升級程序使其開始升級;待第二ecu升級完畢后,pc機(jī)再與第三ecu建立通信連接,向第三ecu發(fā)送升級程序使其開始升級……直至所有ecu均升級完畢。

發(fā)明人發(fā)現(xiàn),若pc與錯誤的控制器建立通信連接,或者pc機(jī)將錯誤的升級程序發(fā)送給控制器,則會由于控制器升級出錯使得多個控制器中有兩個以上的控制器地址沖突,現(xiàn)有技術(shù)無法自動解決由于升級出錯所導(dǎo)致的地址沖突問題,確保多個控制器均得以正確升級。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例提供了一種多控制器的軟件升級及地址沖突檢測方法、裝置,以解決現(xiàn)有技術(shù)中沒有對程序升級后的控制器的地址沖突檢測的方法導(dǎo)致在地址沖突的情況下無法自動對誤升級的控制器進(jìn)行重新升級的問題。

根據(jù)第一方面,本發(fā)明實(shí)施例提供了一種多控制器升級后的地址沖突檢測方法,適用于上位機(jī),該方法包括:接收第一目標(biāo)控制器執(zhí)行升級程序之后所發(fā)送的升級確認(rèn)信息;所述升級程序?yàn)轭A(yù)先發(fā)送給多個第一目標(biāo)控制器的,每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,所述升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址;所述升級確認(rèn)信息包括發(fā)送所述升級確認(rèn)信息的控制器在執(zhí)行升級程序之后的地址;根據(jù)預(yù)先存儲的多個第一目標(biāo)控制器升級前的地址,判斷是否存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器;當(dāng)存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器時,確定多個第一目標(biāo)控制器執(zhí)行升級程序之后存在地址沖突。

根據(jù)第二方面,本發(fā)明實(shí)施例提供了一種多控制器的軟件升級方法,適用于上位機(jī),該方法包括:根據(jù)多個第一目標(biāo)控制器的地址,向所述多個第一目標(biāo)控制器分別發(fā)送升級程序;每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,所述升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址;第一方面所述的多控制器升級后的地址沖突檢測方法檢測升級后的多個第一目標(biāo)控制器是否存在地址沖突;當(dāng)升級后的多個第一目標(biāo)控制器存在地址沖突時,向多個第一目標(biāo)控制器發(fā)送地址沖突處理命令和沖突控制器升級前的地址;所述沖突控制器為所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器;所述地址沖突處理命令用于控制每個所述第一目標(biāo)控制器將其自身升級前的地址與所述沖突控制器升級前的地址進(jìn)行比對,并控制升級前的地址與所述沖突控制器升級前的地址一致的第一目標(biāo)控制將自身的地址修改為所述沖突控制器升級前的地址;根據(jù)所述沖突控制器升級前的地址,向其對應(yīng)的第一目標(biāo)控制器重新發(fā)送對應(yīng)的升級程序。

可選地,所述根據(jù)多個第一目標(biāo)控制器的地址,向所述多個第一目標(biāo)控制器分別發(fā)送升級程序的步驟之前,還包括:根據(jù)多個第二目標(biāo)控制器的地址,向多個第二目標(biāo)控制器發(fā)送升級通知;所述升級通知中攜帶有需要進(jìn)行軟件升級的控制器的地址;接收第二目標(biāo)控制器返回的應(yīng)答信息,并將返回所述應(yīng)答信息的第二目標(biāo)控制器確定為第一目標(biāo)控制器;所述應(yīng)答信息用于告知上位機(jī)發(fā)送所述應(yīng)答信息的控制器可以開始升級,其中攜帶有發(fā)送所述應(yīng)答信息的控制器的地址。

根據(jù)第三方面,本發(fā)明實(shí)施例提供了一種多控制器的軟件升級方法,適用于控制器,該方法包括:接收上位機(jī)所發(fā)送的升級程序;所述升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,所述升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址;執(zhí)行所述升級程序,將自身的軟件升級為新的版本,并將自身的地址修改為所述升級程序中所攜帶的第一目標(biāo)控制器的地址;向所述上位機(jī)發(fā)送升級確認(rèn)信息,所述升級確認(rèn)信息用于所述上位機(jī)通過第一方面所述的多控制器升級后的地址沖突檢測方法檢測升級后的多個第一目標(biāo)控制器是否存在地址沖突;接收所述上位機(jī)在檢測到升級后的多個第一目標(biāo)控制器存在地址沖突后所發(fā)送的地址沖突處理命令和沖突控制器升級前的地址;所述沖突控制器為所對應(yīng)的升級確認(rèn)信息未被所述上位機(jī)接收到的第一目標(biāo)控制器;判斷自身升級前的地址與所述沖突控制器升級前的地址是否一致;當(dāng)自身升級前的地址與所述沖突控制器升級前的地址一致時,將自身的地址修改為所述沖突控制器升級前的地址。

可選地,所述接收所述上位機(jī)所發(fā)送的升級程序的步驟之前,還包括:接收所述上位機(jī)所發(fā)送的升級通知;所述升級通知中攜帶有需要進(jìn)行軟件升級的控制器的地址;判斷所述需要進(jìn)行升級的控制器的地址是否包括自身的地址;當(dāng)所述需要進(jìn)行升級的控制器的地址包括自身的地址時,向所述上位機(jī)發(fā)送應(yīng)答信息;所述應(yīng)答信息用于告知所述上位機(jī)自身可以開始升級,其中攜帶有自身的地址。

根據(jù)第四方面,本發(fā)明實(shí)施例提供了一種多控制器升級后的地址沖突檢測裝置,適用于上位機(jī),該裝置包括:第一接收單元,用于接收第一目標(biāo)控制器執(zhí)行升級程序之后所發(fā)送的升級確認(rèn)信息;所述升級程序?yàn)轭A(yù)先發(fā)送給多個第一目標(biāo)控制器的,每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,所述升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址;所述升級確認(rèn)信息包括發(fā)送所述升級確認(rèn)信息的控制器在執(zhí)行升級程序之后的地址;第一判斷單元,用于根據(jù)預(yù)先存儲的多個第一目標(biāo)控制器升級前的地址,判斷是否存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器;確定單元,用于當(dāng)存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器時,確定多個第一目標(biāo)控制器執(zhí)行升級程序之后存在地址沖突。

根據(jù)第五方面,本發(fā)明實(shí)施例提供了一種多控制器的軟件升級裝置,適用于上位機(jī),該裝置包括:第一發(fā)送單元,用于根據(jù)多個第一目標(biāo)控制器的地址,向所述多個第一目標(biāo)控制器分別發(fā)送升級程序;每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,所述升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址;第四方面所述的多控制器升級后的地址沖突檢測裝置中的所述第一接收單元、所述第一判斷單元、所述確定單元;第二發(fā)送單元,用于當(dāng)升級后的多個第一目標(biāo)控制器存在地址沖突時,向多個第一目標(biāo)控制器發(fā)送地址沖突處理命令和沖突控制器升級前的地址;所述沖突控制器為所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器;所述地址沖突處理命令用于控制每個所述第一目標(biāo)控制器將其自身升級前的地址與所述沖突控制器升級前的地址進(jìn)行比對,并控制升級前的地址與所述沖突控制器升級前的地址一致的第一目標(biāo)控制將自身的地址修改為所述沖突控制器升級前的地址;第三發(fā)送單元,用于根據(jù)所述沖突控制器升級前的地址,向其對應(yīng)的第一目標(biāo)控制器重新發(fā)送對應(yīng)的升級程序。

可選地,該裝置還包括:第四發(fā)送單元,用于根據(jù)多個第二目標(biāo)控制器的地址,向多個第二目標(biāo)控制器發(fā)送升級通知;所述升級通知中攜帶有需要進(jìn)行軟件升級的控制器的地址;第二接收單元,用于接收第二目標(biāo)控制器返回的應(yīng)答信息,并將返回所述應(yīng)答信息的第二目標(biāo)控制器確定為第一目標(biāo)控制器;所述應(yīng)答信息用于告知上位機(jī)發(fā)送所述應(yīng)答信息的控制器可以開始升級,其中攜帶有發(fā)送所述應(yīng)答信息的控制器的地址。

根據(jù)第六方面,本發(fā)明實(shí)施例提供了一種多控制器的軟件升級裝置,適用于控制器,該裝置包括:第三接收單元,用于接收上位機(jī)所發(fā)送的升級程序;所述升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,所述升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址;執(zhí)行單元,用于執(zhí)行所述升級程序,將自身的軟件升級為新的版本,并將自身的地址修改為所述升級程序中所攜帶的第一目標(biāo)控制器的地址;第五發(fā)送單元,用于向所述上位機(jī)發(fā)送升級確認(rèn)信息,所述升級確認(rèn)信息用于所述上位機(jī)通過第四方面所述的多控制器升級后的地址沖突檢測裝置檢測升級后的多個第一目標(biāo)控制器是否存在地址沖突;第四接收單元,用于接收所述上位機(jī)在檢測到升級后的多個第一目標(biāo)控制器存在地址沖突后所發(fā)送的地址沖突處理命令和沖突控制器升級前的地址;所述沖突控制器為所對應(yīng)的升級確認(rèn)信息未被所述上位機(jī)接收到的第一目標(biāo)控制器;第二判斷單元,用于判斷自身升級前的地址與所述沖突控制器升級前的地址是否一致;修改單元,用于當(dāng)自身升級前的地址與所述沖突控制器升級前的地址一致時,將自身的地址修改為所述沖突控制器升級前的地址。

可選地,該裝置還包括:第五接收單元,用于接收所述上位機(jī)所發(fā)送的升級通知;所述升級通知中攜帶有需要進(jìn)行軟件升級的控制器的地址;第三判斷單元,用于判斷所述需要進(jìn)行升級的控制器的地址是否包括自身的地址;當(dāng)所述需要進(jìn)行升級的控制器的地址包括自身的地址時,執(zhí)行所述接收所述上位機(jī)所發(fā)送的升級程序的步驟。

上述多控制器升級后的地址沖突檢測方法及裝置,預(yù)先給控制器發(fā)送的每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為升級程序所攜帶的第一目標(biāo)控制器的地址;控制器執(zhí)行升級程序后,會向上位機(jī)發(fā)送升級確認(rèn)信息,該升級確認(rèn)信息包括發(fā)送該升級確認(rèn)信息的控制器在執(zhí)行升級程序之前的地址;上位機(jī)接收該升級確認(rèn)信息后,根據(jù)預(yù)先存儲的多個第一目標(biāo)控制器升級前的地址,判斷是否存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器,當(dāng)存在時,便可以確定多個第一目標(biāo)控制器執(zhí)行升級程序之后存在地址沖突。通過本實(shí)施例,在向多個控制器發(fā)送升級程序使其軟件升級為新版本后,能夠自動檢測這多個控制器升級之后是否存在地址沖突。

上述多控制器的軟件升級方法及裝置,上位機(jī)向多個第一目標(biāo)控制器分別發(fā)送升級程序,每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址;控制器接收上位機(jī)所發(fā)送的升級程序,執(zhí)行升級程序,將自身的軟件升級為新的版本,并將自身的地址修改為升級程序中所攜帶的第一目標(biāo)控制器的地址;然后控制器向上位機(jī)發(fā)送升級確認(rèn)信息,該升級確認(rèn)信息中攜帶有升級后的地址;然后上位機(jī)通過上述地址沖突檢測方法根據(jù)控制器所發(fā)送的升級確認(rèn)信息檢測升級后的多個第一目標(biāo)控制器是否存在地址沖突;當(dāng)存在地址沖突時,上位機(jī)向多個第一目標(biāo)控制器發(fā)送地址沖突處理命令和沖突控制器升級前的地址;控制器接收該地址沖突處理命令和沖突控制器升級前的地址,判斷自身升級前的地址與沖突控制器升級前的地址是否一致,當(dāng)一致時將自身的地址修改為沖突控制器升級前的地址;上位機(jī)再根據(jù)沖突控制器升級前的地址,向其對應(yīng)的第一目標(biāo)控制器重新發(fā)送對應(yīng)的升級程序。通過本實(shí)施例,上位機(jī)可以控制多控制器進(jìn)行升級,檢測并記錄升級錯誤的控制器的地址,再對升級錯誤的控制器重新升級。

附圖說明

通過參考附圖會更加清楚的理解本發(fā)明的特征和優(yōu)點(diǎn),附圖是示意性的而不應(yīng)理解為對本發(fā)明進(jìn)行任何限制,在附圖中:

圖1示出了根據(jù)本發(fā)明實(shí)施例的多控制器升級后的地址沖突檢測方法的流程圖;

圖2示出了根據(jù)本發(fā)明實(shí)施例的多控制器的軟件升級方法的流程圖;

圖3示出了上位機(jī)向控制器發(fā)送升級程序的示意圖;

圖4示出了控制器向上位機(jī)發(fā)送升級確認(rèn)信息的示意圖;

圖5示出了根據(jù)本發(fā)明另一實(shí)施例的多控制器的軟件升級方法的流程圖;

圖6示出了根據(jù)本發(fā)明再一實(shí)施例的多控制器的軟件升級方法的流程圖;

圖7示出了根據(jù)本發(fā)明實(shí)施例的多控制器升級后的地址沖突檢測裝置的示意圖;

圖8示出了根據(jù)本發(fā)明實(shí)施例的多控制器的軟件升級裝置的示意圖;

圖9示出了根據(jù)本發(fā)明另一實(shí)施例的多控制器的軟件升級裝置的示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

實(shí)施例一

本實(shí)施例提供了一種多控制器升級后的地址沖突檢測方法,適用于與多個控制器通信連接的上位機(jī),該上位機(jī)包括計算機(jī)、服務(wù)器或者移動終端。如圖1所示,該方法包括下列步驟:

s101:接收第一目標(biāo)控制器執(zhí)行升級程序之后所發(fā)送的升級確認(rèn)信息。

此處升級程序?yàn)樯衔粰C(jī)預(yù)先發(fā)送給多個第一目標(biāo)控制器的,每個升級程序中包括第一目標(biāo)控制器所需升級為的軟件新版本(或者該第一目標(biāo)控制器已有軟件的補(bǔ)丁程序),并攜帶有該升級程序所對應(yīng)的該第一目標(biāo)控制器的地址。升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址。升級確認(rèn)信息包括發(fā)送升級確認(rèn)信息的控制器在執(zhí)行升級程序之后的地址。

例如,上位機(jī)向控制器a(其地址為0001)發(fā)送升級程序,該升級程序中攜帶有控制器a的地址0001??刂破鱝執(zhí)行該升級程序后將其地址修改為升級程序中所攜帶的控制器a的地址,即將地址從0001修改為0001。當(dāng)控制器a的升級程序沒有出錯時,控制器a升級前與升級后的地址是一致的。

這種機(jī)制下,當(dāng)控制器a采用錯誤的升級程序升級時,會使得控制器a的地址被修改為0001之外的地址,如0002。

s102:根據(jù)預(yù)先存儲的多個第一目標(biāo)控制器升級前的地址,判斷是否存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器。

沿用上例,上位機(jī)分別向控制器a(地址為0001)、b(地址為0002)、c(地址為0003)、d(地址為0004)發(fā)送升級程序。

若控制器a、b、c均采用了正確的升級程序,從而向上位機(jī)所發(fā)送的升級確認(rèn)信息中所包括的是其原先的地址,即分別為0001、0002、0003。此外,控制器d采用了錯誤的升級程序,如采用了控制器a的升級程序升級,從而控制器d的地址就從0004修改為了0001,從而控制器d向上位機(jī)所發(fā)送的升級程序中所包括的是地址0001。

由此,上位機(jī)所接收到的來自控制器a、b、c、d的升級確認(rèn)信息中所包括的地址分別為0001、0002、0003、0001,即控制器a、b、c所對應(yīng)的升級確認(rèn)信息均被接收到,而控制器d所對應(yīng)的升級確認(rèn)信息(即包括了控制器d升級前的地址0004的升級確認(rèn)信息)未被接收到。

s103:當(dāng)存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器時,確定多個第一目標(biāo)控制器執(zhí)行升級程序之后存在地址沖突。

沿用上例,根據(jù)控制器d所對應(yīng)的升級確認(rèn)信息未被接收到便可以確定控制器a、b、c、d執(zhí)行升級程序后存在了地址沖突。

需要補(bǔ)充說明的是,控制器所對應(yīng)的升級確認(rèn)信息是指:升級信息中所包括的地址與控制器的地址相同。沿用上例,包括地址0001的升級確認(rèn)信息對應(yīng)于控制器a,包括地址0004的升級確認(rèn)信息對應(yīng)于控制器d。

上述多控制器升級后的地址沖突檢測方法,預(yù)先給控制器發(fā)送的每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為升級程序所攜帶的第一目標(biāo)控制器的地址;控制器執(zhí)行升級程序后,會向上位機(jī)發(fā)送升級確認(rèn)信息,該升級確認(rèn)信息包括發(fā)送該升級確認(rèn)信息的控制器在執(zhí)行升級程序之前的地址;上位機(jī)接收該升級確認(rèn)信息后,根據(jù)預(yù)先存儲的多個第一目標(biāo)控制器升級前的地址,判斷是否存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器,當(dāng)存在時,便可以確定多個第一目標(biāo)控制器執(zhí)行升級程序之后存在地址沖突。通過本實(shí)施例,在向多個控制器發(fā)送升級程序使其軟件升級為新版本后,能夠自動檢測這多個控制器升級之后是否存在地址沖突。

實(shí)施例二

本實(shí)施例提供了一種多控制器的軟件升級方法,適用于與多個控制器通信連接的上位機(jī),該上位機(jī)計算機(jī)、服務(wù)器或者移動終端。如圖2所示,該方法包括下列步驟:

s201:根據(jù)多個第一目標(biāo)控制器的地址,向多個第一目標(biāo)控制器分別發(fā)送升級程序。每個升級程序中包括第一目標(biāo)控制器所需升級為的軟件新版本(或者該第一目標(biāo)控制器已有軟件的補(bǔ)丁程序),并攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址。

如圖3所示,上位機(jī)有升級程序a、b、c、d分別對應(yīng)控制器a(其地址為0001)、b(其地址為0002)、c(其地址為0003)、d(其地址為0004)。每個升級程序中包括第一目標(biāo)控制器所需升級為的軟件新版本(或者該第一目標(biāo)控制器已有軟件的補(bǔ)丁程序),并攜帶有該升級程序所對應(yīng)的該第一目標(biāo)控制器的地址,即:升級程序a中攜帶有控制器a的地址,升級程序b中攜帶有控制器b的地址,升級程序c中攜帶有控制器c的地址,升級程序d中攜帶有控制器d的地址。升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址。升級確認(rèn)信息包括發(fā)送升級確認(rèn)信息的控制器在執(zhí)行升級程序之后的地址。

上位機(jī)確定控制器a、b、c、d為第一目標(biāo)控制器后,將每個升級程序分別發(fā)送給對應(yīng)的控制器。

每個控制器接收到升級程序后,執(zhí)行該升級程序,以將自身的軟件升級為新的版本,同時會將自身的地址修改為其所執(zhí)行升級程序所攜帶的第一目標(biāo)控制器地址。沿用上例,控制器a接收到升級程序a之后,將其自身地址修改為升級程序a所攜帶的地址,即修改為0001。若控制器所執(zhí)行的升級程序出錯,如控制器d執(zhí)行了升級程序a,則控制器d會將自身地址修改為0001。

控制器執(zhí)行升級之后,會向上位機(jī)發(fā)送升級確認(rèn)信息,該升級確認(rèn)信息中包括控制器執(zhí)行升級程序之后的地址。沿用上例,如圖4所示,控制器a所發(fā)送的升級確認(rèn)信息包括地址0001,控制器b所發(fā)送的升級確認(rèn)信息包括地址0002,控制器c所發(fā)送的升級確認(rèn)信息包括地址0003,控制器d所發(fā)送的升級確認(rèn)信息包括地址0001。

需要補(bǔ)充說明的是,所發(fā)送的升級程序可以是不相同的,每個升級程序?qū)?yīng)一個第一目標(biāo)控制器,在向控制器發(fā)送升級程序前,預(yù)先建立各個控制器與升級程序之間的對應(yīng)關(guān)系;或者,也可以有升級程序?qū)?yīng)多個第一目標(biāo)控制器,沿用上例,升級程序a可以同時對應(yīng)控制器a和b,在向控制器a和b發(fā)送升級程序a之前,預(yù)先建立升級程序a與控制器a和控制器b的對應(yīng)關(guān)系,在發(fā)送前先獲取與控制器a所對應(yīng)的升級程序a的副本a1(攜帶有地址0001)、與控制器b所對應(yīng)的升級程序a的副本a2(攜帶有地址0002),然后將升級程序a的副本a1、a2分別發(fā)送給控制器a和控制器b。

s202:采用圖1所示的多控制器升級后的地址沖突檢測方法檢測升級后的多個第一目標(biāo)控制器是否存在地址沖突。

步驟s202請參照實(shí)施例一,在此不再贅述。

s203:當(dāng)升級后的多個第一目標(biāo)控制器存在地址沖突時,向多個第一目標(biāo)控制器發(fā)送地址沖突處理命令和沖突控制器升級前的地址。

沖突控制器為所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器。沿用上例,通過上述步驟s202,可以確定控制器d所對應(yīng)的升級確認(rèn)信息未被接收到,則控制器d為沖突控制器。

地址沖突處理命令用于控制每個第一目標(biāo)控制器將其自身升級前的地址與沖突控制器升級前的地址進(jìn)行比對,并控制升級前的地址與沖突控制器升級前的地址一致的第一目標(biāo)控制將自身的地址修改為沖突控制器升級前的地址。沿用上例,通過上述確定沖突控制器的地址為0004,當(dāng)控制器a接收到該地址時,將其與自身執(zhí)行升級程序之前的地址0001進(jìn)行比對,二者不一致,則不進(jìn)行任何處理;當(dāng)控制器d接收到該地址時,將其與自身執(zhí)行升級程序之前的地址0004進(jìn)行比對,二者一致,則將自身的地址修改為該地址,即控制器d(執(zhí)行升級程序后的地址為0001)將其地址修改為0004。

s204:根據(jù)沖突控制器升級前的地址,向其對應(yīng)的第一目標(biāo)控制器重新發(fā)送對應(yīng)的升級程序。

通過步驟s203可以記錄下升級錯誤的控制器的地址,并將升級錯誤的控制器的地址恢復(fù)為其執(zhí)行錯誤升級程序之前的地址,從而根據(jù)記錄下的升級錯誤的控制器的地址,使升級錯誤的控制器重新升級。

沿用上例,根據(jù)沖突控制器的地址0004,向地址為0004的控制器(即控制器d)發(fā)送對應(yīng)的升級程序。

上述多控制器的軟件升級方法,先向多個第一目標(biāo)控制器分別發(fā)送升級程序,每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址;然后通過實(shí)施例一所述的地址沖突檢測方法檢測升級后的多個第一目標(biāo)控制器是否存在地址沖突;當(dāng)存在地址沖突時,向多個第一目標(biāo)控制器發(fā)送地址沖突處理命令和沖突控制器升級前的地址;再根據(jù)沖突控制器升級前的地址,向其對應(yīng)的第一目標(biāo)控制器重新發(fā)送對應(yīng)的升級程序。通過本實(shí)施例,可以控制多控制器進(jìn)行升級,檢測并記錄升級錯誤的控制器的地址,再對升級錯誤的控制器重新升級。

作為本實(shí)施例的一種可選實(shí)施方式,在步驟s201之前,還包括下列步驟s205和s206。

s205:根據(jù)多個第二目標(biāo)控制器的地址,向多個第二目標(biāo)控制器發(fā)送升級通知。升級通知中攜帶有需要進(jìn)行軟件升級的控制器的地址。

在發(fā)送升級程序之前,選擇好需要進(jìn)行軟件升級的控制器,如控制器a、b、c、d、e(其地址為0005)、f(其地址為0006)等六個控制器,向這些需要進(jìn)行軟件升級的控制器發(fā)送升級通知,即第二目標(biāo)控制器即為所選擇的需要進(jìn)行軟件升級的控制器。這六個控制器收到升級通知后,會返回應(yīng)答信息。

s206:接收第二目標(biāo)控制器返回的應(yīng)答信息,并將返回應(yīng)答信息的第二目標(biāo)控制器確定為第一目標(biāo)控制器。應(yīng)答信息用于告知上位機(jī)發(fā)送應(yīng)答信息的控制器可以開始升級,其中攜帶有發(fā)送應(yīng)答信息的控制器的地址。

沿用上例,控制器所返回的應(yīng)答信息中包括各自的地址。例如,接收到的控制器a、b、c、d所發(fā)送的應(yīng)答信息所包括的地址分別為0001、0002、0003、0004,則將這四個地址所對應(yīng)的控制器確定為第一目標(biāo)控制器。由此可以看出第一目標(biāo)控制器的數(shù)量小于或等于第二目標(biāo)控制器的數(shù)量。

上述步驟s205和s206,在向控制器發(fā)送升級程序前,首先選擇需要升級的控制器并向其發(fā)送升級通知,然后將返回應(yīng)答信息的控制器確定為第一目標(biāo)控制器,才會向第一目標(biāo)控制器發(fā)送升級程序,由此可以防止需要進(jìn)行軟件升級的控制器無法升級(如控制器斷電,或者電動汽車上的控制器正在控制電動汽車運(yùn)行、電動汽車上的控制器正在控制電池充電或放電等)時而導(dǎo)致后續(xù)接收不到其所發(fā)送的升級確認(rèn)信息,進(jìn)而導(dǎo)致沖突控制器的判斷出錯。

實(shí)施例三

本實(shí)施例提供了一種多控制器的軟件升級方法,適用于與上位機(jī)通信連接的控制器,該控制器包括嵌入式處理器,或者計算機(jī)、服務(wù)器、移動終端等電子設(shè)備內(nèi)的處理器或控制器。如圖5所示,該方法包括下列步驟:

s301:接收上位機(jī)所發(fā)送的升級程序。升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址。

如圖3所示,上位機(jī)有升級程序a、b、c、d分別對應(yīng)控制器a(其地址為0001)、b(其地址為0002)、c(其地址為0003)、d(其地址為0004)。每個升級程序中包括第一目標(biāo)控制器所需升級為的軟件新版本(或者該第一目標(biāo)控制器已有軟件的補(bǔ)丁程序),并攜帶有該升級程序所對應(yīng)的該第一目標(biāo)控制器的地址,即:升級程序a中攜帶有控制器a的地址,升級程序b中攜帶有控制器b的地址,升級程序c中攜帶有控制器c的地址,升級程序d中攜帶有控制器d的地址。升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址。

s302:執(zhí)行升級程序,將自身的軟件升級為新的版本,并將自身的地址修改為升級程序中所攜帶的第一目標(biāo)控制器的地址。

沿用上例,控制器a接收到升級程序a之后,將其自身地址修改為升級程序a所攜帶的地址,即修改為0001。若控制器所執(zhí)行的升級程序出錯,如控制器d執(zhí)行了升級程序a,則控制器d會將自身地址修改為0001。

s303:向上位機(jī)發(fā)送升級確認(rèn)信息。

升級確認(rèn)信息用于上位機(jī)通過圖1所示的多控制器升級后的地址沖突檢測方法檢測升級后的多個第一目標(biāo)控制器是否存在地址沖突。

沿用上例,如圖4所示,控制器a所發(fā)送的升級確認(rèn)信息包括地址0001,控制器b所發(fā)送的升級確認(rèn)信息包括地址0002,控制器c所發(fā)送的升級確認(rèn)信息包括地址0003,控制器d所發(fā)送的升級確認(rèn)信息包括地址0001。

s304:接收上位機(jī)在檢測到升級后的多個第一目標(biāo)控制器存在地址沖突后所發(fā)送的地址沖突處理命令和沖突控制器升級前的地址。沖突控制器為所對應(yīng)的升級確認(rèn)信息未被上位機(jī)接收到的第一目標(biāo)控制器。

沿用上例,上位機(jī)可以根據(jù)實(shí)施例一所述的方法確定控制器d所對應(yīng)的升級確認(rèn)信息未被接收到,則控制器d為沖突控制器。上位機(jī)會將發(fā)送地址沖突處理命令和沖突控制器(即控制器d)升級前的地址(即0004)。

s305:判斷自身升級前的地址與沖突控制器升級前的地址是否一致。當(dāng)自身升級前的地址與沖突控制器升級前的地址一致時,執(zhí)行步驟s306;否則無操作。

s306:將自身的地址修改為沖突控制器升級前的地址。

若為控制器a,則接收到地址0004時會判斷其與自身執(zhí)行升級程序之前的地址0001是否一致,二者不一致,則不進(jìn)行任何處理;若為控制器d,則接收到地址0004時會判斷其與自身執(zhí)行升級程序之前的地址0004是否一致,二者一致,則控制器d(執(zhí)行升級程序后的地址為0001)將其地址修改為0004。

上述多控制器的軟件升級方法,首先接收上位機(jī)所發(fā)送的升級程序;然后執(zhí)行升級程序,將自身的軟件升級為新的版本,并將自身的地址修改為升級程序中所攜帶的第一目標(biāo)控制器的地址;然后向上位機(jī)發(fā)送升級確認(rèn)信息,該升級確認(rèn)信息中攜帶有升級后的地址;再接收上位機(jī)檢測到升級后的多個第一目標(biāo)控制器存在地址沖突后所發(fā)送的地址沖突處理命令和沖突控制器升級前的地址,判斷自身升級前的地址與沖突控制器升級前的地址是否一致,當(dāng)一致時將自身的地址修改為沖突控制器升級前的地址。通過本實(shí)施例,上位機(jī)可以控制多控制器進(jìn)行升級,檢測并記錄升級錯誤的控制器的地址,再對升級錯誤的控制器重新升級。

作為本實(shí)施的一種可選實(shí)施方式,在步驟s301之前,還包括下列步驟s307、s308和s309。

s307:接收上位機(jī)所發(fā)送的升級通知。升級通知中攜帶有需要進(jìn)行軟件升級的控制器的地址。

上位機(jī)在發(fā)送升級程序之前,先選擇需要進(jìn)行軟件升級的控制器,如控制器a、b、c、d、e(其地址為0005)、f(其地址為0006)等六個控制器,上位機(jī)向這些需要進(jìn)行軟件升級的控制器發(fā)送升級通知,即第二目標(biāo)控制器即為所選擇的需要進(jìn)行軟件升級的控制器。這六個控制器會接收升級通知。

s308:判斷需要進(jìn)行升級的控制器的地址是否包括自身的地址。當(dāng)需要進(jìn)行升級的控制器的地址包括自身的地址時,執(zhí)行步驟s309;否則無操作。

s309:向上位機(jī)發(fā)送應(yīng)答信息。該應(yīng)答信息用于告知上位機(jī)自身可以開始升級,其中攜帶有自身的地址。

沿用上例,控制器所返回的應(yīng)答信息中包括各自的地址。例如,控制器a、b、c、d向上位機(jī)所發(fā)送的應(yīng)答信息所包括的地址分別為0001、0002、0003、0004,則將這四個地址所對應(yīng)的控制器確定為第一目標(biāo)控制器。由此可以看出第一目標(biāo)控制器的數(shù)量小于或等于第二目標(biāo)控制器的數(shù)量。

上述步驟s307、s308和s309,在接收上位機(jī)所發(fā)送的升級程序前,首先接收上位機(jī)所發(fā)送的升級通知,判斷需要進(jìn)行升級的控制器的地址是否包括自身的地址,當(dāng)需要進(jìn)行升級的控制器的地址包括自身的地址時,向上位機(jī)發(fā)送應(yīng)答信息,以便上位機(jī)可以根據(jù)應(yīng)答信息可以確定第一目標(biāo)控制器,并向第一目標(biāo)控制器發(fā)送升級程序,由此可以防止需要進(jìn)行軟件升級的控制器無法升級(如控制器斷電,或者電動汽車上的控制器正在控制電動汽車運(yùn)行、電動汽車上的控制器正在控制電池充電或放電等)時而導(dǎo)致后續(xù)上位機(jī)接收不到其所發(fā)送的升級確認(rèn)信息,進(jìn)而導(dǎo)致上位機(jī)對于沖突控制器的判斷出錯。

實(shí)施例四

本實(shí)施例提供了一種多控制器的軟件升級方法,如圖6所示。具體地,該方法包括如下步驟:

s401:根據(jù)多個第二目標(biāo)控制器的地址,向多個第二目標(biāo)控制器發(fā)送升級通知。升級通知中攜帶有需要進(jìn)行軟件升級的控制器的地址。該步驟請參照步驟s205,在此不再贅述。

s402:接收上位機(jī)所發(fā)送的升級通知。該步驟請參照步驟s307,在此不再贅述。

s403:判斷需要進(jìn)行升級的控制器的地址是否包括自身的地址。當(dāng)需要進(jìn)行升級的控制器的地址包括自身的地址時,執(zhí)行步驟s404;否則無操作。該步驟請參照步驟s308,在此不再贅述。

s404:向上位機(jī)發(fā)送應(yīng)答信息。該應(yīng)答信息用于告知上位機(jī)自身可以開始升級,其中攜帶有自身的地址。該步驟請參照步驟s309,在此不再贅述。

s405:接收第二目標(biāo)控制器返回的應(yīng)答信息,并將返回應(yīng)答信息的第二目標(biāo)控制器確定為第一目標(biāo)控制器。該步驟請參照步驟s206,在此不再贅述。

s406:根據(jù)多個第一目標(biāo)控制器的地址,向多個第一目標(biāo)控制器分別發(fā)送升級程序。每個升級程序中包括第一目標(biāo)控制器所需升級為的軟件新版本(或者該第一目標(biāo)控制器已有軟件的補(bǔ)丁程序),并攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址。該步驟請參照步驟s201,在此不再贅述。

s407:接收上位機(jī)所發(fā)送的升級程序。該步驟請參照步驟s301,在此不再贅述。

s408:執(zhí)行升級程序,將自身的軟件升級為新的版本,并將自身的地址修改為升級程序中所攜帶的第一目標(biāo)控制器的地址。該步驟請參照步驟s302,在此不再贅述。

s409:向上位機(jī)發(fā)送升級確認(rèn)信息。升級確認(rèn)信息包括發(fā)送升級確認(rèn)信息的控制器在執(zhí)行升級程序之后的地址,用于上位機(jī)通過圖1所示的多控制器升級后的地址沖突檢測方法檢測升級后的多個第一目標(biāo)控制器是否存在地址沖突。該步驟請參照步驟s303,在此不再贅述。

s410:接收第一目標(biāo)控制器執(zhí)行升級程序之后所發(fā)送的升級確認(rèn)信息。該步驟請參照步驟s101,在此不再贅述。

s411:根據(jù)預(yù)先存儲的多個第一目標(biāo)控制器升級前的地址,判斷是否存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器。當(dāng)存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器時,執(zhí)行步驟s412;否則無操作。該步驟請參照步驟s102,在此不再贅述。

s412:確定多個第一目標(biāo)控制器執(zhí)行升級程序之后存在地址沖突。該步驟請參照步驟s103,在此不再贅述。

s413:當(dāng)升級后的多個第一目標(biāo)控制器存在地址沖突時,向多個第一目標(biāo)控制器發(fā)送地址沖突處理命令和沖突控制器升級前的地址。沖突控制器為所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器。地址沖突處理命令用于控制每個第一目標(biāo)控制器將其自身升級前的地址與沖突控制器升級前的地址進(jìn)行比對,并控制升級前的地址與沖突控制器升級前的地址一致的第一目標(biāo)控制將自身的地址修改為沖突控制器升級前的地址。該步驟請參照步驟s203,在此不再贅述。

s414:接收上位機(jī)在檢測到升級后的多個第一目標(biāo)控制器存在地址沖突后所發(fā)送的地址沖突處理命令和沖突控制器升級前的地址。該步驟請參照步驟s304,在此不再贅述。

s415:判斷自身升級前的地址與沖突控制器升級前的地址是否一致。當(dāng)自身升級前的地址與沖突控制器升級前的地址一致時,執(zhí)行步驟s416;否則無操作。該步驟請參照步驟s305,在此不再贅述。

s416:將自身的地址修改為沖突控制器升級前的地址。該步驟請參照步驟s306,在此不再贅述。

s417:根據(jù)沖突控制器升級前的地址,向其對應(yīng)的第一目標(biāo)控制器重新發(fā)送對應(yīng)的升級程序。該步驟請參照步驟s204,在此不再贅述。

需要補(bǔ)充說明的是,上述步驟s401、s405、s406、s410、s411、s412、s413和s417由上位機(jī)執(zhí)行;步驟s402、s403、s404、s407、s408、s409、s414、s415、s416由控制器執(zhí)行。

實(shí)施例五

本實(shí)施例提供了一種多控制器升級后的地址沖突檢測裝置,適用于與多個控制器通信連接的上位機(jī),該上位機(jī)包括計算機(jī)、服務(wù)器或者移動終端。如圖7所示,該裝置包括第一接收單元10、第一判斷單元20和確定單元30。

第一接收單元10,用于接收第一目標(biāo)控制器執(zhí)行升級程序之后所發(fā)送的升級確認(rèn)信息。升級程序?yàn)轭A(yù)先發(fā)送給多個第一目標(biāo)控制器的,每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址。升級確認(rèn)信息包括發(fā)送升級確認(rèn)信息的控制器在執(zhí)行升級程序之后的地址。

第一判斷單元20,用于根據(jù)預(yù)先存儲的多個第一目標(biāo)控制器升級前的地址,判斷是否存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器。

確定單元30,用于當(dāng)存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器時,確定多個第一目標(biāo)控制器執(zhí)行升級程序之后存在地址沖突。

上述多控制器升級后的地址沖突檢測裝置,預(yù)先給控制器發(fā)送的每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為升級程序所攜帶的第一目標(biāo)控制器的地址;控制器執(zhí)行升級程序后,會向上位機(jī)發(fā)送升級確認(rèn)信息,該升級確認(rèn)信息包括發(fā)送該升級確認(rèn)信息的控制器在執(zhí)行升級程序之前的地址;上位機(jī)接收該升級確認(rèn)信息后,根據(jù)預(yù)先存儲的多個第一目標(biāo)控制器升級前的地址,判斷是否存在所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器,當(dāng)存在時,便可以確定多個第一目標(biāo)控制器執(zhí)行升級程序之后存在地址沖突。通過本實(shí)施例,在向多個控制器發(fā)送升級程序使其軟件升級為新版本后,能夠自動檢測這多個控制器升級之后是否存在地址沖突。

實(shí)施例六

本實(shí)施例提供了一種多控制器的軟件升級裝置,適用于與多個控制器通信連接的上位機(jī),該上位機(jī)計算機(jī)、服務(wù)器或者移動終端。如圖8所示,該裝置包括第一發(fā)送單元40、第二發(fā)送單元50、第三發(fā)送單元60,以及實(shí)施例五所述的多控制器升級后的地址沖突檢測裝置中的第一接收單元10、第一判斷單元20、確定單元30。

第一發(fā)送單元40,用于根據(jù)多個第一目標(biāo)控制器的地址,向多個第一目標(biāo)控制器分別發(fā)送升級程序。每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址。

第二發(fā)送單元50,用于當(dāng)升級后的多個第一目標(biāo)控制器存在地址沖突時,向多個第一目標(biāo)控制器發(fā)送地址沖突處理命令和沖突控制器升級前的地址。沖突控制器為所對應(yīng)的升級確認(rèn)信息未被接收到的第一目標(biāo)控制器。地址沖突處理命令用于控制每個第一目標(biāo)控制器將其自身升級前的地址與沖突控制器升級前的地址進(jìn)行比對,并控制升級前的地址與沖突控制器升級前的地址一致的第一目標(biāo)控制將自身的地址修改為沖突控制器升級前的地址。

第三發(fā)送單元60,用于根據(jù)沖突控制器升級前的地址,向其對應(yīng)的第一目標(biāo)控制器重新發(fā)送對應(yīng)的升級程序。

上述多控制器的軟件升級裝置,先向多個第一目標(biāo)控制器分別發(fā)送升級程序,每個升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址;然后通過實(shí)施例一所述的地址沖突檢測方法檢測升級后的多個第一目標(biāo)控制器是否存在地址沖突;當(dāng)存在地址沖突時,向多個第一目標(biāo)控制器發(fā)送地址沖突處理命令和沖突控制器升級前的地址;再根據(jù)沖突控制器升級前的地址,向其對應(yīng)的第一目標(biāo)控制器重新發(fā)送對應(yīng)的升級程序。通過本實(shí)施例,可以控制多控制器進(jìn)行升級,檢測并記錄升級錯誤的控制器的地址,再對升級錯誤的控制器重新升級。

作為本實(shí)施例的一種可選實(shí)施方式,該裝置還包括第四發(fā)送單元70、第二接收單元80。

第四發(fā)送單元70,用于根據(jù)多個第二目標(biāo)控制器的地址,向多個第二目標(biāo)控制器發(fā)送升級通知。升級通知中攜帶有需要進(jìn)行軟件升級的控制器的地址。

第二接收單元80,用于接收第二目標(biāo)控制器返回的應(yīng)答信息,并將返回應(yīng)答信息的第二目標(biāo)控制器確定為第一目標(biāo)控制器。應(yīng)答信息用于告知上位機(jī)發(fā)送應(yīng)答信息的控制器可以開始升級,其中攜帶有發(fā)送應(yīng)答信息的控制器的地址。

實(shí)施例七

本實(shí)施例提供了一種多控制器的軟件升級裝置,適用于與上位機(jī)通信連接的控制器,該控制器包括嵌入式處理器,或者計算機(jī)、服務(wù)器、移動終端等電子設(shè)備內(nèi)的處理器或控制器。如圖9所示,該裝置包括:

第三接收單元90,用于接收上位機(jī)所發(fā)送的升級程序。升級程序中攜帶有其所對應(yīng)的第一目標(biāo)控制器的地址,升級程序被執(zhí)行時會使執(zhí)行其的控制器的軟件升級為新的版本,并將執(zhí)行其的控制器的地址修改為其所攜帶的第一目標(biāo)控制器的地址。

執(zhí)行單元100,用于執(zhí)行升級程序,將自身的軟件升級為新的版本,并將自身的地址修改為升級程序中所攜帶的第一目標(biāo)控制器的地址。

第五發(fā)送單元110,用于向上位機(jī)發(fā)送升級確認(rèn)信息,升級確認(rèn)信息用于上位機(jī)通過權(quán)利要求6的多控制器升級后的地址沖突檢測裝置檢測升級后的多個第一目標(biāo)控制器是否存在地址沖突。

第四接收單元120,用于接收上位機(jī)在檢測到升級后的多個第一目標(biāo)控制器存在地址沖突時所發(fā)送的地址沖突處理命令和沖突控制器升級前的地址。沖突控制器為所對應(yīng)的升級確認(rèn)信息未被上位機(jī)接收到的第一目標(biāo)控制器。

第二判斷單元130,用于判斷自身升級前的地址與沖突控制器升級前的地址是否一致。

修改單元140,用于當(dāng)自身升級前的地址與沖突控制器升級前的地址一致時,將自身的地址修改為沖突控制器升級前的地址。

上述多控制器的軟件升級裝置,首先接收上位機(jī)所發(fā)送的升級程序;然后執(zhí)行升級程序,將自身的軟件升級為新的版本,并將自身的地址修改為升級程序中所攜帶的第一目標(biāo)控制器的地址;然后向上位機(jī)發(fā)送升級確認(rèn)信息,該升級確認(rèn)信息中攜帶有升級后的地址;再接收上位機(jī)檢測到升級后的多個第一目標(biāo)控制器存在地址沖突后所發(fā)送的地址沖突處理命令和沖突控制器升級前的地址,判斷自身升級前的地址與沖突控制器升級前的地址是否一致,當(dāng)一致時將自身的地址修改為沖突控制器升級前的地址。通過本實(shí)施例,上位機(jī)可以控制多控制器進(jìn)行升級,檢測并記錄升級錯誤的控制器的地址,再對升級錯誤的控制器重新升級。

作為本實(shí)施例的一種可選實(shí)施方式,該裝置還包括第五接收單元150和第三判斷單元160。

第五接收單元150,用于接收上位機(jī)所發(fā)送的升級通知。升級通知中攜帶有需要進(jìn)行軟件升級的控制器的地址。

第三判斷單元160,用于判斷需要進(jìn)行升級的控制器的地址是否包括自身的地址。

當(dāng)需要進(jìn)行升級的控制器的地址包括自身的地址時,執(zhí)行接收上位機(jī)所發(fā)送的升級程序的步驟。

雖然結(jié)合附圖描述了本發(fā)明的實(shí)施例,但是本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下作出各種修改和變型,這樣的修改和變型均落入由所附權(quán)利要求所限定的范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
舟山市| 张北县| 靖西县| 高安市| 鸡东县| 壶关县| 常熟市| 商南县| 黄梅县| 娱乐| 平昌县| 民县| 衡水市| 沭阳县| 罗源县| 托克逊县| 偏关县| 明水县| 鄂托克前旗| 三门县| 芜湖县| 临海市| 松桃| 扶余县| 荣昌县| 海兴县| 普安县| 鸡东县| 临江市| 河津市| 三明市| 大兴区| 彭阳县| 淮滨县| 昔阳县| 山东省| 固镇县| 化隆| 叙永县| 饶平县| 嘉义县|