国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于can總線進行批量升級設備固件的方法

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

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


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