專利名稱:軟件升級方法、裝置和光模塊的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及軟件升級方法、裝置和光模塊。
背景技術(shù):
光模塊是光傳輸系統(tǒng)的重要器件,主要裝配在波分/接入等產(chǎn)品設(shè)備板上使用。常見的光模塊包括光發(fā)送器、光接收器、光收發(fā)一體模塊(Transceiver)和光轉(zhuǎn)發(fā)器 (Transponder)。隨著光模塊技術(shù)迅猛發(fā)展,配套的軟件實現(xiàn)也逐漸趨向于復(fù)雜多樣。為了能動態(tài)地滿足客戶需求,光模塊軟件的升級功能變得越來越重要,而光模塊的軟件升級主要依靠所應(yīng)用的母板軟件?,F(xiàn)有的光模塊軟件升級方法主要包括如下步驟S101,母板發(fā)送命令通知光模塊即將進行軟件升級操作;S102,光模塊收到命令后,做好升級準(zhǔn)備并向母板反饋簡單的應(yīng)答信號,該應(yīng)答信號標(biāo)識操作是否完成;S103,母板向光模塊寫入升級的軟件文件;—般地,母板會多次下發(fā)同樣類型的寫入命令,將升級的軟件文件分包傳輸至光模塊。對于某些光模塊,母板甚至需要了解這些升級的軟件文件存放在光模塊哪一片區(qū)域內(nèi),并且根據(jù)光模塊內(nèi)的存儲介質(zhì)特性,進行特定的操作。例如,假設(shè)升級的軟件文件應(yīng)該存儲在光模塊內(nèi)部FLASH中,母板會先下發(fā)對FLASH指定區(qū)域的擦除命令(因為FLASH具有以下特性數(shù)據(jù)1可以直接寫為0,但是0不能直接寫為1,如果想要將0寫為1,必須先對數(shù)據(jù)區(qū)域執(zhí)行擦除操作),再下發(fā)各包寫入數(shù)據(jù)命令,如此,母板需要對光模塊內(nèi)部細節(jié)清楚地了解,光模塊封裝性較差。S104,光模塊按先后順序依次將升級的軟件文件包存放到模塊內(nèi)部的存儲介質(zhì)上,針對各個包,分別向母板返回簡單的應(yīng)答信號,標(biāo)識操作是否完成;S105,母板完成軟件文件全部數(shù)據(jù)的傳輸,發(fā)送升級結(jié)束命令通知光模塊運行新版本軟件。以上各步驟中,母板發(fā)送的命令幀一般包含命令碼字段、命令長度字段、純數(shù)據(jù)字段和校驗字段等信息,其中,命令碼字段用以識別各種命令含義,例如,步驟SlOl的升級準(zhǔn)備命令和步驟S105的升級結(jié)束命令對應(yīng)命令碼不同,便于光模塊側(cè)接收解析;命令長度字段標(biāo)識整個命令幀長度;純數(shù)據(jù)字段是凈負荷軟件版本數(shù)據(jù);校驗字段承載校驗信息,用于校驗幀有效性。隨著光模塊生產(chǎn)廠家以及光模塊類型的不同,以上各字段要求填充的字節(jié)數(shù)目以及具體數(shù)值都有差異。因此現(xiàn)有的光模塊軟件升級方法中,母板需要通過識別光模塊的具體類型,按照特定的約束條件進行組幀,然后發(fā)送至光模塊。模塊側(cè)的響應(yīng)幀/應(yīng)答信號一般包含命令執(zhí)行狀態(tài)字段和校驗字段等信息,其中,命令執(zhí)行狀態(tài)字段標(biāo)識命令執(zhí)行成功或者失敗或者忙碌等信息;校驗字段用于校驗幀有效性。母板在解讀光模塊的響應(yīng)幀時,根據(jù)命令執(zhí)行狀態(tài),需要進行不同的時序控制。當(dāng)光模塊返回忙狀態(tài),母板重試機制,例如,重試次數(shù)以及重試等待時間,都是因光模塊而異的。若新引入一種光模塊,這些控制都要重新調(diào)整,增加母板適配的復(fù)雜性。由于不同的光模塊各步驟的命令幀格式/命令碼不同,要求的通信時序也不盡相同,因此母板在發(fā)送命令之前的組幀、發(fā)送幀流量控制以及等待光模塊響應(yīng)的時間配置上都要區(qū)分對待,單獨處理。從以上說明可知,由于不同類型的光模塊選用的器件在硬件特性上存在一定的差異,使得母板在對光模塊進行軟件升級時需要考慮不同的傳輸時序和數(shù)據(jù)流量,現(xiàn)有的光模塊升級方法與光模塊類型是強相關(guān)的。當(dāng)一種母板在不同的組網(wǎng)環(huán)境下需要裝配不同的光模塊時,母板軟件必須兼容這些光模塊的差異,如此不僅增加了母板軟件的開發(fā)成本,也極容易在現(xiàn)網(wǎng)引入復(fù)雜的升級問題。
發(fā)明內(nèi)容
本發(fā)明實施例提供了軟件升級方法、裝置和光模塊,能夠屏蔽不同類型光模塊的差異,使得母板使用同一種方法升級各種類型光模塊。本發(fā)明實施例提供的軟件升級方法,包括母板接收光模塊返回的響應(yīng)幀,所述響應(yīng)幀包括用于指示所述母板下次發(fā)送指定長度的數(shù)據(jù)包的指示;所述母板根據(jù)所述指示信息,從升級文件中獲取所述指定長度的數(shù)據(jù)包發(fā)送至所述光模塊,所述升級文件封裝有升級命令幀。本發(fā)明實施例提供的軟件升級方法,包括光模塊接收母板發(fā)送的數(shù)據(jù)包,所述數(shù)據(jù)包由所述母板從升級文件獲取,所述升級文件封裝有升級命令幀;所述光模塊解析所述數(shù)據(jù)包以執(zhí)行相應(yīng)的命令;所述光模塊向所述母板返回響應(yīng)幀,所述響應(yīng)幀包括用于指示所述母板下次發(fā)送指定長度的數(shù)據(jù)包的指示。本發(fā)明實施例提供的軟件升級裝置,包括響應(yīng)幀接收模塊,用于接收光模塊返回的響應(yīng)幀,所述響應(yīng)幀包括用于指示所述母板下次發(fā)送指定長度的數(shù)據(jù)包的指示;獲取模塊,用于根據(jù)所述指示從升級文件中獲取所述指定長度的數(shù)據(jù)包;發(fā)送模塊,用于發(fā)送所述獲取模塊獲取的指定長度數(shù)據(jù)包至所述光模塊,所述升級文件封裝有升級命令幀。本發(fā)明實施例提供的光模塊,包括數(shù)據(jù)包接收模塊,用于接收母板發(fā)送的數(shù)據(jù)包,所述數(shù)據(jù)包由所述母板從升級文件獲取,所述升級文件封裝有升級命令幀;解析模塊, 用于解析所述數(shù)據(jù)包以執(zhí)行相應(yīng)的命令;返回模塊,用于向所述母板返回響應(yīng)幀,所述響應(yīng)幀包括用于指示所述母板下次發(fā)送指定長度的數(shù)據(jù)包的指示。從上述本發(fā)明實施例可知,由于升級命令幀是封裝在升級文件中,母板接收光模塊返回的響應(yīng)幀后,可以根據(jù)其中的指示從升級文件中獲取指定長度的數(shù)據(jù)包發(fā)送至所述光模塊。因此,與現(xiàn)有技術(shù)提供的光模塊軟件升級方法相比,本發(fā)明實施例提供的光模塊軟件升級方法屏蔽了不同光模塊類型的差異,具有良好的擴展性,能夠方便地擴展至新類型光模塊的升級實現(xiàn),由此規(guī)避了各類型光模塊升級方法不一致引入的兼容性變差的問題, 降低了母板軟件的開發(fā)成本。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對現(xiàn)有技術(shù)或?qū)嵤├枋鲋兴枰褂玫母綀D作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域技術(shù)人員來講,還可以如這些附圖獲得其他的附圖。圖1-1是本發(fā)明實施例提供的軟件升級方法流程示意圖;圖1-2是本發(fā)明實施例提供的升級命令幀結(jié)構(gòu)示意圖;圖1-3是本發(fā)明實施例提供的只包含升級用的數(shù)據(jù)的文件和包含了升級命令幀的升級文件的示意圖;圖2-1是本發(fā)明另一實施例提供的軟件升級方法流程示意圖;圖2-2是本發(fā)明實施例提供的響應(yīng)幀結(jié)構(gòu)示意圖;圖3是本發(fā)明實施例提供的軟件升級裝置結(jié)構(gòu)示意圖;圖4是本發(fā)明另一實施例提供的光模塊結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域技術(shù)人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。請參閱圖1-1,本發(fā)明實施例提供的軟件升級方法流程示意圖,主要包括步驟S101,母板接收光模塊返回的響應(yīng)幀,所述響應(yīng)幀包括用于指示所述母板下次發(fā)送指定長度的數(shù)據(jù)包的指示信息。光模塊返回的響應(yīng)幀是光模塊接收母板下發(fā)的數(shù)據(jù)包后所作的響應(yīng)?,F(xiàn)有技術(shù)中,母板發(fā)送的數(shù)據(jù)包的長度是由母板軟件靜態(tài)配置,不同的光模塊,這些配置都不一樣, 因此,增加了母板軟件開發(fā)的成本。與現(xiàn)有技術(shù)不同,在本發(fā)明實施例中,光模塊返回的響應(yīng)幀包括用于指示母板下次發(fā)送指定長度的數(shù)據(jù)包的指示信息,母板每次發(fā)送的數(shù)據(jù)包的長度可以由光模塊指定。母板根據(jù)光模塊的指示,動態(tài)變化發(fā)送的數(shù)據(jù)包的長度,避免了存在多種光模塊時適配成本增加的問題。需要說明的是,在本發(fā)明實施例中,母板發(fā)送第一個數(shù)據(jù)包時,由于發(fā)送第一個數(shù)據(jù)包之前不可能收到響應(yīng)幀,因此,母板向光模塊發(fā)送的第一個數(shù)據(jù)包的長度可以由母板和光模塊約定。在本發(fā)明另一實施例中,響應(yīng)幀還包括時間信息,該時間信息用于指示母板讀取響應(yīng)幀對應(yīng)的命令的執(zhí)行狀態(tài)所需等待時間。例如,當(dāng)光模塊正在處理接收的升級數(shù)據(jù)時, 光模塊向母板返回的響應(yīng)幀可以攜帶一個時間信息,通知母板讀取響應(yīng)幀對應(yīng)的命令的執(zhí)行狀態(tài),例如,命令執(zhí)行成功或執(zhí)行失敗需要的等待時間。在所述等待時間到達時,母板開始訪問響應(yīng)幀對應(yīng)的命令的執(zhí)行狀態(tài)。為了驗證母板和光模塊之間通信是否有效,在本發(fā)明另一個實施例中,響應(yīng)幀還包括該響應(yīng)幀對應(yīng)的數(shù)據(jù)包的包號。例如,母板發(fā)送包號為1的數(shù)據(jù)包,則光模塊返回的響應(yīng)幀包括該包號為1這一信息;母板獲知這一信息后,發(fā)送包號為2的數(shù)據(jù)包。S102,母板根據(jù)所述指示信息,從升級文件中獲取所述指定長度的數(shù)據(jù)包發(fā)送至所述光模塊,所述升級文件封裝有升級命令幀。在本發(fā)明實施例中,升級命令幀格式如附圖1-2所示,其包含命令碼、升級用的數(shù)據(jù)和校驗和等,事先封裝于升級文件中。附圖1-3給出了只包含升級用的數(shù)據(jù)的文件(附圖1-3左半部分)和包含了升級命令幀的升級文件(附圖1-3右半部分)的示意圖。實際上,將升級用的數(shù)據(jù)分包,對每包數(shù)據(jù)添加命令碼信息(附圖1-3右半部分中的“FD FC”)、 包長信息(附圖1-3右半部分中的“FA”)、包號信息(附圖1-3右半部分中的“OA”)以及校驗和信息(附圖1-3右半部分中的“5E”)等過程即是升級命令幀封裝于升級文件的過程。附圖1-3的左半部分和右半部分是以附圖1-3中間的所示豎線界定。在本發(fā)明實施例中,母板無需像現(xiàn)有技術(shù)一樣去了解各升級步驟的命令格式,然后按照這些命令格式組成相應(yīng)的命令幀。母板只要根據(jù)響應(yīng)幀中的指示,從升級文件中獲取指定長度的數(shù)據(jù)包發(fā)送至光模塊,或者,母板根據(jù)與光模塊的約定,在發(fā)送第一個數(shù)據(jù)包時,從升級文件中獲取約定長度的數(shù)據(jù)包發(fā)送至光模塊。對母板而言,整個升級操作類似于 “黑盒”操作,即,母板并不知道發(fā)送至光模塊的數(shù)據(jù)包包含的內(nèi)容。升級文件的這種特性在很大程度上解除了與母板的耦合。需要說明的是,由于各項升級命令幀不是由母板封裝,因此,在母板接收光模塊返回的響應(yīng)幀之前,母板可以從其他介質(zhì)或數(shù)據(jù)庫讀取封裝有各項升級命令幀的升級文件。從上述本發(fā)明實施例可知,由于升級命令幀是封裝在升級文件中,母板接收光模塊返回的響應(yīng)幀后,可以根據(jù)其中的指示從升級文件中獲取指定長度的數(shù)據(jù)包發(fā)送至所述光模塊。因此,與現(xiàn)有技術(shù)提供的光模塊軟件升級方法相比,本發(fā)明實施例提供的光模塊軟件升級方法屏蔽了不同光模塊類型的差異,具有良好的擴展性,能夠方便地擴展至新類型光模塊的升級實現(xiàn),由此規(guī)避了各類型光模塊升級方法不一致引入的兼容性變差的問題, 降低了母板軟件的開發(fā)成本。請參閱圖2-1,本發(fā)明另一實施例提供的軟件升級方法流程示意圖,主要包括步驟S201,光模塊接收母板發(fā)送的數(shù)據(jù)包。在本實施例中,數(shù)據(jù)包是由母板從升級文件獲取,該升級文件封裝有升級命令幀, 該升級命令幀包含有如下信息升級命令碼、升級軟件數(shù)據(jù)和幀校驗和等。S202,光模塊解析接收到的數(shù)據(jù)包,執(zhí)行相應(yīng)的升級命令。對光模塊而言,盡管其接收的是數(shù)據(jù)包,但仍然按照升級命令幀格式解析出相應(yīng)的命令后執(zhí)行。例如,若數(shù)據(jù)包包含了“升級開始”命令,則光模塊在解析了該數(shù)據(jù)包后,做好升級準(zhǔn)備工作;再如,若數(shù)據(jù)包包含了 “寫入升級文件”命令,則光模塊在解析了該數(shù)據(jù)包后,存儲升級文件;還如,若數(shù)據(jù)包包含了 “升級完成”命令,則光模塊在解析了該數(shù)據(jù)包后, 運行新版本的軟件。S203,光模塊向母板返回響應(yīng)幀,所述響應(yīng)幀包括用于指示所述母板下次發(fā)送指定長度的數(shù)據(jù)包的指示信息。返回的響應(yīng)幀是光模塊在步驟S201中接收母板下發(fā)的數(shù)據(jù)包后所作的響應(yīng)。在本發(fā)明實施例中,響應(yīng)幀包括用于指示母板下次發(fā)送指定長度的數(shù)據(jù)包的指示信息。如附圖2-2所示,是本發(fā)明實施例提供的響應(yīng)幀的格式,其包括包號、當(dāng)前幀執(zhí)行狀態(tài)和4個字節(jié)數(shù)據(jù)等字段,包號(IByte),即當(dāng)前數(shù)據(jù)幀包號,與接收到的母板命令幀包號一致,用于校驗幀的實時性;當(dāng)前幀執(zhí)行狀態(tài),即STS字段,根據(jù)STS不同,4字節(jié)數(shù)據(jù)字段對應(yīng)的意義也不同,如下表一所示
權(quán)利要求
1.一種軟件升級方法,其特征在于,所述方法包括母板接收光模塊返回的響應(yīng)幀,所述響應(yīng)幀包括用于指示所述母板下次發(fā)送指定長度的數(shù)據(jù)包的指示;所述母板根據(jù)所述指示信息,從升級文件中獲取所述指定長度的數(shù)據(jù)包發(fā)送至所述光模塊,所述升級文件封裝有升級命令幀。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述響應(yīng)幀還包括時間信息,所述時間信息用于指示所述母板讀取所述響應(yīng)幀對應(yīng)的命令的執(zhí)行狀態(tài)所需等待時間;所述母板根據(jù)所述指示從升級文件中獲取所述指定長度的數(shù)據(jù)包發(fā)送至所述光模塊為所述母板在所述等待時間到達時,根據(jù)所述指示從升級文件中獲取所述指定長度的數(shù)據(jù)包發(fā)送至所述光模塊。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述響應(yīng)幀還包括所述響應(yīng)幀對應(yīng)的數(shù)據(jù)包的包號。
4.根據(jù)權(quán)利要求1至3任意一項所述的方法,其特征在于,所述升級命令幀包括命令碼、升級用的數(shù)據(jù)和校驗和。
5.一種軟件升級方法,其特征在于,所述方法包括光模塊接收母板發(fā)送的數(shù)據(jù)包,所述數(shù)據(jù)包由所述母板從升級文件獲取,所述升級文件封裝有升級命令幀;所述光模塊解析所述數(shù)據(jù)包以執(zhí)行相應(yīng)的命令;所述光模塊向所述母板返回響應(yīng)幀,所述響應(yīng)幀包括用于指示所述母板下次發(fā)送指定長度的數(shù)據(jù)包的指示。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述響應(yīng)幀還包括時間信息,所述時間信息用于指示所述母板訪問所述響應(yīng)幀對應(yīng)的命令的執(zhí)行狀態(tài)所需等待時間。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述響應(yīng)幀還包括所述響應(yīng)幀對應(yīng)的數(shù)據(jù)包的包號。
8.一種升級裝置,其特征在于,所述裝置包括響應(yīng)幀接收模塊,用于接收光模塊返回的響應(yīng)幀,所述響應(yīng)幀包括用于指示所述母板下次發(fā)送指定長度的數(shù)據(jù)包的指示;獲取模塊,用于根據(jù)所述指示從升級文件中獲取所述指定長度的數(shù)據(jù)包;發(fā)送模塊,用于發(fā)送所述獲取模塊獲取的指定長度數(shù)據(jù)包至所述光模塊,所述升級文件封裝有升級命令幀。
9.如權(quán)利要求8所述的裝置,其特征在于,所述響應(yīng)幀還包括時間信息,所述時間信息用于指示所述母板讀取所述響應(yīng)幀對應(yīng)的命令的執(zhí)行狀態(tài)所需等待時間;所述獲取模塊還用于在所述等待時間到達時,根據(jù)所述指示從升級文件中獲取所述指定長度的數(shù)據(jù)包;所述發(fā)送模塊還用于在所述等待時間到達時發(fā)送所述獲取模塊獲取的指定長度數(shù)據(jù)包至所述光模塊。
10.如權(quán)利要求8或9所述的裝置,其特征在于,所述升級命令幀包括命令碼、升級用的數(shù)據(jù)和校驗和。
11.一種光模塊,其特征在于,包括數(shù)據(jù)包接收模塊,用于接收母板發(fā)送的數(shù)據(jù)包,所述數(shù)據(jù)包由所述母板從升級文件獲取,所述升級文件封裝有升級命令幀;解析模塊,用于解析所述數(shù)據(jù)包以執(zhí)行相應(yīng)的命令;返回模塊,用于向所述母板返回響應(yīng)幀,所述響應(yīng)幀包括用于指示所述母板下次發(fā)送指定長度的數(shù)據(jù)包的指示。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述響應(yīng)幀還包括時間信息,所述時間信息用于指示所述母板讀取所述響應(yīng)幀對應(yīng)的命令的執(zhí)行狀態(tài)所需等待時間。
全文摘要
本發(fā)明實施例提供了軟件升級方法、裝置和光模塊,能夠屏蔽不同類型光模塊的差異,使得母板使用同一種方法升級各種類型光模塊。所述方法包括母板接收光模塊返回的響應(yīng)幀,所述響應(yīng)幀包括用于指示所述母板下次發(fā)送指定長度的數(shù)據(jù)包的指示;所述母板根據(jù)所述指示信息,從升級文件中獲取所述指定長度的數(shù)據(jù)包發(fā)送至所述光模塊,所述升級文件封裝有升級命令幀。本發(fā)明實施例提供的光模塊軟件升級方法屏蔽了不同光模塊類型的差異,具有良好的擴展性,能夠方便地擴展至新類型光模塊的升級實現(xiàn),由此規(guī)避了各類型光模塊升級方法不一致引入的兼容性變差的問題,降低了母板軟件的開發(fā)成本。
文檔編號G06F9/445GK102203732SQ201180000667
公開日2011年9月28日 申請日期2011年5月27日 優(yōu)先權(quán)日2011年5月27日
發(fā)明者葉俳岑, 吳艷琴 申請人:華為技術(shù)有限公司