国产精品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>

      不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法

      文檔序號:6375408閱讀:283來源:國知局
      專利名稱:不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法
      技術(shù)領(lǐng)域
      本發(fā)明有關(guān)一種在應(yīng)用升級方法,特別是指一種能節(jié)約人力成本和運營成本的不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法。
      背景技術(shù)
      作為目前光通信產(chǎn)業(yè)中的重要組成部件-光模塊其產(chǎn)能越來越大,工藝及控制技術(shù)越來越復(fù)雜,并且隨著業(yè)務(wù)的多樣化,光通信系統(tǒng)商對光模塊制造商提出了更高的要求,在此背景下光模塊的固件在應(yīng)用升級技術(shù)也被系統(tǒng)廠商格外關(guān)注。例如,如果現(xiàn)有光模塊中沒有使用在線升級技術(shù),系統(tǒng)廠商要對光模塊的性能指標(biāo)做出調(diào)整,或是光模塊固件發(fā)現(xiàn)設(shè)計缺陷,通常的做法是光模塊廠商召回模塊開殼后使用專業(yè)的下載工具重新下載固
      件,這樣做不僅需要消耗大量的人力及運輸成本,而且極易造成光模塊的損壞。目前相對高端的光模塊控制部分大多由基于ARM核的MCU (Micro Control Unit,微控制單元)實現(xiàn),國內(nèi)外知名MCU廠商有些也提供了 MCU固件的在應(yīng)用升級技術(shù)(IAP),但是這些在應(yīng)用升級技術(shù)目前就光模塊的應(yīng)用領(lǐng)域來說還存在一些明顯不足,其中最大的問題是MCU廠商提供的固件在應(yīng)用更新方案都無一例外要求在固件升級前或后MCU要進行一次復(fù)位操作,這樣一來就會使得處于正常通訊中的光模塊中斷了業(yè)務(wù),從而會給運營商造成不可預(yù)知的風(fēng)險。同時,大多數(shù)MCU廠商提供的在應(yīng)用升級技術(shù)都使用串口或者網(wǎng)絡(luò)接口來下載更新固件,這對體積較小的光模塊來說也是難以接受的。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的主要目的在于提供一種實現(xiàn)無縫通訊的不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法。為達到上述目的,本發(fā)明提供一種不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法,在光模塊內(nèi)部程序存儲區(qū)劃分了兩個區(qū)域分別用于存放升級程序和應(yīng)用程序,并劃分專門區(qū)域備份Boot程序的中斷向量表,上位機與光模塊之間通訊,中斷向量表切換,通過程序指針實現(xiàn)Boot程序和應(yīng)用程序之間的跳轉(zhuǎn),所述方法具體包括如下步驟
      步驟I、提取固件內(nèi)容;
      步驟2、進入下載模式;
      步驟3、擦除原固件;
      步驟4、寫入新固件;
      步驟5、進入應(yīng)用模式,數(shù)據(jù)和代碼驗證通過后,上位機發(fā)送退出下載模式命令,退出升級程序轉(zhuǎn)而執(zhí)行新的應(yīng)用程序,光模塊正常工作。所述步驟I具體包括,系統(tǒng)在正常運行過程中光模塊執(zhí)行的是應(yīng)用程序,當(dāng)需要更新模塊固件時,上位機發(fā)送指令進入下載模式。不管程序處于應(yīng)用程序或是Boot程序,都有相應(yīng)的狀態(tài)指示,上位機讀取該指示判斷程序所處狀態(tài),告知操作人員光模塊當(dāng)前MCU運行的是Boot程序還是應(yīng)用程序,上位機并可以發(fā)送命令在這兩個狀態(tài)間進行自由切換,進入步驟2后,如確定需要進行光模塊固件升級,MCU將當(dāng)前中斷向量表切換為Boot程序中斷向量表,程序指針跳轉(zhuǎn)指向Boot程序。在所有升級步驟中,部分控制光模塊的寄存器及I/O端口的狀態(tài)保持不變,光模塊的發(fā)射接收基本功能得以維持,不會對模塊的正常工作造成影響。在所述步驟3中,在下載模式下,上位機發(fā)出擦除命令,擦除光模塊中的指定區(qū)域,并延時至擦除結(jié)束。在所述步驟4中,上位機發(fā)出寫入命令,加載新固件代碼并寫入到光模塊指定的存儲區(qū)內(nèi),通過讀取寫入的數(shù)據(jù)進行驗證,數(shù)據(jù)和代碼驗證通過后進入步驟5。所述光模塊和上位機通過I2C總線進行指令傳輸和固件的更新下載以及模式切換,所用的I2C地址和讀寫方式和光模塊通訊協(xié)議地址相同。整個過程中,MCU和上位機通過I2C總線進行指令傳輸和固件的更新下載,應(yīng)用程序和升級程序的切換由上位機發(fā)送指令進行控制,無需復(fù)位MCU,部分控制光模塊的寄存器及I/O端口的狀態(tài)保持不變,光模塊的發(fā)射接收基本功能得以維持,因此不會造成光模塊工作中斷。


      圖I為本發(fā)明不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法的步驟 圖2為本發(fā)明中步驟1、2的流程 圖3為本發(fā)明中步驟3的流程 圖4為本發(fā)明中步驟4的流程 圖5為本發(fā)明中步驟5的流程圖。
      具體實施例方式為便于對本發(fā)明的方法有進一步的了解,現(xiàn)結(jié)合附圖并舉較佳實施例詳細(xì)說明如下。本發(fā)明利用MCU存儲區(qū)的特點,在MCU內(nèi)部程序存儲區(qū)劃分了兩個區(qū)域分別用于存放升級程序和應(yīng)用程序,對于51核的MCU而言是通過劃分專門區(qū)域備份Boot程序的中斷向量表,對ARM核的MCU而言是通過重映像操作,根據(jù)需要切換Boot程序的中斷向量表和應(yīng)用程序的中斷向量表,通過程序指針實現(xiàn)程序跳轉(zhuǎn),利用中斷向量表的重定位技術(shù),通過外部命令的方式控制MCU在兩個程序中進行自由切換,而處于MCU存儲區(qū)域高端區(qū)域的一些控制光模塊的寄存器、外設(shè)接口、1/0端口等可根據(jù)需要改變或不改變其現(xiàn)有狀態(tài),從而實現(xiàn)設(shè)計思想。通訊系統(tǒng)商或電信運營商若覺得光模塊的固件需要升級,只需要使用更新軟件下載模塊生產(chǎn)廠商提供的新的光模塊固件即可。升級程序的實現(xiàn)方法主要是實現(xiàn)上位機與光模塊的通訊,中斷向量表的切換,以及Boot程序和應(yīng)用程序之間的跳轉(zhuǎn)。存儲空間的分配按照各個程序代碼大小在編譯器中進行設(shè)置。如圖I至圖5所示,本發(fā)明不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法包括如下步驟步驟I、提取固件內(nèi)容,系統(tǒng)在正常運行過程中MCU執(zhí)行的是應(yīng)用程序,當(dāng)需要更新模塊固件時,上位機發(fā)送指令查詢當(dāng)前的固件版本,判斷是否需要更新固件;
      下載命令格式
      S,[A2h], [60h], [4Ch], [4Fh], [41h], [44h], P ……命令 I
      S, [A2h], [60h], c, v, m, d, P......命令 2
      [A2h]是I2C寫地址,[60h]是寄存器地址 [4Ch], [4Fh], [41h], [44h]代表命令”LOAD” c的值由WTD根據(jù)型號指定,模塊比對一致方可下載 V的值由WTD根據(jù)型號指定,模塊比對一致方可下載 m的值由WTD根據(jù)型號指定,模塊比對一致方可下載
      d的值由WTD根據(jù)型號指定,模塊比對一致方可下載 S代表I2C起始符,P代表I2C停止符 模式讀取命令格式
      S,[A2h], [7Fh], P, S,[A3h], [read], P
      [A2h]是I2C寫地址,[A3h]是I2C讀地址,[7Fh]是寄存器地址
      [read]是讀出的模式值
      [read]結(jié)果為66h代表下載模式,其它值代表應(yīng)用模式 S代表I2C起始符,P代表I2C停止符;
      步驟2、進入下載模式,當(dāng)判斷需要更新固件后,通過讀取模式進行模塊型號比對,型號比對通過后,進入下載模式,若型號錯誤,則退出固件應(yīng)用升級;進入下載模式后,MCU將當(dāng)前中斷向量表切換為Boot程序中斷向量表,程序指針跳轉(zhuǎn)指向Boot程序,此時,MCU的各控制寄存器和IO寄存器保持原狀態(tài),不會對模塊的正常工作造成影響;
      步驟3、擦除原固件,在下載模式下,上位機發(fā)出擦除命令,擦除光模塊中的指定區(qū)域,并延時等待擦除結(jié)束;
      擦除扇區(qū)命令格式
      S, [A2h], [E8h],
      , [77h], P [A2h]是I2C寫地址,[E8h]是扇區(qū)擦除命令
      代表起始地址5I2B*8 (IOOOh)
      [77h]代表結(jié)束地址512B*119 (EEOOh所在扇區(qū)最大地址為EFFFh)
      S代表I2C起始符,P代表I2C停止符;
      步驟4、寫入新固件,上位機發(fā)出寫入命令,加載新固件代碼并寫入到MCU指定的存儲區(qū)內(nèi),通過讀取指令讀取所寫數(shù)據(jù)與寫入數(shù)據(jù)進行比對,數(shù)據(jù)和代碼驗證通過后進入下一步驟;
      寫入數(shù)據(jù)格式
      S, [A2h], [9Bh], [CDh], [12h], [34h],…,[EFh], P[A2h]是I2C寫地址
      [9Bh][⑶h]是寫入數(shù)據(jù)的起始地址,定位于81000h+9B⑶h = 8AB⑶h,最大地址格式” [DFh],[FFh] “,對應(yīng)可用地址范圍是SlOOOh 8EFFFh
      [12h], [34h],…,[EFh]代表被寫入的數(shù)據(jù),低地址字節(jié)在前,一次最多寫入32Bytes
      S代表I2C起始符,P代表I2C停止符;
      步驟5、進入應(yīng)用模式,數(shù)據(jù)和代碼驗證通過后,上位機發(fā)送退出下載模式命令,退出升級程序轉(zhuǎn)而執(zhí)行新的應(yīng)用程序,光模塊正常工作。退出下載模式命令格式
      S, [A2h], [EOh], [Olh], [FFh], P[A2h]是I2C寫地址
      [EOh] [Olh]是退出下載模式、進入應(yīng)用 程序命令,對應(yīng)地址定位于81000h+E001h = 8F001h
      [FFh]或其它非O數(shù)值代表使能應(yīng)用程序跳轉(zhuǎn) S代表I2C起始符,P代表I2C停止符。新應(yīng)用程序的第一個動作是恢復(fù)中斷向量表,整個過程中,MCU和上位機通過I2C總線進行指令傳輸和固件的更新下載,應(yīng)用程序和升級程序的切換由上位機發(fā)送指令進行控制,無需復(fù)位MCU,因此不會造成光模塊工作中斷。上述方法步驟中的MCU即光模塊,同時附圖中的A、B、C、D、E、F分別表示各步驟之間的銜接。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
      權(quán)利要求
      1.一種不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法,其特征在于,在光模塊內(nèi)部程序存儲區(qū)劃分了兩個區(qū)域分別用于存放升級程序和應(yīng)用程序,并劃分專門區(qū)域備份Boot程序的中斷向量表,上位機與光模塊之間通訊,中斷向量表切換,通過程序指針實現(xiàn)Boot程序和應(yīng)用程序之間的跳轉(zhuǎn),所述方法具體包括如下步驟 步驟I、提取固件內(nèi)容; 步驟2、進入下載模式; 步驟3、擦除原固件; 步驟4、寫入新固件; 步驟5、進入應(yīng)用模式,數(shù)據(jù)和代碼驗證通過后,上位機發(fā)送退出下載模式命令,退出升級程序轉(zhuǎn)而執(zhí)行新的應(yīng)用程序,光模塊正常工作。
      2.如權(quán)利要求I所述的不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法,其特征在于,所述步驟I具體包括,系統(tǒng)在正常運行過程中光模塊執(zhí)行的是應(yīng)用程序,當(dāng)需要更新模塊固件時,上位機發(fā)送指令進入下載模式。
      3.如權(quán)利要求I所述的不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法,其特征在于,不管程序處于應(yīng)用程序或是Boot程序,都有相應(yīng)的狀態(tài)指示,上位機讀取該指示判斷程序所處狀態(tài),告知操作人員光模塊當(dāng)前MCU運行的是Boot程序還是應(yīng)用程序,上位機并可以發(fā)送命令在這兩個狀態(tài)間進行自由切換,進入步驟2后,如確定需要進行光模塊固件升級,MCU將當(dāng)前中斷向量表切換為Boot程序中斷向量表,程序指針跳轉(zhuǎn)指向Boot程序。
      4.如權(quán)利要求3所述的不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法,其特征在于,在所有升級步驟中,部分控制光模塊的寄存器及I/O端口的狀態(tài)保持不變,光模塊的發(fā)射接收基本功能得以維持,不會對模塊的正常工作造成影響。
      5.如權(quán)利要求I所述的不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法,其特征在于,在所述步驟3中,在下載模式下,上位機發(fā)出擦除命令,擦除光模塊中的指定區(qū)域,并延時,直到擦除完畢。
      6.如權(quán)利要求I所述的不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法,其特征在于,在所述步驟4中,上位機發(fā)出寫入命令,加載新固件代碼并寫入到光模塊指定的存儲區(qū)內(nèi),數(shù)據(jù)和代碼驗證通過后進入步驟5。
      7.如權(quán)利要求I所述的不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法,其特征在于,所述光模塊和上位機通過I2C總線進行指令傳輸和固件的更新下載以及模式切換,所用的I2C地址和讀寫方式和光模塊通訊協(xié)議地址相同。
      全文摘要
      本發(fā)明公開了一種不打斷業(yè)務(wù)的光模塊固件在應(yīng)用升級方法,在光模塊內(nèi)部程序存儲區(qū)劃分了兩個區(qū)域分別用于存放升級程序和應(yīng)用程序,并劃分專門區(qū)域備份Boot程序的中斷向量表,上位機與光模塊之間通訊,中斷向量表切換,通過程序指針實現(xiàn)Boot程序和應(yīng)用程序之間的跳轉(zhuǎn),所述方法具體包括如下步驟1、提取固件內(nèi)容;2、進入下載模式,更新固件;3、擦除原固件;4、寫入新固件;5、進入應(yīng)用模式,數(shù)據(jù)和代碼驗證通過后,上位機發(fā)送退出下載模式命令,退出升級程序轉(zhuǎn)而執(zhí)行新的應(yīng)用程序,光模塊正常工作。本發(fā)明應(yīng)用程序和升級程序的切換由上位機發(fā)送指令進行控制,無需復(fù)位MCU,因此不會造成光模塊工作中斷。
      文檔編號G06F9/445GK102855151SQ20121029840
      公開日2013年1月2日 申請日期2012年8月21日 優(yōu)先權(quán)日2012年8月21日
      發(fā)明者袁濤, 余向紅, 陳序光 申請人:武漢電信器件有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1