• / 18
  • 下載費用:30 金幣  

西班牙人vs维戈塞尔塔录像: 一種電力線載波遠程升級方法和終端.pdf

關 鍵 詞:
一種 電力線 載波 遠程 升級 方法 終端
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
摘要
申請專利號:

CN201310686818.9

申請日:

2013.12.16

公開號:

CN104717252A

公開日:

2015.06.17

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):H04L 29/08申請日:20131216|||公開
IPC分類號: H04L29/08; G06F9/445; H04B3/54 主分類號: H04L29/08
申請人: 國家電網公司; 北京南瑞智芯微電子科技有限公司
發明人: 齊永忠; 霍超; 李明維; 宋國瑞; 張傳遠
地址: 100031北京市西城區西長安街86號
優先權:
專利代理機構: 北京中譽威圣知識產權代理有限公司11279 代理人: 郭振興; 叢芳
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201310686818.9

授權公告號:

||||||

法律狀態公告日:

2018.02.13|||2015.07.15|||2015.06.17

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明公開了一種電力線載波遠程升級方法和終端,其中,該方法包括:自集中器接收包含廣播發送次數的廣播升級指令,如果采集終端的程序升級次數未達到集中器設定的廣播發送次數,則判斷采集終端是否需要升級;如果需要升級,則自集中器接收第一單包指令,判斷第一單包指令內程序包是否升級完成;如果有未成功升級的程序包,則采集終端接收包含未成功升級程序包的第二單包指令,對未成功升級的程序包進行點對點升級。本發明的載波遠程升級方法和終端,利用洪泛算法傳輸進行升級,對待升級的終端進行廣播升級,若廣播升級未成功,還可對未成功的程序包進行點對點升級,提高了升級成功率。

權利要求書

權利要求書1.  一種電力線載波遠程升級方法,其特征在于,包括:自集中器接收包含廣播發送次數的升級指令,判斷程序升級次數是否達到所述廣播發送次數,如果未達到,則判斷采集終端是否需要升級;如果需要升級,則自所述集中器接收第一單包指令,將所述第一單包指令的程序包寫入程序更新區,判斷所述第一單包指令內的所述程序包是否升級完成;如果所述第一單包指令內的所述程序包升級完成,則判斷是否所有程序包升級成功;如果有未成功升級的程序包,則接收包含所述未成功升級程序包的第二單包指令,對所述未成功升級的程序包進行點對點升級。2.  根據權利要求1所述的方法,其特征在于,所述判斷程序升級次數是否達到所述廣播發送次數還包括:如果達到所述廣播發送次數,則結束廣播升級。3.  根據權利要求1所述的方法,其特征在于,所述判斷采集終端是否需要升級包括:判斷所述升級指令是否是正確的升級指令的步驟;判斷所述采集終端的程序更新區的程序是否是最新程序的步驟。4.  根據權利要求3所述的方法,其特征在于,所述判斷升級指令是否是正確的升級指令的步驟具體包括:判斷所述升級指令的第一CRC校驗碼與所述采集終端的程序運行區的CRC校驗碼是否相等,如果相等,則所述升級指令是正確的升級指令;如果不相等,則返回判斷所述程序升級次數是否達到所述廣播發送次數。5.  根據權利要求3所述的方法,其特征在于,所述判斷采集終端的程序更新區的程序是否是最新程序的步驟具體包括:判斷所述升級指令的第二CRC校驗碼與所述程序更新區的CRC校驗碼是否相等,如果不相等,則準備進行程序升級;如果相等,則判斷所述程序更新區的升級狀態是否為升級中/剛完成升級,如果是,則返回判斷所述程序升級次數是否達到所述廣播發送次數;如果不是,則準備進行程序升級。6.  根據權利要求1所述的方法,其特征在于,所述判斷第一單包指令內的所述程序包是否升級完成包括:判斷所述程序更新區是否已經升級的步驟;判斷所述程序更新區是否正在升級的步驟;判斷所述采集終端是否收到所述第一單包指令的步驟。7.  根據權利要求6所述的方法,其特征在于,所述判斷程序更新區是否已經升級的步驟具體包括:判斷所述第一單包指令的第三CRC校驗碼與所述程序更新區的CRC校驗碼是否相等,如果相等,則進行判斷所述程序更新區是否正在升級的步驟;如果不相等,則判斷是否所述所有程序包升級成功。8.  根據權利要求6所述的方法,其特征在于,所述判斷程序更新區是否正在升級的步驟具體包括:判斷所述程序更新區的升級狀態字是否為升級中,如果是,則進行判斷所述采集終端是否收到所述第一單包指令的步驟;如果不是,則判斷是否所述所有程序包升級成功。9.  根據權利要求6所述的方法,其特征在于,所述判斷采集終端是否收到所述第一單包指令的步驟具體包括:檢查所述程序更新區的升級進度標志是否為0,如果為0,則所述采集終端已經收到所述第一單包指令的所述程序包,升級完成;如果為1,則判斷是否所述所有程序包升級成功。10.  根據權利要求1所述的方法,其特征在于,所述判斷是否所有程序包升級成功包括:判斷是否已接收所述所有程序包的步驟;判斷是否所述所有程序包已升級的步驟。11.  根據權利要求10所述的方法,其特征在于,所述判斷是否已接收所述所有程序包的步驟具體包括:檢查所有程序包標志是否為已寫過,如果為已寫過,則進行判斷是否所述所有程序包已升級的步驟;如果為未寫過,則返回繼續接收單包指令。12.  根據權利要求10所述的方法,其特征在于,所述判斷是否所有程序包已升級的步驟具體包括:判斷所述程序運行區的CRC校驗碼與全部單包指令的第四校驗碼是否相等,如果相等,則將所述程序運行區升級狀態字置為程序升級完成;如果不相等,則升級過程發生錯誤,結束升級。13.  根據權利要求1所述的方法,其特征在于,所述接收第二單包指令,對所述未成功升級的程序包進行點對點升級包括:判斷所述程序更新區是否已經升級的步驟;判斷所述程序更新區是否正在升級的步驟;判斷所述采集終端是否收到所述第二單包指令的步驟。14.  根據權利要求13所述的方法,其特征在于,所述判斷程序更新區是否已經升級的步驟具體包括:判斷所述第二單包指令的第五CRC校驗碼與所述程序更新區的CRC校驗碼是否相等,如果相等,則進行判斷所述程序更新區是否正在升級的步驟;如果不相等,則繼續接收其他單包指令。15.  根據權利要求13所述的方法,其特征在于,所述判斷程序更新區是否 正在升級的步驟具體包括:判斷所述程序更新區的升級狀態字是否為已寫,如果為已寫,則進行判斷所述采集終端是否收到所述第二單包指令的步驟;如果為未寫,則繼續接收其他單包指令。16.  根據權利要求13所述的方法,其特征在于,所述判斷采集終端是否收到所述第二單包指令的步驟具體包括:判斷所述程序更新區的升級進度標志是否為0,如果為0,則所述第二單包指令的程序包升級完成;如果不為0,則繼續接收其他單包指令。17.  一種電力線載波遠程升級的終端,其特征在于,包括:廣播判斷???,用于自集中器接收包含廣播發送次數的升級指令,判斷程序升級次數是否達到所述廣播發送次數,如果未達到,則判斷采集終端是否需要升級;第一升級判斷???,用于自所述集中器接收第一單包指令,將所述第一單包指令的程序包寫入程序更新區,判斷所述第一單包指令內的所述程序包是否升級完成;第二升級判斷???,用于當所述第一單包指令內程序包升級完成,則判斷是否所有程序包升級成功;單點升級???,用于接收包含未成功升級程序包的第二單包指令,對所述未成功升級的程序包進行點對點升級。18.  根據權利要求17所述的終端,其特征在于,所述廣播判斷??榛褂糜諶綣锏剿齬悴シ⑺痛問?,則結束廣播升級。19.  根據權利要求17所述的終端,其特征在于,所述廣播判斷??榘ㄖ噶釓卸獻幽??、程序判斷子??椋核鮒噶釓卸獻幽?橛糜諗卸纖鏨噸噶釷欠袷欽返納噸噶?;所述程序判斷子??橛糜諗卸纖霾杉斬說某絳蚋慮某絳蚴欠袷?最新程序。20.  根據權利要求19所述的終端,其特征在于,所述指令判斷子??榫嚀逵糜諗卸纖鏨噸噶畹牡諞籆RC校驗碼與所述采集終端的程序運行區的CRC校驗碼是否相等,如果相等,則所述升級指令是正確的升級指令;如果不相等,則返回判斷所述采集終端的程序升級次數是否達到所述廣播發送次數。21.  根據權利要求19所述的終端,其特征在于,所述程序判斷子??榫嚀逵糜諗卸纖鏨噸噶畹牡詼﨏RC校驗碼與所述程序更新區的CRC校驗碼是否相等,如果不相等,則準備進行程序升級;如果相等,則判斷所述程序更新區的升級狀態是否為升級中/剛完成升級,如果是,則返回判斷所述采集終端的程序升級次數是否達到所述廣播發送次數;如果不是,則準備進行程序升級。22.  根據權利要求17所述的終端,其特征在于,所述第一升級判斷??榘ǖ諞懷絳蚺卸獻幽??、第二程序判斷子???、第一指令判斷子??椋核齙諞懷絳蚺卸獻幽?橛糜諗卸纖齔絳蚋慮欠褚丫?;所述第二程序判斷子??橛糜諗卸纖齔絳蚋慮欠裾諫?;所述第一指令判斷子??橛糜諗卸纖霾杉斬聳欠袷盞剿齙諞壞グ噶?。23.  根據權利要求22所述的終端,其特征在于,所述第一程序判斷子??榫嚀逵糜諗卸纖齙諞壞グ噶畹牡諶鼵RC校驗碼與所述程序更新區的CRC校驗碼是否相等,如果相等,則進行判斷所述程序更新區是否正在升級的步驟;如果不相等,則判斷是否所述所有程序包升級成功。24.  根據權利要求22所述的終端,其特征在于,所述第二程序判斷子??榫嚀逵糜諗卸纖齔絳蚋慮納蹲刺質欠裎噸?,如果是,則進行 判斷所述采集終端是否收到所述第一單包指令的步驟;如果不是,則判斷是否所述所有程序包升級成功。25.  根據權利要求22所述的終端,其特征在于,所述第一指令判斷子??榫嚀逵糜詡觳樗齔絳蚋慮納督缺曛臼欠裎?,如果為0,則所述采集終端已經收到所述第一單包指令的程序包,升級完成;如果為1,則判斷是否所述所有程序包升級成功。26.  根據權利要求17所述的終端,其特征在于,所述第二升級判斷??榘ǔ絳蚪郵張卸獻幽??、程序升級判斷子??椋核齔絳蚪郵張卸獻幽?橛糜諗卸鮮欠褚呀郵賬鏊諧絳虬?;所述程序升級判斷子??橛糜諗卸鮮欠袼鏊諧絳虬焉?。27.  根據權利要求26所述的終端,其特征在于,所述程序接收判斷子??榫嚀逵糜詡觳樗鏊諧絳虬曛臼欠裎研垂?,如果為已寫過,則進行判斷是否所述所有程序包已升級的步驟;如果為未寫過,則返回繼續接收單包指令。28.  根據權利要求26所述的終端,其特征在于,所述程序升級判斷子??榫嚀逵糜諗卸纖齔絳蛟誦星腃RC校驗碼與全部單包指令的第四校驗碼是否相等,如果相等,則將所述程序運行區升級狀態字置為程序升級完成;如果不相等,則升級過程發生錯誤,結束升級。29.  根據權利要求17所述的終端,所述單點升級??榘ǖ諶絳蚺卸獻幽??、第四程序判斷子???、第二指令判斷子??椋核齙諶絳蚺卸獻幽?橛糜諗卸纖齔絳蚋慮欠褚丫?;所述第四程序判斷子??橛糜諗卸纖齔絳蚋慮欠裾諫?;所述第二指令判斷子??橛糜諗卸纖霾杉斬聳欠袷盞剿齙詼グ噶?。30.  根據權利要求29所述的終端,其特征在于,所述第三程序判斷模子塊具體用于判斷所述第二單包指令的第五CRC校驗碼與所述程序更新區的CRC校驗碼是否相等,如果相等,則進行判斷所述程序更新區是否正在升級的步驟;如果不相等,則繼續接收其他單包指令。31.  根據權利要求29所述的終端,其特征在于,所述第四程序判斷子??榫嚀逵糜諗卸纖齔絳蚋慮納蹲刺質欠裎研?,如果為已寫,則進行判斷所述采集終端是否收到所述第二單包指令的步驟;如果為未寫,則繼續接收其他單包指令。32.  根據權利要求29所述的終端,其特征在于,所述第二指令判斷子??榫嚀逵糜諗卸纖齔絳蚋慮納督缺曛臼欠裎?,如果為0,則所述第二單包指令的程序包升級完成;如果不為0,則繼續接收其他單包指令。

說明書

說明書一種電力線載波遠程升級方法和終端
技術領域
本發明涉及電力通信領域,具體地,涉及一種電力線載波遠程升級方法和終端。
背景技術
電力線載波(Power Line Carrier,以下簡稱PLC)是目前國內用電信息采集系統建設的主要通信手段,在用電信息采集系統中,利用該手段主要完成居民用戶到配電變壓器之間的通信,完成數據采集和費用控制等功能應用。目前在電力載波通信產品的使用過程中,一般存在以下問題:
(1)載波通信產品的設計很難做到盡善盡美,尤其是軟件部分,由于其靈活性較大,是容易出錯的地方,因此在使用過程中,往往發現系統中存在某種可以修復的“BUG”,即僅通過軟件的修改就可以達到目的。
(2)雖然產品推出時軟硬件都沒有問題,但產品長時間使用后,可能用戶提出了更高的需求的改變,或是產品程序設計上的缺陷慢慢顯現,要求對載波通信產品系統程序進行升級。
(3)目前載波通信產品普遍存在適應電網變化能力不強,不能完全滿足各省公司的實用化要求,對應用環境和不同省市具體情況不能兼容等問題,在產品跨區域推廣時可能需要對產品進行改進升級。
如果直接對采集終端進行現場升級,需要大量的人員去現場維護,不但浪費了人力、財力,同時也浪費了寶貴的時間。
目前,遠程批量采集器終端升級方法如下:(1)通過PC機轉換后485端口與采集器終端的485端口連接,升級采集器終端軟件,缺點是只能通過人工到現場點對點進行升級,接線麻煩,工作量大,響應速度慢等;(2)通過PC機網口連接寬帶電力載波對采集器終端升級軟件,缺點是只能單一升級,工作量大,只能對寬帶電力載波適用,窄帶電力載波就失去升級軟件意義等;(3)PC機通過燒錄器直接對采集器終端的處理芯片升級軟件,缺點是只能單一升 級,拆開外殼(施工現場一般不允許),操作麻煩,工作量大,響應速度慢等。對于上述三種采集器終端升級軟件的方法,都是只能通過人工到現場點對點進行升級,操作麻煩,效率比較低。
發明內容
本發明是為了克服現有技術中無法對采集終端進行有效遠程升級的問題,根據本發明的一個方面,提出一種電力線載波遠程升級的方法。
根據本發明實施例的電力線載波遠程升級的方法,包括:
自集中器接收包含廣播發送次數的廣播升級指令,判斷程序升級次數是否達到該廣播發送次數,如果未達到,則判斷采集終端是否需要升級;
如果需要升級,則自集中器接收第一單包指令,將第一單包指令的程序包寫入程序更新區,判斷第一單包指令內程序包是否升級完成;
如果第一單包指令內程序包升級完成,則判斷是否所有程序包升級成功;
如果有未成功升級的程序包,則接收包含未成功升級程序包的第二單包指令,對未成功升級的程序包進行點對點升級。
本發明是為了克服現有技術中無法對采集終端進行有效遠程升級的問題,根據本發明的另一個方面,提出一種電力線載波遠程升級終端。
根據本發明實施例的電力線載波遠程升級終端,包括:
廣播判斷???,用于自集中器接收包含廣播發送次數的廣播升級指令,判斷程序升級次數是否達到廣播發送次數,如果未達到,則判斷采集終端是否需要升級;
第一升級判斷???,用于自集中器接收第一單包指令,將第一單包指令的程序包寫入程序更新區,判斷第一單包指令內程序包是否升級完成;
第二升級判斷???,用于當第一單包指令內程序包升級完成,則判斷是否所有程序包升級成功;
單點升級???,用于接收包含未成功升級程序包的第二單包指令,對未成功升級的程序包進行點對點升級。
本發明的電力線載波遠程升級方法和終端,集中器發起抄收命令,發出的信息逐級向外擴散,節點在滿足同幀單次轉發限制和上行幀轉發限制的要求下最終遍歷全網,實現全網信息覆蓋。集中器收到控制系統的升級命令后, 提取升級程序內容,進行分包,并利用洪泛算法傳輸升級指令,對待升級的采集終端進行程序升級,若廣播升級未成功,針對未成功程序包點對點進行升級,提高了程序升級成功率。
本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
附圖說明
附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,與本發明的實施例一起用于解釋本發明,并不構成對本發明的限制。在附圖中:
圖1為本發明實施例的洪泛組網算法中集中器向1級節點發起抄收命令的示意圖;
圖2為本發明實施例的洪泛組網算法中收到指令的1級節點轉發指令的示意圖;
圖3為本發明實施例的洪泛組網算法中收到轉發指令的2級節點繼續轉發指令的示意圖;
圖4為本發明實施例的采集終端內部Flash(閃存)的分區示意圖;
圖5為本發明實施例的采集終端Bootloader區程序設計流程圖;
圖6為本發明實施例的采集終端準備進行升級的示意圖;
圖7為本發明實施例的采集終端對第一單包指令的程序包進行升級的工作流程圖;
圖8為本發明實施例的采集終端對升級未成功的程序包進行點對點升級的工作流程圖;
圖9為本發明實施例的電力線載波遠程升級終端的結構示意圖。
具體實施方式
為了方便產品維護升級,降低產品規?;乒愎討寫嬖詰姆縵?,全面 支撐用電信息采集系統通信規?;ㄉ?,本發明在采集終端??榛杓頻幕∩?,在不添加任何硬件資源的情況下,基于洪泛組網算法,提供了一種電力線載波遠程升級方法,可以選擇性的對采集終端進行升級,以解決現有技術中存在的無法對采集終端進行有效遠程升級的問題。
下面結合附圖,對本發明的具體實施方式進行詳細描述,但應當理解本發明的?;し段Р⒉皇芫嚀迨凳┓絞降南拗?。
根據本發明的電力線載波遠程升級方法,提供了一種用于遠程升級的限制性有序洪泛算法,采用漣漪泛波方式,使單點發出的信息逐級向外擴散,最終遍歷全網,實現信息覆蓋。洪泛組網算法是一種高效動態組網方式,一種適合于低壓電力線載波抄表系統的網絡技術,能夠保證升級的可靠性。高效動態組網技術是一種分布式的組網方式,和以往傳統的集中器發起自組網的集中式主從組網原理上存在本質區別。全動態組網技術網絡建立過程的一個簡單示意圖參見圖1-圖3,假定了1個2級的動態組網網絡。如圖1所示為集中器發起抄收指令,如圖2所示為收到該指令的第1級節點全部去轉發該指令,如圖3所示為收到該指令的2級節點全部去轉發該指令,直至到達目的節點,具體工作流程如下:
步驟101:集中器向相鄰的第1級節點發出抄收指令;
步驟102:收到集中器發出指令的第1級節點向相鄰的第2級節點轉發該指令;
步驟103:收到該指令的第2級節點繼續轉發該指令,直至到達目的節點,停止轉發。
在上述過程中,數據包的傳遞像波浪一樣一層層的逐級傳遞,直至到達目標,這種簡歷路徑的算法叫做“洪泛”。數據在傳遞過程中完全依靠節點來承擔并完成,集中器只需要發起指令,不需要作出任何運算,也無需記憶任何路徑;網絡中的所有非目標節點只負責轉發,也無需記憶路徑。同理目的節點向集中器發起的上行應答包也按此方式逐級轉發,直至到達集中器。
根據本發明的電力線載波遠程升級方法,提出了一種采集終端MCU內部flash(全稱為Flash EEPROM Memory,閃存)劃分方法,包括:
采集終端內部flash劃分成BootLoader區(程序啟動引導區)、Program 區(程序運行區)和Update區(程序更新區)三個區,各區安排及大小如圖4所示,各區詳細說明如下:
(1)Bootloader區是放置Bootloader程序的區域,Bootloader程序是獨立于應用程序的一個小程序,位于Flash起始位置,用于初始化硬件,為調用操作系統內核準備好環境,芯片復位后從Bootloader區啟動。Bootloader程序負責檢查Program區和Update區程序合法性,決定是“更新Program區”,還是“跳轉到Program區運行”,或是“等待串口的升級指令,完成程序升級”。Bootloader程序設計流程如圖5所示,具體如下:
步驟501:判斷讀?;な欠袷鼓?,如果是,則轉入步驟502;如果否,則使能讀?;じ次幌低?,返回重新進行判斷。
步驟502:等待接收RS485端口下發的升級命令。
步驟503:判斷是否5秒超時,如果是,則轉入步驟504;如果否,則返回步驟501。
步驟504:判斷應用程序是否更新,如果否,則轉入步驟505;如果是,則判斷應用區是否寫?;?,如果寫?;?,則解除應用區寫?;は低?,如果未寫?;?,則更新應用程序,轉入步驟505。
步驟505:判斷應用程序是否合法,如果不合法,則返回步驟501;如果合法,則轉入步驟506。
步驟506:判斷應用區是否寫?;?,如果是,則跳到應用區程序運行;如果否,則使能應用區寫?;は低?,返回步驟501。
(2)Program區是放置應用程序的區域,應用程序完成產品應用的全部功能。
(3)Update區是放置新應用程序的區域,用于存儲最新應用程序數據。
其中Program區和Update區結構如表1所示,
表1

具體說明如下:
(1)升級狀態字—0x0F表示程序升級中、0x07表示升級完成、0x03表示當前運行程序、0x01表示前一版程序、其它值表示無效程序。
(2)程序包數—指整個程序占用的總包數,每包尺寸依據不同具體產品會有不同定義。
(3)程序CRC(循環冗余校驗碼,Cyclic Redundancy Check)—指整個程序代碼(包括最后一包補充0xFF)的CRC16校驗值。CRC是通信領域常用的校驗碼,對通信的可靠性檢查就需要“校驗”,校驗是從數據本身進行檢查,它依靠某種數學上約定的形式進行檢查,校驗的結果是可靠或不可靠,如果可靠就對數據進行處理,如果不可靠,就丟棄重發或者進行修復。
(4)升級進度標志—是升級程序包的指示位圖,用于指示目前接收到的程序包情況,每一位代表固定程序包號的一包程序碼,為1時代表還未收到這一包程序,為0時代表已收到這一包程序,升級進度標志位圖的大小會因不同產品而有所不同。
采集終端中的Bootloader區、Program區、Update區的安全操作的權限如表2所示,具體說明如下:
(1)Bootloader區放置Bootloader程序,由程序燒寫器在出廠前寫入,寫入后對所有Flash區加讀出?;?,確保代碼安全。應用程序不對Bootloader區進行讀、寫或擦除操作。
(2)Program區放置應用程序區,由Bootloader程序負責擦除和寫入。應用程序本身不對Program區進行擦除和寫入操作。
(3)Update區放置最新應用程序數據,由Bootloader或應用程序負 責擦除和寫入。
表2

根據本發明的電力線載波遠程升級方法,如圖6所示為采集終端進行程序升級前的準備過程,具體包括:
步驟601:集中器設定啟動升級指令的廣播發送次數,選擇待升級的??椋ǖ綾砟?榛蠆杉髂??,以下統稱為采集終端),采用洪泛組網算法向相鄰節點發送廣播,直至到達待升級采集終端。
步驟602:采集終端收到廣播后,判斷程序升級次數是否已經達到步驟601中設定的廣播發送次數,若達到,則結束廣播升級;
若未達到,則轉入步驟603。
步驟603:集中器向采集終端發送啟動升級指令。
步驟604:判斷啟動升級指令中的第一CRC校驗碼與采集終端program區的CRC校驗碼是否相等,若兩者相等,則說明該升級指令是正確的升級 指令,轉入步驟605;
若兩者不相等,則說明該升級指令不是正確的升級指令,轉入步驟602。
步驟605:判斷該升級指令中的第二CRC校驗碼與采集終端中update區的CRC校驗碼是否相等,若兩者不相等,則說明待升級采集終端中update區的程序不是最新的程序,轉入步驟606進行update區程序升級準備;
若兩者相等,則查看采集終端中update區的升級狀態字是否處于升級中或剛完成升級狀態,如果不是升級中或者剛完成升級,則轉入步驟606進行update區程序升級準備;
若是,則轉入步驟602。
步驟606:采集終端準備進行程序升級。
根據本發明的電力線載波遠程升級方法,如圖7所示,采集終端程序升級流程如下:
步驟701:集中器采用洪泛組網算法向采集終端下發第一單包指令,采集終端將該第一單包指令中的程序包寫入update區;
步驟702:判斷該第一單包指令中的第三CRC校驗碼與update區的CRC校驗碼是否相等,若兩者相等,則說明update區程序已經升級,轉入步驟703;
若兩者不相等,則update區程序CRC校驗碼可能已被復位擦除,轉入步驟706;
步驟703:判斷采集終端update區的升級狀態字是否為正在升級中,若是,則轉入步驟704;
若不是,則update區升級狀態字可能已被復位擦除,轉入步驟706;
步驟704:判斷update區的升級進度標志是否為0,若為0,則說明采集終端已收到該第一單包指令,轉入步驟705;
若不為0,則update區升級進度標志可能已被復位擦除,轉入步驟706;
步驟705:采集終端完成本包程序的升級;
步驟706:檢查是否所有單包指令內的程序包標志為已寫,若是,則說明已經收到所有單包指令中的程序包,轉入步驟707;
若不是,則說明采集終端尚有程序包沒有收到,轉入步驟701,繼續接受其他單包指令,進行程序包升級;
步驟707:比較采集終端中program區的CRC校驗碼與第一單包指令中的第四CRC校驗碼是否相等,若兩者相等,則說明采集終端已將所有程序包升級完成,轉入步驟708;
若兩者不相等,說明升級錯誤。
步驟708:將采集終端program區升級狀態字置為程序升級完成,完成本次升級。
根據本發明的電力線載波遠程升級方法,廣播升級完成后檢查是否所有程序包均完成升級(升級狀態字為已寫),當所有程序包數據成功升級后,置上新程序準備好標志,等待程序復位;若有未升級成功程序包,則開始對該程序包進行點對點程序升級,如圖8所示,具體流程如下:
步驟801:集中器采用洪泛組網算法向采集終端下發第二單包指令;
步驟802:采集終端判斷該第二單包指令中的第五CRC校驗碼與采集終端中update區的CRC校驗碼是否相等,若兩者相等,則說明采集終端已經開始升級,轉入步驟803;
若兩者不相等,則update區程序CRC校驗碼已被復位擦除,轉入步驟801繼續接收其他單包指令;
步驟803:判斷update區的升級狀態字是否為升級中,若是,則說明采集終端正在對該升級指令進行升級,轉入步驟804;
若不是,則update區升級狀態字已被復位擦除,轉入步驟801繼續接收其他單包指令;
步驟804:判斷update區的升級進度標志是否為0,若為0,說明采集終端已收到該單包指令,轉入步驟805;
若不為0,則update區升級進度標志已被復位擦除,轉入步驟801繼續接收其他單包指令。
步驟805:第二單包指令中的程序包升級完成。
根據本發明的另一實施例,提出了一種電力線載波遠程升級的終端,如圖9所示,包括:
廣播判斷???0,用于自集中器接收包含廣播發送次數的廣播升級指令, 判斷程序升級次數是否達到集中器設定的廣播發送次數,如果未達到,則判斷采集終端是否需要升級;
第一升級判斷???0,用于自集中器接收第一單包指令,將第一單包指令的程序包寫入程序更新區,判斷第一單包指令內程序包是否升級完成;
第二升級判斷???0,用于當第一單包指令內程序包升級完成,則判斷是否所有程序包升級成功;
單點升級???0,用于接收包含未成功升級程序包的第二單包指令,對未成功升級的程序包進行點對點升級。
其中,廣播判斷???0還用于如果達到集中器設定的廣播發送次數,則結束廣播升級,具體包括:指令判斷子???01、程序判斷子???02,指令判斷子???01用于判斷升級指令是否是正確的升級指令;程序判斷子???02用于判斷采集終端的程序更新區的程序是否是最新程序。
指令判斷子???01具體用于判斷升級指令的第一CRC校驗碼與采集終端的程序運行區的CRC校驗碼是否相等,如果相等,則升級指令是正確的升級指令;
如果不相等,則返回判斷采集終端的程序升級次數是否達到集中器設定的廣播發送次數。
程序判斷子???02具體用于判斷升級指令的第二CRC校驗碼與采集終端的程序更新區CRC校驗碼是否相等,如果不相等,則準備進行程序升級;
如果相等,則判斷程序更新區的升級狀態是否為升級中/剛完成升級,如果是,則返回判斷采集終端的程序升級次數是否達到集中器設定的廣播發送次數;如果不是,則準備進行程序升級。
其中,第一升級判斷???0包括:第一程序判斷子???01、第二程序判斷子???02、第一指令判斷子???03,第一程序判斷子???01用于判斷程序更新區是否已經升級;第二程序判斷子???02用于判斷程序更新區是否正在升級;第一指令判斷子???03用于判斷采集終端是否收到第一單包指令。
第一程序判斷子???01具體用于判斷第一單包指令的第三CRC校驗碼與程序更新區的CRC校驗碼是否相等,如果相等,則進行判斷程序更新區是否正在升級的步驟;
如果不相等,則判斷是否所有程序包升級成功。
第二程序判斷子???02具體用于判斷程序更新區的升級狀態字是否為升級中,如果是,則進行判斷采集終端是否收到第一單包指令的步驟;
如果不是,則判斷是否所有程序包升級成功。
第一指令判斷子???03具體用于檢查程序更新區的升級進度標志是否為0,如果為0,則采集終端已經收到第一單包指令的程序包,升級完成;
如果為1,則判斷是否所有程序包升級成功。
其中,第二升級判斷???0包括:程序接收判斷子???01、程序升級判斷子???02,程序接收判斷子???01用于判斷是否已接收所有程序包;程序升級判斷子???02用于判斷是否所有程序包已升級。
程序接收判斷子???01具體用于檢查所有程序包標志是否為已寫過,如果為已寫過,則進行判斷是否所有程序包已升級的步驟;
如果為未寫過,則返回繼續接收單包指令。
程序升級判斷子???02具體用于判斷程序運行區的CRC校驗碼與全部單包指令的第四校驗碼是否相等,如果相等,則將程序運行區升級狀態字置為程序升級完成;
如果不相等,則升級過程發生錯誤,結束升級。
其中,單點升級???0包括:第三程序判斷子???01、第四程序判斷子???02、第二指令判斷子???03,第三程序判斷子???01用于判斷程序更新區是否已經升級;第四程序判斷子???02用于判斷程序更新區是否正在升級;第二指令判斷子???03用于判斷采集終端是否收到第二單包指令。
第三程序判斷模子塊401具體用于判斷第二單包指令的第五CRC校驗碼與程序更新區的CRC校驗碼是否相等,如果相等,則進行判斷程序更新區是否正在升級的步驟;
如果不相等,則繼續接收其他單包指令。
第四程序判斷子???02具體用于判斷程序更新區的升級狀態字是否為已寫,如果為已寫,則進行判斷采集終端是否收到第二單包指令的步驟;
如果為未寫,則繼續接收其他單包指令。
第二指令判斷子???03具體用于判斷程序更新區的升級進度標志是否 為0,如果為0,則第二單包指令的程序包升級完成;
如果不為0,則繼續接收其他單包指令。
本發明的電力線載波遠程升級方法和終端,集中器發起抄收命令,發出的信息逐級向外擴散,節點在滿足同幀單次轉發限制和上行幀轉發限制的要求下最終遍歷全網,實現全網信息覆蓋。集中器收到控制系統的升級命令后,提取升級程序內容,進行分包,并利用洪泛算法傳輸升級指令,對待升級的采集終端進行程序升級,若廣播升級未成功,針對未成功程序包點對點進行升級,提高了程序升級成功率。
本發明能有多種不同形式的具體實施方式,上面以圖1-圖9為例結合附圖對本發明的技術方案作舉例說明,這并不意味著本發明所應用的具體實例只能局限在特定的流程或實施例結構中,本領域的普通技術人員應當了解,上文所提供的具體實施方案只是多種優選用法中的一些示例,任何體現本發明權利要求的實施方式均應在本發明技術方案所要求?;さ姆段е?。
最后應說明的是:以上所述僅為本發明的優選實施例而已,并不用于限制本發明,盡管參照前述實施例對本發明進行了詳細的說明,對于本領域的技術人員來說,其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的?;し段е?。

關于本文
本文標題:一種電力線載波遠程升級方法和終端.pdf
鏈接地址://www.vmyqew.com.cn/p-1530302.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

[email protected] 2017-2018 www.vmyqew.com.cn網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開