把信息傳輸給糾錯模塊,由“時鐘糾錯對時”模塊對信息進(jìn)行判斷處理,最后實(shí)現(xiàn)自動更新“時鐘模塊”的時間。
[0026]如圖3所示固件升級模塊用于電能表內(nèi)固件升級和參數(shù)更新,包括嚴(yán)密握手鏈接機(jī)制,數(shù)據(jù)補(bǔ)包策略,多重?cái)?shù)據(jù)安全校驗(yàn),模塊獨(dú)立化。
[0027]①嚴(yán)密握手鏈接機(jī)制:客戶端與表端通過嚴(yán)密的雙向認(rèn)證策略進(jìn)行握手連接,只有客戶端和表端都對對方認(rèn)證通過后才能連接成功,然后電表接收客戶端發(fā)送來的升級使能開關(guān),打開升級功能,數(shù)據(jù)傳輸通過雙方協(xié)商的加密算法和認(rèn)證進(jìn)行,確保數(shù)據(jù)傳輸?shù)陌踩?br>[0028]②數(shù)據(jù)補(bǔ)包策略:為了提高升級效率,在絕大多數(shù)產(chǎn)品完成升級以后,需要結(jié)合單播傳輸方式。在電表和客戶端之間我們定義位標(biāo)識符來指示每個產(chǎn)品每包數(shù)據(jù)的傳輸情況,客戶端根據(jù)網(wǎng)段內(nèi)產(chǎn)品實(shí)時升級成功狀態(tài)標(biāo)識符,決定是再進(jìn)行廣播升級,還是單播升級,最終將網(wǎng)段內(nèi)所有產(chǎn)品的固件數(shù)據(jù)全部完成升級。
[0029]③多重?cái)?shù)據(jù)安全校驗(yàn):電表端在升級開始時接收客戶端發(fā)來的升級文件信息,判斷是否合法,如果合法進(jìn)行升級初始化;電表端在接收升級文件完成后,開始對文件進(jìn)行檢查校驗(yàn),確認(rèn)升級文件有效及正確后,激活升級程序。
[0030]④模塊獨(dú)立化:通常固件升級只需要更新表上的很小一部分固件,如果能只對其中需要更新的部分進(jìn)行升級,就能減少升級內(nèi)容,提高升級效率。因此我們研究了采用電表固件進(jìn)行模塊化設(shè)計(jì),固件存儲進(jìn)行模塊化管理,要點(diǎn)實(shí)施方法如下⑴使用“分散加載描述文件的功能”,源程序在編譯前,利用開發(fā)平臺自帶的分散加載機(jī)制功能,按程序設(shè)計(jì)的功能模塊劃分多個區(qū)域,并設(shè)置區(qū)域位置及大小,功能模塊之間使用固定的函數(shù)入口地址。⑵偽指令和函數(shù)殼減少更新程序的范圍,功能模塊劃分完區(qū)域,區(qū)域之間會相互調(diào)用函數(shù),為減少程序更新的范圍,需要在不影響正常運(yùn)行的前提下切斷區(qū)域之間的連帶更新。對需要相互調(diào)用的函數(shù)建立相應(yīng)函數(shù)殼,同時使用偽指令固定函數(shù)殼在區(qū)域內(nèi)的位置。⑶使用空類型指針減少更新程序的范圍,函數(shù)經(jīng)常需要傳遞各種參數(shù),同時功能模塊中還有各種變量需要使用或被其他模塊調(diào)用。使用I級(或2級)空類型指針不會擴(kuò)大關(guān)聯(lián)區(qū)域的更新范圍。
[0031 ]具體升級過程如下:
(1).電表固件通過分散加載機(jī)制為鏈接器指定映像文件的存儲器映射信息,實(shí)現(xiàn)對映像組件分組和布局的全面控制;
(2).電表固件的區(qū)域內(nèi)函數(shù)組織方法,區(qū)域之間需要相互調(diào)用的函數(shù)在固件中使用函數(shù)殼和偽指令控制區(qū)域的連帶關(guān)系,減少區(qū)域之間連帶升級;
(3).電表固件的區(qū)域內(nèi)需要使用全局變量、數(shù)組,區(qū)域之間需要相互調(diào)用全局變量、數(shù)組,這些全局變量、數(shù)組以及區(qū)域之間相互調(diào)用的函數(shù)的參數(shù)需要變化,在電表固件中使用I級、2級甚至多級空類型指針變量控制區(qū)域的連帶關(guān)系,減少區(qū)域之間連帶升級;
(4).將需要升級的區(qū)域編譯生成BIN文件,并在文件的開頭增加升級信息,制成升級固件包;通過通信網(wǎng)絡(luò)下載至表端;
(5).客戶端與表端通過嚴(yán)密的雙向認(rèn)證策略進(jìn)行握手連接,表端接收客戶端發(fā)送來的升級使能開關(guān),打開升級功能;
(6).表端接收客戶端發(fā)來的升級文件信息,判斷是否合法,如果合法進(jìn)行升級初始化;
(7).表端開始接收客戶端廣播發(fā)送的升級文件數(shù)據(jù)包,并記錄每個升級塊的傳輸狀態(tài);
(8).表端收到客戶端發(fā)送的狀態(tài)查詢命令,發(fā)送升級塊的傳輸狀態(tài)字給客戶端;
(9).客戶端運(yùn)行數(shù)據(jù)補(bǔ)全策略,決定是再進(jìn)行廣播升級,還是定點(diǎn)升級;
(10).客戶端開始傳輸數(shù)據(jù)包;
(11).表端完成升級后,開始對文件進(jìn)行檢查校驗(yàn),確認(rèn)升級文件正確后,激活升級程序。
[0032]本發(fā)明未涉及部分均與現(xiàn)有技術(shù)相同或可采用現(xiàn)有技術(shù)加以實(shí)現(xiàn)。
【主權(quán)項(xiàng)】
1.一種時鐘免維護(hù)固件易升級的智能電能表,其特征是它包括MCU以及與之連接的電源模塊,計(jì)量模塊,時鐘模塊,通信模塊,固件升級模塊,存儲模塊和顯示模塊。2.—種時鐘免維護(hù)固件易升級的智能電能表升級方法,其特征是它包括: 51、固件模塊化設(shè)置步驟; 52、升級文件數(shù)據(jù)包生成步驟; 53、嚴(yán)密握手連接步驟; 54、數(shù)據(jù)升級補(bǔ)包步驟。3.根據(jù)權(quán)利要求2所述的時鐘免維護(hù)固件易升級的智能電能表升級方法,其特征是所述的步驟SI具體為:在鏈接器中,根據(jù)應(yīng)用需求將電表固件劃分為若干個固件模塊,在電表端存儲器中對應(yīng)于各固件模塊的劃分相應(yīng)的存儲區(qū)域,各固件模塊具有相應(yīng)的存儲區(qū)域標(biāo)識符,鏈接器中各固件模塊與電表端存儲器中的對應(yīng)區(qū)域具有一一對應(yīng)的映射關(guān)系。4.根據(jù)權(quán)利要求3所述的時鐘免維護(hù)固件易升級的智能電能表升級方法,其特征是所述的各固件模塊的區(qū)域內(nèi)函數(shù)組織方法,模塊區(qū)域之間相互調(diào)用的函數(shù)使用函數(shù)殼和偽指令控制各模塊區(qū)域的連帶關(guān)系,減少各模塊區(qū)域之間連帶升級。5.根據(jù)權(quán)利要求2所述的時鐘免維護(hù)固件易升級的智能電能表升級方法,其特征是所述的步驟S2具體為:將需要升級的固件模塊編譯生成BIN文件,并在文件的開頭增加升級信息,制成升級文件數(shù)據(jù)包。6.根據(jù)權(quán)利要求2所述的時鐘免維護(hù)固件易升級的智能電能表升級方法,其特征是所述的步驟S3具體為:客戶端與表端通過雙向認(rèn)證進(jìn)行握手連接,當(dāng)客戶端和表端都對對方認(rèn)證通過后才能連接成功。7.根據(jù)權(quán)利要求2所述的時鐘免維護(hù)固件易升級的智能電能表升級方法,其特征是所述的步驟S4具體為:: S4-1、客戶端向各電表端發(fā)送升級使能請求,各電表端啟動數(shù)據(jù)升級步驟; S4-2、客戶端向各電表端發(fā)送升級信息,各電表端對接收的客戶端發(fā)來的升級信息合法性進(jìn)行判斷,如果合法,進(jìn)行升級初始化,如果不合法,放棄操作; S4-3、升級初始化完成后,客戶端向各表端廣播發(fā)送升級文件數(shù)據(jù)包,并記錄每個升級文件數(shù)據(jù)包的傳輸狀態(tài); S4-4、各電表端接收到升級文件數(shù)據(jù)包后,更新電表端的升級文件數(shù)據(jù)包接收狀態(tài)標(biāo)識符; S4-5、客戶端向各電表端發(fā)送步驟S4中所述的升級文件數(shù)據(jù)包接收狀態(tài)標(biāo)識符的查詢命令,各電表端收到查詢命令后,將升級文件數(shù)據(jù)包接收狀態(tài)標(biāo)識符發(fā)送給客戶端; S4-6、客戶端識別各電表端的升級文件數(shù)據(jù)包接收狀態(tài)標(biāo)識符,如果升級文件數(shù)據(jù)包的接收比率超過90%,客戶端對沒有接收到升級文件數(shù)據(jù)包的各電表端進(jìn)行定點(diǎn)傳輸,再次發(fā)送升級文件數(shù)據(jù)包;否則,客戶端再次廣播升級文件數(shù)據(jù)包至所有的電表端; S4-7、重復(fù)步驟S4-6直到所有的電表端都成功收到升級文件數(shù)據(jù)包,電表端對收到的升級文件數(shù)據(jù)包進(jìn)行解析,獲取升級文件數(shù)據(jù)包中的存儲區(qū)域標(biāo)識符,根據(jù)存儲區(qū)域標(biāo)識符查找對應(yīng)的存儲區(qū)域,對存儲區(qū)域中的相應(yīng)固件模塊進(jìn)行升級; S4-8、電表端完成升級后,開始對文件進(jìn)行檢查校驗(yàn),確認(rèn)升級文件正確后,激活升級程序。
【專利摘要】一種時鐘免維護(hù)固件易升級的智能電能表及其升級方法,它包括MCU以及與之連接的電源模塊,計(jì)量模塊,時鐘模塊,通信模塊,固件升級模塊,存儲模塊和顯示模塊;該方法包括:S1、固件模塊化設(shè)置步驟;S2、升級文件數(shù)據(jù)包生成步驟;S3、嚴(yán)密握手連接步驟;S4、數(shù)據(jù)升級補(bǔ)包步驟。本發(fā)明使用時,電能表現(xiàn)場安裝后無需對時鐘進(jìn)行維護(hù),因功能增加進(jìn)行固件升級時方便快速可靠。
【IPC分類】G06F9/445, G07F15/06
【公開號】CN105607922
【申請?zhí)枴緾N201510880156
【發(fā)明人】張建輝, 丁恒春, 巨漢基, 袁瑞銘, 錢謝成, 米小兵
【申請人】江蘇林洋能源股份有限公司, 冀北電力有限公司計(jì)量中心
【公開日】2016年5月25日
【申請日】2015年12月6日