亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于can總線進(jìn)行批量升級設(shè)備固件的方法

文檔序號:6443903閱讀:631來源:國知局
專利名稱:一種基于can總線進(jìn)行批量升級設(shè)備固件的方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別是總線上的數(shù)據(jù)廣播,更具體地,是涉及CAN總線上局域終端設(shè)備固件的升級。
背景技術(shù)
CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡稱,是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,廣泛應(yīng)用于工業(yè)控制和汽車電子等領(lǐng)域。一般來說,通過總線對設(shè)備進(jìn)行固件升級,需要一臺帶有需要升級文件的升級服務(wù)器,由升級服務(wù)器發(fā)起升級命令,然后對每個設(shè)備進(jìn)行升級。當(dāng)總線上連接有多臺設(shè)備, 且設(shè)備的固件相同時,也需要依次為每臺設(shè)備進(jìn)行升級,花費(fèi)較長的時間。由于CAN總線所處的環(huán)境容易受到外界干擾,會導(dǎo)致數(shù)據(jù)幀的誤碼甚至丟失,處理這些錯誤情況也會占用時間,因此采用傳統(tǒng)的設(shè)備固件升級方法,占用服務(wù)器和設(shè)備的時間長、效率低。

發(fā)明內(nèi)容
本發(fā)明利用總線的特點(diǎn),提出了一種帶有重傳功能的廣播升級模式,它有效的利用了總線的帶寬,同時為多臺設(shè)備升級,提高了工作效率。為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是一種基于CAN總線進(jìn)行批量升級設(shè)備固件的方法,本方法基于連接到CAN總線上并已經(jīng)建立通訊協(xié)議的升級服務(wù)器和需升級固件的局域終端設(shè)備來完成,升級服務(wù)器中已經(jīng)存儲有升級文件,在升級過程中本方法包括以下步驟
A、升級服務(wù)器通過總線向局域終端設(shè)備發(fā)送升級命令,命令中包括將要升級的文件名稱、文件版本信息;
B、、總線上的局域終端設(shè)備接收到升級命令后,檢查命令中的軟件名稱、軟件版本信息,據(jù)此判斷自身固件是否需要升級,如果需要升級,設(shè)置數(shù)據(jù)存儲區(qū),進(jìn)入升級狀態(tài),準(zhǔn)備接收服務(wù)器的升級數(shù)據(jù)包;
C、升級服務(wù)器讀取升級文件,將文件分割成數(shù)據(jù)包,在每個數(shù)據(jù)包中插入序號和本數(shù)據(jù)包的數(shù)據(jù)長度以及經(jīng)計算的校驗信息,按序號順序發(fā)送數(shù)據(jù)包,直至整個文件發(fā)送完畢;
D、總線上需升級的局域終端設(shè)備接收數(shù)據(jù)包,根據(jù)序號是否連續(xù)判斷是否接收完整, 根據(jù)數(shù)據(jù)包中的校驗信息判斷是否接收正確,將正確接收的數(shù)據(jù)包存儲在數(shù)據(jù)存儲區(qū),記錄未接收到的數(shù)據(jù)包序號和接收錯誤的數(shù)據(jù)包序號,當(dāng)局域終端設(shè)備收到最后一個數(shù)據(jù)包或超過一定時間未收到新的數(shù)據(jù)包時,如果數(shù)據(jù)接收完整,局域終端設(shè)備開始升級,過程終止;否則,將未接收到的和接收錯誤的數(shù)據(jù)包序號發(fā)送給服務(wù)器;
E、服務(wù)器接收到所有局域終端設(shè)備的丟包信息后,將丟失的數(shù)據(jù)包按序號重新發(fā)送;
F、總線上未收到完整文件的局域終端設(shè)備接收數(shù)據(jù)包,根據(jù)數(shù)據(jù)包的序號和本局域終端設(shè)備擬接收的序號判斷該數(shù)據(jù)包是否需要處理,如不需要則放棄該數(shù)據(jù)包,如需要則根據(jù)數(shù)據(jù)包中的校驗信息判斷是否接收正確,將正確接收的數(shù)據(jù)包存儲在數(shù)據(jù)存儲區(qū),如錯誤則記錄接收錯誤的數(shù)據(jù)包序號,當(dāng)局域終端設(shè)備收到最后一個數(shù)據(jù)包或超過一定時間未收到新的數(shù)據(jù)包時,如果數(shù)據(jù)接收完整,局域終端設(shè)備開始升級,過程終止;否則,將未接收到的和接收錯誤的數(shù)據(jù)包序號發(fā)送給服務(wù)器;
G、重復(fù)步驟E和F,直至所有局域終端設(shè)備升級完畢或執(zhí)行次數(shù)達(dá)到規(guī)定的最大值。本發(fā)明中,廣播式升級可以提高設(shè)備固件升級的效率,數(shù)據(jù)包中的校驗信息可以驗證數(shù)據(jù)的正確到達(dá),丟/錯包重傳機(jī)制可以保證文件傳輸?shù)耐暾浴2捎帽景l(fā)明,可以快速、有效地升級設(shè)備中的固件。


下面結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明。圖1是本發(fā)明中設(shè)備布局示意圖。
其中1為升級服務(wù)器,2為CAN總線,3為總線上的局域終端設(shè)備。
具體實施例方式一種基于CAN總線進(jìn)行批量升級設(shè)備固件的方法,本方法基于連接到總線上并已經(jīng)建立通訊協(xié)議的升級服務(wù)器和需升級固件的局域終端設(shè)備來完成,升級服務(wù)器中已經(jīng)存儲有升級文件,在升級過程中本方法包括以下步驟
A、升級服務(wù)器通過總線向局域終端設(shè)備發(fā)送升級命令,命令中包括將要升級的文件名稱、文件版本信息;
B、、總線上的局域終端設(shè)備接收到升級命令后,檢查命令中的軟件名稱、軟件版本信息,據(jù)此判斷自身固件是否需要升級,如果需要升級,設(shè)置數(shù)據(jù)存儲區(qū),進(jìn)入升級狀態(tài),準(zhǔn)備接收服務(wù)器的升級數(shù)據(jù)包;
C、升級服務(wù)器讀取升級文件,將文件分割成數(shù)據(jù)包,在每個數(shù)據(jù)包中插入序號和本數(shù)據(jù)包的數(shù)據(jù)長度以及經(jīng)計算的校驗信息,按序號順序發(fā)送數(shù)據(jù)包,直至整個文件發(fā)送完畢;
D、總線上需升級的局域終端設(shè)備接收數(shù)據(jù)包,根據(jù)序號是否連續(xù)判斷是否接收完整, 根據(jù)數(shù)據(jù)包中的校驗信息判斷是否接收正確,將正確接收的數(shù)據(jù)包存儲在數(shù)據(jù)存儲區(qū),記錄未接收到的數(shù)據(jù)包序號和接收錯誤的數(shù)據(jù)包序號,當(dāng)局域終端設(shè)備收到最后一個數(shù)據(jù)包或超過一定時間未收到新的數(shù)據(jù)包時,如果數(shù)據(jù)接收完整,局域終端設(shè)備開始升級,過程終止;否則,將未接收到的和接收錯誤的數(shù)據(jù)包序號發(fā)送給服務(wù)器;
E、服務(wù)器接收到所有局域終端設(shè)備的丟包信息后,將丟失的數(shù)據(jù)包按序號重新發(fā)送;
F、總線上未收到完整文件的局域終端設(shè)備接收數(shù)據(jù)包,根據(jù)數(shù)據(jù)包的序號和本局域終端設(shè)備擬接收的序號判斷該數(shù)據(jù)包是否需要處理,如不需要則放棄該數(shù)據(jù)包,如需要則根據(jù)數(shù)據(jù)包中的校驗信息判斷是否接收正確,將正確接收的數(shù)據(jù)包存儲在數(shù)據(jù)存儲區(qū),如錯誤則記錄接收錯誤的數(shù)據(jù)包序號,當(dāng)局域終端設(shè)備收到最后一個數(shù)據(jù)包或超過一定時間未收到新的數(shù)據(jù)包時,如果數(shù)據(jù)接收完整,局域終端設(shè)備開始升級,過程終止;否則,將未接收到的和接收錯誤的數(shù)據(jù)包序號發(fā)送給服務(wù)器;
G、重復(fù)步驟E和F,直至所有局域終端設(shè)備升級完畢或執(zhí)行次數(shù)達(dá)到規(guī)定的最大值。
4
所述需要升級的局域終端設(shè)備中,至少有兩個具有相同的需要升級的固件。所述序號是從0或某個正整數(shù)開始,加1遞增。所述數(shù)據(jù)包中還包括總的數(shù)據(jù)包數(shù)量。所述的校驗信息是本數(shù)據(jù)包中數(shù)據(jù)的校驗和。為了服務(wù)器的統(tǒng)計驗證,在步驟B中,需要升級的局域終端設(shè)備向升級服務(wù)器發(fā)送響應(yīng)命令,在步驟G后還有以下步驟
H、局域終端設(shè)備將升級成功或失敗的結(jié)果發(fā)送給服務(wù)器。升級服務(wù)器接收步驟B和H中設(shè)備的響應(yīng),統(tǒng)計升級的結(jié)果和驗證局域終端設(shè)備的有效性。參看圖1,升級服務(wù)器1連接到CAN總線2上,CAN總線2上的局域終端設(shè)備3中, 至少有兩臺有相同的固件。設(shè)備固件需要升級時,升級服務(wù)器中已經(jīng)存儲有升級文件,文件中包括文件名稱、版本號等信息。升級過程包括以下步驟
A、升級服務(wù)器通過總線發(fā)送升級命令,命令中包括將要升級的文件名稱、文件版本信
息;
B、總線上的設(shè)備接收到升級命令后,首先檢查文件名稱,確定是否與本身的固件一致, 其次判斷本身的固件是否已經(jīng)是最新版本,據(jù)此判斷自身固件是否需要升級,如果需要升級,向升級服務(wù)器發(fā)送響應(yīng)命令,設(shè)置數(shù)據(jù)存儲區(qū),進(jìn)入升級狀態(tài),準(zhǔn)備接收服務(wù)器的升級數(shù)據(jù)包;
C、升級服務(wù)器在發(fā)送升級命令并延遲一段時間后,讀取升級文件,將文件分割成數(shù)據(jù)包,在每個數(shù)據(jù)包中插入序號和本數(shù)據(jù)包的數(shù)據(jù)長度以數(shù)據(jù)的校驗和,按序號順序發(fā)送數(shù)據(jù)包,直至整個文件發(fā)送完畢,這里的序號是從0或某個正整數(shù)開始,加1遞增;
D、總線上需升級的設(shè)備接收數(shù)據(jù)包,根據(jù)序號是否連續(xù)判斷是否接收完整,根據(jù)數(shù)據(jù)包中數(shù)據(jù)計算校驗和,與數(shù)據(jù)包中的校驗信息比對來判斷是否接收正確,將正確接收的數(shù)據(jù)包存儲在數(shù)據(jù)存儲區(qū),記錄未接收到的數(shù)據(jù)包序號和接收錯誤的數(shù)據(jù)包序號,當(dāng)設(shè)備收到最后一個數(shù)據(jù)包或超過一定時間未收到新的數(shù)據(jù)包時,如果數(shù)據(jù)接收完整,設(shè)備開始升級,過程終止;否則,將未接收到的和接收錯誤的數(shù)據(jù)包序號發(fā)送給服務(wù)器;
E、服務(wù)器接收到所有設(shè)備的丟包信息后,將丟失的數(shù)據(jù)包按序號重新發(fā)送;
F、總線上未收到完整文件的設(shè)備接收數(shù)據(jù)包,根據(jù)數(shù)據(jù)包的序號和本設(shè)備擬接收的序號判斷該數(shù)據(jù)包是否需要處理,如不需要則放棄該數(shù)據(jù)包,如需要則根據(jù)數(shù)據(jù)包中的校驗信息判斷是否接收正確,將正確接收的數(shù)據(jù)包存儲在數(shù)據(jù)存儲區(qū),如錯誤則記錄接收錯誤的數(shù)據(jù)包序號,當(dāng)設(shè)備收到最后一個數(shù)據(jù)包或超過一定時間未收到新的數(shù)據(jù)包時,如果數(shù)據(jù)接收完整,設(shè)備開始升級,過程終止;否則,將未接收到的和接收錯誤的數(shù)據(jù)包序號發(fā)送給服務(wù)器;
G、重復(fù)步驟E和F,直至所有設(shè)備升級完畢或執(zhí)行次數(shù)達(dá)到規(guī)定的最大值;
H、局域終端設(shè)備將升級成功或失敗的結(jié)果發(fā)送給服務(wù)器。升級服務(wù)器在生成數(shù)據(jù)包時,可以將數(shù)據(jù)包數(shù)量插入其中,以便設(shè)備在接收過程中判斷是否接收完成。在步驟B中,需要升級的設(shè)備向升級服務(wù)器發(fā)送響應(yīng)命令,升級服務(wù)器接收響應(yīng)命令,并據(jù)此以及H步驟中局域終端設(shè)備的響應(yīng)統(tǒng)計升級的結(jié)果和驗證設(shè)備的有效性。
實施例中,局域終端設(shè)備至少有兩臺有相同的固件,顯而易見,本發(fā)明也適用只有一臺設(shè)備需要升級的情況。上述實施例是基于CAN總線實現(xiàn)的,顯然,本發(fā)明不僅限于CAN總線,也可用于 RS485總線,以及其它具有廣播功能的總線上。
權(quán)利要求
1.一種基于CAN總線進(jìn)行批量升級設(shè)備固件的方法,本方法基于連接到CAN總線上并已經(jīng)建立通訊協(xié)議的升級服務(wù)器和需升級固件的局域終端設(shè)備來完成,升級服務(wù)器中已經(jīng)存儲有升級文件,其特征在于本方法包括以下步驟A、升級服務(wù)器通過總線向局域終端設(shè)備發(fā)送升級命令,命令中包括將要升級的文件名稱、文件版本信息;B、總線上的局域終端設(shè)備接收到升級命令后,檢查命令中的軟件名稱、軟件版本信息, 據(jù)此判斷自身固件是否需要升級,如果需要升級,設(shè)置數(shù)據(jù)存儲區(qū),進(jìn)入升級狀態(tài),準(zhǔn)備接收服務(wù)器的升級數(shù)據(jù)包;C、升級服務(wù)器讀取升級文件,將文件分割成數(shù)據(jù)包,在每個數(shù)據(jù)包中插入序號和本數(shù)據(jù)包的數(shù)據(jù)長度以及經(jīng)計算的校驗信息,按序號順序發(fā)送數(shù)據(jù)包,直至整個文件發(fā)送完畢;D、總線上需升級的局域終端設(shè)備接收數(shù)據(jù)包,根據(jù)序號是否連續(xù)判斷是否接收完整, 根據(jù)數(shù)據(jù)包中的校驗信息判斷是否接收正確,將正確接收的數(shù)據(jù)包存儲在數(shù)據(jù)存儲區(qū),記錄未接收到的數(shù)據(jù)包序號和接收錯誤的數(shù)據(jù)包序號,當(dāng)局域終端設(shè)備收到最后一個數(shù)據(jù)包或超過一定時間未收到新的數(shù)據(jù)包時,如果數(shù)據(jù)接收完整,局域終端設(shè)備開始升級,過程終止;否則,將未接收到的和接收錯誤的數(shù)據(jù)包序號發(fā)送給服務(wù)器;E、服務(wù)器接收到所有局域終端設(shè)備的丟包信息后,將丟失的數(shù)據(jù)包按序號重新發(fā)送;F、總線上未收到完整文件的局域終端設(shè)備接收數(shù)據(jù)包,根據(jù)數(shù)據(jù)包的序號和本局域終端設(shè)備擬接收的序號判斷該數(shù)據(jù)包是否需要處理,如不需要則放棄該數(shù)據(jù)包,如需要則根據(jù)數(shù)據(jù)包中的校驗信息判斷是否接收正確,將正確接收的數(shù)據(jù)包存儲在數(shù)據(jù)存儲區(qū),如錯誤則記錄接收錯誤的數(shù)據(jù)包序號,當(dāng)局域終端設(shè)備收到最后一個數(shù)據(jù)包或超過一定時間未收到新的數(shù)據(jù)包時,如果數(shù)據(jù)接收完整,局域終端設(shè)備開始升級,過程終止;否則,將未接收到的和接收錯誤的數(shù)據(jù)包序號發(fā)送給服務(wù)器;G、重復(fù)步驟E和F,直至所有局域終端設(shè)備升級完畢或執(zhí)行次數(shù)達(dá)到規(guī)定的最大值。
2.根據(jù)權(quán)利要求1所述的一種基于CAN總線進(jìn)行批量升級設(shè)備固件的方法,其特征在于所述需要升級的局域終端設(shè)備中,至少有兩個具有相同的需要升級的固件。
3.根據(jù)權(quán)利要求1所述的一種基于CAN總線進(jìn)行批量升級設(shè)備固件的方法,其特征在于所述序號是從0或某個正整數(shù)開始,加1遞增。
4.根據(jù)權(quán)利要求1所述的一種基于CAN總線進(jìn)行批量升級設(shè)備固件的方法,其特征在于所述數(shù)據(jù)包中還包括總的數(shù)據(jù)包數(shù)量。
5.根據(jù)權(quán)利要求1所述的一種基于CAN總線進(jìn)行批量升級設(shè)備固件的方法,其特征在于所述的校驗信息是本數(shù)據(jù)包中數(shù)據(jù)的校驗和。
6.根據(jù)權(quán)利要求1所述的一種基于CAN總線進(jìn)行批量升級設(shè)備固件的方法,其特征在于在步驟B中,需要升級的局域終端設(shè)備向升級服務(wù)器發(fā)送響應(yīng)命令。
7.根據(jù)權(quán)利要求6所述的一種基于CAN總線進(jìn)行批量升級設(shè)備固件的方法,其特征在于在步驟G后還有以下步驟H、局域終端設(shè)備將升級成功或失敗的結(jié)果發(fā)送給服務(wù)器。
8.根據(jù)權(quán)利要求7所述的一種基于CAN總線進(jìn)行批量升級設(shè)備固件的方法,其特征在于 升級服務(wù)器接收步驟B和H中設(shè)備的響應(yīng),統(tǒng)計升級的結(jié)果和驗證局域終端設(shè)備的有效性。
全文摘要
一種基于CAN總線進(jìn)行批量升級設(shè)備固件的方法,涉及總線上的數(shù)據(jù)廣播,更具體地,是涉及CAN總線上局域終端設(shè)備固件的升級。本方法基于連接到總線上并已經(jīng)建立通訊協(xié)議的升級服務(wù)器和需升級固件的局域終端設(shè)備來完成,升級服務(wù)器中已經(jīng)存儲有升級文件,由升級服務(wù)器發(fā)出啟動升級的廣播請求,廣播發(fā)送升級數(shù)據(jù)包,設(shè)備接收到升級數(shù)據(jù)包后,判斷丟包情況并上傳,服務(wù)器再廣播丟失的數(shù)據(jù)包,直至設(shè)備都正確接收到文件或超過最大廣播次數(shù)。
文檔編號G06F9/445GK102546784SQ20111044900
公開日2012年7月4日 申請日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者王懌忻 申請人:深圳市邁進(jìn)科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1