專(zhuān)利名稱(chēng):智能平臺(tái)管理控制器的在線(xiàn)升級(jí)系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電信技術(shù)領(lǐng)域,尤其涉及高級(jí)電信計(jì)算架構(gòu)(ATCA, Advanced Telecom Computing Architecture )中的智能平臺(tái)管理控制器 (IPMC, Intelligent Platform Management Controller )在線(xiàn)升級(jí)技術(shù)。
背景技術(shù):
ATCA是外設(shè)部件互連(PCI , Peripheral Component Interconnect)工業(yè) 計(jì)算機(jī)組織(PICMG, PCI Industrial Computer Manufacturers Group )提出的 一種開(kāi)放式、可互操作的通用標(biāo)準(zhǔn)系統(tǒng)平臺(tái)。目前已獲得許多通信設(shè)備提供 商的重視、開(kāi)發(fā)和應(yīng)用。
圖1為現(xiàn)有ATCA設(shè)備的機(jī)框管理架構(gòu)實(shí)現(xiàn)示意圖。參見(jiàn)圖l,在這種 ATCA設(shè)備的機(jī)框管理架構(gòu)中,主要包括設(shè)置在機(jī)框插槽中的多個(gè)ATCA單 板以及機(jī)框管理器(SHMC, ShelfManagement Controller )。所述各個(gè)ATCA 單板中包括IPMC以及載荷(payload )。所述IPMC主要用于監(jiān)控單板上電、 溫度、電壓以及功率,管理單板的熱插拔,以及上報(bào)告警信息至SHMC并 執(zhí)行SHMC的命令,IPMC通常選用微控制器(MCU, Micro Controller Unit) 來(lái)實(shí)現(xiàn),所述MCU可以是如MCS51、 ARM等系列微控制器。所述SHMC 主要用于對(duì)機(jī)框內(nèi)的單板、溫度、風(fēng)扇以及電源等現(xiàn)場(chǎng)置換單元(FRUs, FieldReplaceable Units )進(jìn)行智能調(diào)節(jié)和管理。所述SHMC和各ATCA單板 的IPMC通過(guò)智能平臺(tái)管理總線(xiàn)(IPMB, Intelligent Platform Management Bus)連接。所述IPMB由兩對(duì)獨(dú)立的I2C總線(xiàn)組成,分別稱(chēng)為IPMB-A、 IPMB-B, SHMC和IPMC之間使用智能化平臺(tái)管理接口 (IPMI)V1.5協(xié)議 傳送IPMI消 息o所述IPMI消息分為請(qǐng)求消息和響應(yīng)消息,消息字段的校驗(yàn)和為累加和
校驗(yàn),該校驗(yàn)和的確定方法是校驗(yàn)碼的初始值為O,對(duì)待發(fā)送的數(shù)據(jù)以字
節(jié)為單位,與初始值相加模256,結(jié)果再取反即得校驗(yàn)和checksum。例如,
圖2所示為IPMI請(qǐng)求消息的格式,其中
校驗(yàn)和1=-[(目的地址+網(wǎng)絡(luò)功能號(hào))mod256 ];
校驗(yàn)和2=-[(目的地址+消息序列號(hào)+命令字+數(shù)據(jù)字節(jié))mod 256 ]。
在ATC A設(shè)備的軟件程序開(kāi)發(fā)測(cè)試階段及工程維護(hù)階段,需要對(duì)IPMC
中的MCU軟件程序進(jìn)行版本升級(jí)。現(xiàn)有技術(shù)中的IPMC升級(jí)方案主要有三種。
現(xiàn)有技術(shù)一離線(xiàn)升級(jí)。即將ATCA單板從機(jī)框中卸下來(lái),把可插拔 的MCU芯片從ATCA單板上的芯片底座上拔出,放置在在程序燒寫(xiě)器上升 級(jí)程序。升級(jí)完成后,將MCU芯片插入ATCA單板,再將ATCA單板插入 機(jī)框,重新上電工作。
現(xiàn)有技術(shù)一的技術(shù)缺陷是需要手工進(jìn)行MCU芯片和單板的拔插操作, 還需要插入燒寫(xiě)器進(jìn)行升級(jí),操作復(fù)雜,工程維護(hù)不方便。
現(xiàn)有技術(shù)二外連電腦通過(guò)單板的主CPU在線(xiàn)升級(jí)IPMC,是一種點(diǎn)對(duì) 點(diǎn)升級(jí)方式。
現(xiàn)有技術(shù)二在實(shí)現(xiàn)時(shí),IPMC中的MCU應(yīng)為支持在系統(tǒng)編程(ISP, In System Programming)即在線(xiàn)升級(jí)功能的單片機(jī),簡(jiǎn)稱(chēng)為ISP單片機(jī)。ISP 單片機(jī)內(nèi)含兩塊物理上獨(dú)立的程序存儲(chǔ)器引導(dǎo)加載區(qū)(ISP區(qū))和應(yīng)用程序 區(qū)(AP區(qū))。圖3為ISP單片機(jī)存儲(chǔ)器結(jié)構(gòu)圖,如圖3所示,其中引導(dǎo)加載區(qū) 預(yù)先燒寫(xiě)引導(dǎo)加載程序;應(yīng)用程序區(qū)存儲(chǔ)正常工作時(shí)的應(yīng)用程序。
現(xiàn)有技術(shù)二中,ISP (在線(xiàn)升級(jí))單片機(jī)的在線(xiàn)升級(jí)過(guò)程如下
1) ISP單片機(jī)上電或外部復(fù)位后,程序地址指針總是指向ISP區(qū)的起始 地址。
2) 若此時(shí)ISP單片機(jī)接收到升級(jí)加載指令,則ISP單片機(jī)通過(guò)外部接 口 (如RS232接口 )接收升級(jí)軟件程序并寫(xiě)入應(yīng)用程序AP區(qū);否則ISP單片機(jī)直接進(jìn)入AP存儲(chǔ)器運(yùn)行應(yīng)用程序。
3) 當(dāng)ISP單片機(jī)在AP區(qū)運(yùn)行時(shí),若接收到程序升級(jí)指令,則通過(guò)寄
存器配置進(jìn)入ISP區(qū),加載升級(jí)程序至AP區(qū)。
4) 升級(jí)程序加載完成后,通過(guò)內(nèi)部寄存器配置進(jìn)入AP區(qū)運(yùn)行升級(jí)后 的新程序。
5) 如果程序有誤導(dǎo)致升級(jí)后ISP單片機(jī)不能啟動(dòng),需要外部復(fù)位重新
按照上述步驟進(jìn)行升級(jí)。
圖4為現(xiàn)有技術(shù)二的實(shí)現(xiàn)結(jié)構(gòu)示意圖。參見(jiàn)圖4所示,將ATCA單板的
板外通信接口與電腦點(diǎn)對(duì)點(diǎn)相連,操作人員通過(guò)對(duì)電腦的操作,從電腦中找 出該單板相應(yīng)的IPMC升級(jí)程序,單板的主CPU通過(guò)板外通信接口從電腦 下載IPMC升級(jí)程序并暫存于外部存儲(chǔ)器中,然后按照上述步驟操作電腦升 級(jí)IPMC的ISP單片機(jī)。
現(xiàn)有技術(shù)三外連電腦直接在線(xiàn)升級(jí)IPMC,也是一種點(diǎn)對(duì)點(diǎn)升級(jí)方式。
在現(xiàn)有技術(shù)三中,IPMC中的MCU也應(yīng)該為支持ISP在線(xiàn)升級(jí)功能的 單片機(jī),即ISP單片機(jī),該ISP單片機(jī)的存儲(chǔ)器結(jié)構(gòu)圖如圖3所示,其中引 導(dǎo)加載區(qū)預(yù)先燒寫(xiě)引導(dǎo)加載程序;應(yīng)用程序區(qū)存儲(chǔ)正常工作時(shí)的應(yīng)用程序。 并且,該ISP單片機(jī)的在線(xiàn)升級(jí)過(guò)程參見(jiàn)上述步驟1) ~5)。
圖5為現(xiàn)有技術(shù)三的實(shí)現(xiàn)結(jié)構(gòu)示意圖。如圖5所示,單板的IPMC通過(guò) 板外通信接口與電腦點(diǎn)對(duì)點(diǎn)相連,操作人員通過(guò)對(duì)電腦的操作,從電腦中找 出該單板相應(yīng)的IPMC升級(jí)程序,向ISP單片機(jī)發(fā)送升級(jí)加載指令,并將 IPMC升級(jí)程序下發(fā)給ISP單片機(jī)進(jìn)行升級(jí)。
上述現(xiàn)有技術(shù)二和現(xiàn)有技術(shù)三的技術(shù)缺陷是升級(jí)IPMC時(shí)雖然不需要 拔插單板,但每次都只能對(duì)一個(gè)單板的IPMC進(jìn)行在線(xiàn)升級(jí),即點(diǎn)對(duì)點(diǎn)升級(jí)。 當(dāng)機(jī)框中有多個(gè)單板都需要IPMC升級(jí)時(shí),則需要電腦依次連接對(duì)應(yīng)的單板, 造成升級(jí)操作復(fù)雜,工程維護(hù)不方便。另外, 一旦升級(jí)的程序有誤導(dǎo)致升級(jí) 后單片機(jī)不能啟動(dòng),需要插拔單板使IPMC重新上電后才能再次 行IPMC 的加載升級(jí),這時(shí)還需要進(jìn)行插拔的手工搡作,維護(hù)不方便。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種IPMC的在線(xiàn)升級(jí) 系統(tǒng),以簡(jiǎn)化IPMC的升級(jí)操作,提高升級(jí)的工作效率,方便工程維護(hù)。
本發(fā)明所要解決的另 一技術(shù)問(wèn)題在于提供一種IPMC的在線(xiàn)升級(jí)方法, 以簡(jiǎn)化IPMC的升級(jí)操作,提高升級(jí)的工作效率,方便工程維護(hù)。
為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明的主要技術(shù)方案為
一種智能平臺(tái)管理控制器IPMC的在線(xiàn)升級(jí)系統(tǒng),包括
文件存儲(chǔ)服務(wù)器,用于存儲(chǔ)IPMC程序;
操作維護(hù)臺(tái),用于控制及監(jiān)測(cè)IPMC的升級(jí)過(guò)程;
機(jī)框管理器,用于根據(jù)操作維護(hù)臺(tái)的指令從文件存儲(chǔ)服務(wù)器中獲取相應(yīng) 的IPMC程序并傳送給指定的單板;
單板,其中包括IPMC,該IPMC在線(xiàn)接收并加載升級(jí)機(jī)框管理器傳送 的IPMC程序。
優(yōu)選的,所述機(jī)框管理器包括存儲(chǔ)器和比較裝置,所述存儲(chǔ)器中存儲(chǔ)正 在運(yùn)行的IPMC程序的版本信息,所述比較器用于將來(lái)自操作維護(hù)臺(tái)升級(jí)指 令中指示的IPMC程序版本信息與所述存儲(chǔ)器的IPMC程序版本信息比較, 在兩者不一致時(shí)觸發(fā)機(jī)框管理器從所述文件存儲(chǔ)服務(wù)器中獲取所述升級(jí)指 令中所述版本信息所指示的IPMC程序。
優(yōu)選的,所述機(jī)框管理器進(jìn)一步包括存儲(chǔ)器,用于緩存從文件存儲(chǔ)服務(wù) 器中獲取的IPMC程序。
優(yōu)選的,所述機(jī)框管理器和IPMC之間通過(guò)智能平臺(tái)管理總線(xiàn)IPMB連 接,并釆用智能化平臺(tái)管理接口 IPMI協(xié)議傳送所述IPMC程序。
優(yōu)選的,所述IPMI協(xié)議的數(shù)據(jù)包中包括累加和校驗(yàn)信息和數(shù)據(jù)字節(jié)長(zhǎng) 度校驗(yàn)信息,所述IPMC在收到IPMI協(xié)議的數(shù)據(jù)包后釆用累加和校驗(yàn)以及 數(shù)據(jù)字節(jié)長(zhǎng)度校驗(yàn)對(duì)數(shù)據(jù)包進(jìn)行校驗(yàn),校驗(yàn)失敗時(shí)觸發(fā)數(shù)據(jù)重傳。
優(yōu)選的,所述IPMC中的微控制器為在系統(tǒng)編程ISP單片機(jī),用于接收機(jī)框管理器的IPMC程序,跳至ISP區(qū)加載升級(jí)所述IPMC程序至AP區(qū)。
優(yōu)選的,所述IPMC包含主、備單片機(jī),都與所述機(jī)框管理器通信,且 所述主、備單片機(jī)之間設(shè)置有復(fù)位控制器,所述任一單片機(jī)在升級(jí)成功后發(fā) 送升級(jí)成功的消息給機(jī)框管理器,如果機(jī)框管理器沒(méi)有收到IPMC程序升級(jí) 成功消息則判定該單片機(jī)升級(jí)失敗,向另一單片機(jī)發(fā)送復(fù)位啟動(dòng)所述升級(jí)失 敗的單片機(jī)的命令,所述另一單片機(jī)啟動(dòng)復(fù)位控制器對(duì)所述升級(jí)失敗的單片 機(jī)進(jìn)行外部復(fù)位,并觸發(fā)該升級(jí)失敗的單片機(jī)重新與所述機(jī)框管理器通信獲 取IPMC程序并加載升級(jí)。
優(yōu)選的,所述ATCA單板包含除所述單片機(jī)外的處理器,該處理器與所 述IPMC通信,IPMC在開(kāi)始升級(jí)和升級(jí)成功后通知該處理器計(jì)時(shí),該處理 器和IPMC的單片機(jī)之間設(shè)置有復(fù)位控制器,如果該處理器在IPMC升級(jí)開(kāi) 始后的限定時(shí)間內(nèi)沒(méi)有收到升級(jí)成功的通知?jiǎng)t啟動(dòng)所述復(fù)位控制器對(duì)所述 IPMC的單片機(jī)進(jìn)行外部復(fù)位,并觸發(fā)該單片機(jī)重新與所述機(jī)框管理器通信 獲取IPMC程序并加載升級(jí)。
優(yōu)選的,所述ATCA單板中包括復(fù)位定時(shí)控制器,與所述單片機(jī)通信, 用于在所述單片機(jī)開(kāi)始IPMC程序升級(jí)時(shí)啟動(dòng)外部復(fù)位定時(shí),升級(jí)成功時(shí)關(guān) 閉該外部復(fù)位定時(shí),所述復(fù)位定時(shí)控制器若在升級(jí)開(kāi)始后的限定時(shí)間內(nèi)沒(méi)有 關(guān)閉復(fù)位定時(shí),則對(duì)所述單片機(jī)進(jìn)行外部復(fù)位,并觸發(fā)該單片機(jī)重新與所述 機(jī)框管理器通信獲取IPMC程序并加載升級(jí)。
一種IPMC的在線(xiàn)升級(jí)方法,該方法包括
A、 機(jī)框管理器接收操作維護(hù)臺(tái)的IPMC升級(jí)指令;
B、 機(jī)框管理器根據(jù)所述IPMC升級(jí)指令,從文件存儲(chǔ)服務(wù)器中獲取指 定的IPMC程序;
C、 機(jī)框管理器將所述IPMC程序傳送給指定單板的IPMC,所述IPMC 在線(xiàn)加載升級(jí)接收到的所述IPMC程序。
優(yōu)選的,所述機(jī)框管理器進(jìn)一步存儲(chǔ)正在運(yùn)行的IPMC程序的版本信息, 當(dāng)收到操作維護(hù)臺(tái)的IPMC升級(jí)指令后,將該升級(jí)指令中指示的IPMC程序的版本信息與所存儲(chǔ)的正在運(yùn)行的IPMC程序的版本信息進(jìn)行比較,在兩者 不一致時(shí)從所述文件存儲(chǔ)服務(wù)器中獲取所述升級(jí)指令中所述版本信息所指
示的IPMC程序。
優(yōu)選的,所述步驟C中機(jī)框管理器先將所述從文件存儲(chǔ)服務(wù)器中獲取 的IPMC程序緩存在內(nèi)存中,之后再將所述IPMC程序傳送給指定單板的 IPMC。
優(yōu)選的,所述機(jī)框管理器和IPMC之間釆用IPMI協(xié)議進(jìn)行通信。
優(yōu)選的,所述IPMI協(xié)議的數(shù)據(jù)包中包括累加和校驗(yàn)信息和數(shù)據(jù)字節(jié)長(zhǎng) 度校驗(yàn)信息,所述IPMC在收到IPMI協(xié)議的數(shù)據(jù)包后釆用累加和校驗(yàn)以及 數(shù)據(jù)字節(jié)長(zhǎng)度校驗(yàn)對(duì)數(shù)據(jù)包進(jìn)行校驗(yàn),校驗(yàn)失敗時(shí)觸發(fā)數(shù)據(jù)重傳。
優(yōu)選的,所述IPMC中的微控制器為ISP單片機(jī),步驟C具體包括機(jī) 框管理器向指定單板的IPMC發(fā)送包含IPMC程序數(shù)據(jù)的升級(jí)請(qǐng)求消息,所 述IPMC收到所述升級(jí)請(qǐng)求消息后,其ISP單片機(jī)進(jìn)入ISP區(qū),之后解析所 述升級(jí)請(qǐng)求消息,將所述IPMC程序的數(shù)據(jù)寫(xiě)入AP區(qū)。
優(yōu)選的,IPMC包含主、備單片機(jī),該方法在主、備單片機(jī)之間設(shè)置復(fù) 位控制器,所述任一單片機(jī)在升級(jí)成功后發(fā)送升級(jí)成功的消息給機(jī)框管理 器,如果機(jī)框管理器沒(méi)有收到升級(jí)成功消息則判定該單片機(jī)升級(jí)失敗,向另 一單片機(jī)發(fā)送復(fù)位啟動(dòng)所述升級(jí)失敗的單片機(jī)的命令,所述另一單片機(jī)啟動(dòng) 復(fù)位控制器對(duì)所述升級(jí)失敗的單片機(jī)進(jìn)行外部復(fù)位,并觸發(fā)該升級(jí)失敗的單 片機(jī)重新與所述機(jī)框管理器通信獲取IPMC程序并加載升級(jí)。
優(yōu)選的,所述單板中包含除所述單片機(jī)外的處理器,該方法在所述IPMC 開(kāi)始升級(jí)和升級(jí)成功后通知所述處理器計(jì)時(shí),并在該處理器和IPMC的單片 機(jī)之間設(shè)置復(fù)位控制器,如果該處理器在IPMC升級(jí)開(kāi)始后的限定時(shí)間內(nèi)沒(méi) 有收到升級(jí)成功的通知?jiǎng)t啟動(dòng)所述復(fù)位控制器對(duì)所述IPMC的單片機(jī)進(jìn)行外 部復(fù)位,并觸發(fā)該單片機(jī)重新與所述機(jī)框管理器通信獲取IPMC程序并加載 升級(jí)。
優(yōu)選的,所述ATCA單板中除所述單片機(jī)外沒(méi)有其它處理器,在該ATCA單板中設(shè)置復(fù)位定時(shí)控制器,該復(fù)位定時(shí)控制器在所述單片機(jī)開(kāi)始 IPMC程序升級(jí)時(shí)啟動(dòng)外部復(fù)位定時(shí),升級(jí)成功時(shí)關(guān)閉該外部復(fù)位定時(shí);該 復(fù)位定時(shí)控制器若在升級(jí)開(kāi)始后的限定時(shí)間內(nèi)沒(méi)有關(guān)閉復(fù)位定時(shí),則對(duì)所述 單片機(jī)進(jìn)行外部復(fù)位,并觸發(fā)該單片機(jī)重新與所述機(jī)框管理器通信獲取 IPMC程序并加載升級(jí)。
由于本發(fā)明設(shè)置了文件存儲(chǔ)服務(wù)器,可以存儲(chǔ)多個(gè)IPMC的多個(gè)IPMC 程序,并通過(guò)操作維護(hù)臺(tái)進(jìn)行升級(jí)管理,更重要的是,通過(guò)機(jī)框管理器和單 板IPMC之間的通信協(xié)議傳送IPMC程序并完成IPMC的在線(xiàn)升級(jí),不需要 插拔單板,也不需要將各個(gè)單板依次與電腦連接進(jìn)行升級(jí),從而實(shí)現(xiàn)了一種 點(diǎn)對(duì)多點(diǎn)的在線(xiàn)升級(jí)方式,簡(jiǎn)化IPMC的升級(jí)操作,提高了IPMC升級(jí)的工 作效率,方便工程維護(hù)。
本發(fā)明在機(jī)框管理器向單板IPMC發(fā)送IPMC程序時(shí),還釆用了累加和、 字節(jié)長(zhǎng)度雙重校驗(yàn),提升了 IPMC升級(jí)程序數(shù)據(jù)傳送的準(zhǔn)確性,從而進(jìn)一步 提高了升級(jí)成功率。
當(dāng)IPMC程序升級(jí)失敗時(shí),可以通過(guò)外部復(fù)位重啟ISP單片機(jī),重新進(jìn) 行IPMC程序的升級(jí),無(wú)需重新插拔單板,進(jìn)一步簡(jiǎn)化了升級(jí)操作,方便工 程維護(hù)。
圖1為現(xiàn)有ATCA設(shè)備的機(jī)框管理架構(gòu)實(shí)現(xiàn)示意圖2為IPMI請(qǐng)求消息的格式示意圖3為ISP單片機(jī)存儲(chǔ)器結(jié)構(gòu)圖4為現(xiàn)有技術(shù)二的實(shí)現(xiàn)結(jié)構(gòu)示意圖5為現(xiàn)有技術(shù)三的實(shí)現(xiàn)結(jié)構(gòu)示意圖6為本發(fā)明所述IPMC在線(xiàn)升級(jí)系統(tǒng)的示意圖7為本發(fā)明所述IPMC在線(xiàn)升級(jí)方法的流程圖8為所述IPMI協(xié)議的升級(jí)請(qǐng)求消息的格式示意圖;圖9為所述單片機(jī)復(fù)位控制的第一實(shí)施例的示意圖IO為所述單片機(jī)復(fù)位控制的第二實(shí)施例的示意圖; 圖11為所述單片機(jī)復(fù)位控制的第三實(shí)施例的示意圖。
具體實(shí)施例方式
下面通過(guò)具體實(shí)施例和附圖對(duì)本發(fā)明做進(jìn) 一 步詳細(xì)說(shuō)明。
圖6為本發(fā)明所述IPMC在線(xiàn)升級(jí)系統(tǒng)的示意圖。參見(jiàn)圖6,該系統(tǒng)包
括
文件存儲(chǔ)服務(wù)器601,用于存儲(chǔ)IPMC程序,這些IPMC程序用于加載 升級(jí)IPMC。
操作維護(hù)臺(tái)602,用于控制及監(jiān)測(cè)IPMC的升級(jí)過(guò)程;其中包括操作輸 入設(shè)備,可以輸入升級(jí)指令,升級(jí)指令中可以包含指定IPMC程序的版本信 息。
機(jī)框管理器603,具備現(xiàn)有機(jī)框管理器的功能,例如對(duì)機(jī)框內(nèi)的單板、 溫度、風(fēng)扇以及電源等現(xiàn)場(chǎng)置換單元進(jìn)行智能調(diào)節(jié)和管理,除此之外,本發(fā) 明的機(jī)框管理器603還用于根據(jù)操作維護(hù)臺(tái)602的指令從文件存儲(chǔ)服務(wù)器 601中獲取相應(yīng)的IPMC程序并傳送給指定的單板。該機(jī)框管理器603包括 存儲(chǔ)器和比較裝置,所述存儲(chǔ)器中存儲(chǔ)正在運(yùn)行的IPMC程序的版本信息, 所述比較器用于將來(lái)自操作維護(hù)臺(tái)602升級(jí)指令中指示的IPMC程序版本信 息與所述存儲(chǔ)器的IPMC程序版本信息比較,在兩者不一致時(shí)觸發(fā)機(jī)框管理 器603從所述文件存儲(chǔ)服務(wù)器601中獲取所述升級(jí)指令中所述版本信息所指 示的IPMC程序,當(dāng)兩者一致時(shí),則可以不獲取相應(yīng)的IPMC程序,不進(jìn)行 升級(jí)。所述存儲(chǔ)器一般為機(jī)框管理器603的內(nèi)存,該內(nèi)存還可以用于緩存從 文件存儲(chǔ)服務(wù)器601中獲取的IPMC程序。
ATCA單板,設(shè)置在機(jī)框插槽中,可以有多個(gè),例如圖中的ATCA單板 604a ~ ATCA單板604n,其中每個(gè)單板包括IPMC和載荷payload,所述IPMC具備現(xiàn)有IPMC的功能,例如監(jiān)控單板上電、溫度、電壓以及功率,管理單
板的熱插拔,以及上報(bào)告警信息至SHMC并執(zhí)行SHMC的命令。除此之外, 本發(fā)明IPMC的MCU為ISP單片機(jī),可以在線(xiàn)接收并加載升級(jí)機(jī)框管理器 603傳送來(lái)的IPMC程序,該ISP單片機(jī)具有圖3所示的存儲(chǔ)器結(jié)構(gòu),SP單 片機(jī)上電或外部復(fù)位后,程序地址指針總是指向ISP區(qū)的起始地址,當(dāng)ISP 單片機(jī)在AP區(qū)運(yùn)行時(shí),若接收到程序升級(jí)指令,則通過(guò)寄存器配置進(jìn)入ISP 區(qū),加載升級(jí)程序至AP區(qū),升級(jí)程序加載完成后,通過(guò)內(nèi)部寄存器配置進(jìn) 入AP區(qū)運(yùn)行升級(jí)后的新程序。
本發(fā)明中,所述機(jī)框管理器603和IPMC之間通過(guò)IPMB連接,并釆用 IPMI協(xié)議傳送所述IPMC程序。
圖7為本發(fā)明所述IPMC在線(xiàn)升級(jí)方法的流程圖。參見(jiàn)圖7,該方法包
括
步驟701、當(dāng)需要對(duì)某ATCA單板的IPMC程序升級(jí)時(shí),在操作維護(hù)臺(tái) 602上輸入升級(jí)目標(biāo)單板IPMC的升級(jí)指令,該升級(jí)指令中指定了目標(biāo)單板 以及所升級(jí)程序的版本信息。
步驟702、 SHMC收到升級(jí)指令后,將該升級(jí)指令中的程序版本信息與 機(jī)框管理器中存儲(chǔ)的IPMC正在運(yùn)行的程序版本信息進(jìn)行比較,如果兩者一 致,則不進(jìn)行升級(jí),結(jié)東本流程,如果兩者不一致,則SHMC執(zhí)行對(duì)IPMC 升級(jí)操作,即執(zhí)行步驟703。
步驟703 - 704、 SHMC在文件服務(wù)器中查詢(xún)是否存在所述升級(jí)指令中 指定版本的IPMC程序,如果存在,則將該IPMC程序取出并暫存于SHMC 的內(nèi)存中,然后向所述升級(jí)指令指定的目標(biāo)單板的IPMC發(fā)出升級(jí)請(qǐng)求消息; 否則結(jié)束本流程。
步驟705、所述目標(biāo)單板IPMC中的ISP單片機(jī)接收到升級(jí)請(qǐng)求消息后, 通過(guò)寄存器配置跳入ISP區(qū),并解析所述升級(jí)請(qǐng)求消息中的所述IPMC程序 的數(shù)據(jù),將該數(shù)據(jù)寫(xiě)入AP區(qū),以進(jìn)行程序的加載升級(jí),程序加載升級(jí)完成 后,通過(guò)內(nèi)部寄存器配置進(jìn)入AP區(qū)運(yùn)行加載后的新程序所述SHMC和IPMC之間按照IPMI協(xié)議,使用本發(fā)明的消息交互流程 將IPMC程序以IPMI數(shù)據(jù)包的形式傳入ISP單片機(jī),完成AP區(qū)應(yīng)用程序 的在線(xiàn)升級(jí),升級(jí)成功后IPMC向SHMC發(fā)送升級(jí)成功的消息。
圖8為所述IPMI協(xié)議的升級(jí)請(qǐng)求消息的格式示意圖。參見(jiàn)圖8,其中 數(shù)據(jù)字節(jié)段801攜帶所述IPMC程序的數(shù)據(jù)。在單板的固件升級(jí)時(shí),需要在 升級(jí)目標(biāo)文件傳送錯(cuò)誤時(shí)進(jìn)行特定的處理,傳統(tǒng)的IPMI消息字段校驗(yàn)和為 累加和校驗(yàn),如果傳送中丟失的字節(jié)值為零,則此種校驗(yàn)無(wú)法校驗(yàn)出是否丟 失。因此,本發(fā)明在數(shù)據(jù)字節(jié)段801的最后一個(gè)字節(jié)802設(shè)置包長(zhǎng)度值校驗(yàn) 來(lái)完善數(shù)據(jù)傳送校驗(yàn),只有當(dāng)IPMC收到的所述升級(jí)請(qǐng)求消息的"累加和校 驗(yàn)"和數(shù)據(jù)字節(jié)長(zhǎng)度校驗(yàn)均正確時(shí)才認(rèn)為本升級(jí)請(qǐng)求消息傳送正確,否則需 要進(jìn)行數(shù)據(jù)重傳。數(shù)據(jù)字節(jié)長(zhǎng)度的校驗(yàn)方法是數(shù)據(jù)字節(jié)段中的倒數(shù)第一個(gè) 字節(jié)"Length"包含數(shù)據(jù)字節(jié)段"BYTEO-BYTE N"的字節(jié)長(zhǎng)度值"N+1" 。 IPMC 在接收到升級(jí)請(qǐng)求消息中的命令字后,從數(shù)據(jù)字節(jié)段中第一個(gè)字節(jié)"BYTEO" 開(kāi)始接收字節(jié)個(gè)數(shù)計(jì)數(shù),直至最后一個(gè)字節(jié)"校驗(yàn)和2",計(jì)數(shù)值二N+3。若"計(jì) 數(shù)值-2" ="Length,,,則長(zhǎng)度校驗(yàn)正確。
另外,當(dāng)升級(jí)程序有誤導(dǎo)致所述ISP單片機(jī)不能啟動(dòng)時(shí),現(xiàn)有技術(shù)的解 決方法是重新插拔單板上電,再次啟動(dòng)單片機(jī)并升級(jí)。本發(fā)明針對(duì)這種情況, 在單板中增加外部復(fù)位控制裝置,從而實(shí)現(xiàn)在升級(jí)程序失敗后,不需插拔單 板即可完成ISP單片機(jī)的重啟升級(jí)。下面分三個(gè)實(shí)施例進(jìn)行說(shuō)明
圖9為所述單片機(jī)復(fù)位控制的第一實(shí)施例的示意圖。在該第一實(shí)施例 中,所述IPMC包含主、備單片機(jī),這兩個(gè)單片機(jī)都與所述機(jī)框管理器通信, 且所述主、備單片機(jī)之間設(shè)置有復(fù)位控制器901。例如所述主、備單片機(jī)為 單片機(jī)A和單片機(jī)B,所述任一單片機(jī),此處例如為單片機(jī)B,在升級(jí)成功 后通過(guò)IPMI協(xié)議發(fā)送升級(jí)成功的消息給機(jī)框管理器,如果機(jī)框管理器沒(méi)有 收到單片機(jī)B的IPMC程序升級(jí)成功消息則判定該單片機(jī)B升級(jí)失敗,向 單片機(jī)A發(fā)送復(fù)位啟動(dòng)所述單片機(jī)B的命令,所述單片機(jī)A啟動(dòng)復(fù)位控制 器對(duì)所述單片機(jī)B進(jìn)行外部復(fù)位,使單片機(jī)B進(jìn)入ISP區(qū),觸發(fā)單片機(jī)B重新與所述機(jī)框管理器通信獲取相應(yīng)的IPMC程序并加載升級(jí)。
圖10為所述單片機(jī)復(fù)位控制的第二實(shí)施例的示意圖。在該第二實(shí)施例
中,所述IPMC中只包括一個(gè)單片機(jī)101, ATCA單板包含除所述單片機(jī)外 的其他處理器,例如載荷中的主CPU102,該主CPU通過(guò)通訊接口 103與所 述IPMC通信,IPMC在開(kāi)始升級(jí)和升級(jí)成功后通知該CPU 102時(shí),該CPU 102 和IPMC的單片機(jī)之間設(shè)置有復(fù)位控制器104,如果該CPU102在IPMC升 級(jí)開(kāi)始后的限定時(shí)間內(nèi)沒(méi)有收到升級(jí)成功的通知?jiǎng)t啟動(dòng)所述復(fù)位控制器104 對(duì)所述IPMC的單片機(jī)101進(jìn)行外部復(fù)位,使單片機(jī)101進(jìn)入ISP區(qū),觸發(fā) 該單片機(jī)101重新與所述機(jī)框管理器通信獲取IPMC程序并加載升級(jí)。
圖11為所述單片機(jī)復(fù)位控制的第三實(shí)施例的示意圖。在該第三實(shí)施例 中,所述IPMC中只包括一個(gè)單片機(jī)111, ATCA單板中除所述單片機(jī)111 外再?zèng)]有其它的處理器,則所述ATCA單板中包括復(fù)位定時(shí)控制器112,與 所述IPMC中的單片機(jī)111通信,用于在所述單片機(jī)111開(kāi)始IPMC程序升 級(jí)時(shí)啟動(dòng)外部復(fù)位定時(shí),升級(jí)成功時(shí)關(guān)閉該外部復(fù)位定時(shí),所述復(fù)位定時(shí)控 制器112若在升級(jí)開(kāi)始后的限定時(shí)間內(nèi)沒(méi)有關(guān)閉復(fù)位定時(shí),則對(duì)所述單片機(jī) lll進(jìn)行外部復(fù)位,使單片機(jī)101進(jìn)入ISP區(qū),觸發(fā)該單片機(jī)111重新與所 述機(jī)框管理器通信獲取IPMC程序并加載升級(jí)。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不 局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到 的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種智能平臺(tái)管理控制器IPMC的在線(xiàn)升級(jí)系統(tǒng),其特征在于,包括文件存儲(chǔ)服務(wù)器,用于存儲(chǔ)IPMC程序;操作維護(hù)臺(tái),用于控制及監(jiān)測(cè)IPMC的升級(jí)過(guò)程;機(jī)框管理器,用于根據(jù)操作維護(hù)臺(tái)的指令從文件存儲(chǔ)服務(wù)器中獲取相應(yīng)的IPMC程序并傳送給指定的單板;單板,其中包括IPMC,該IPMC在線(xiàn)接收并加載升級(jí)機(jī)框管理器傳送的IPMC程序。
2、 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述機(jī)框管理器包括存 儲(chǔ)器和比較裝置,所述存儲(chǔ)器中存儲(chǔ)正在運(yùn)行的IPMC程序的版本信息,所 述比較器用于將來(lái)自操作維護(hù)臺(tái)升級(jí)指令中指示的IPMC程序版本信息與所 述存儲(chǔ)器的IPMC程序版本信息比較,在兩者不一致時(shí)觸發(fā)機(jī)框管理器從所 述文件存儲(chǔ)服務(wù)器中獲取所述升級(jí)指令中所述版本信息所指示的IPMC程 序。
3、 根據(jù)權(quán)利要求l所述的系統(tǒng),其特征在于,所述機(jī)框管理器進(jìn)一步 包括存儲(chǔ)器,用于緩存從文件存儲(chǔ)服務(wù)器中獲取的IPMC程序。
4、 根據(jù)權(quán)利要求l所述的系統(tǒng),其特征在于,所述機(jī)框管理器和IPMC 之間通過(guò)智能平臺(tái)管理總線(xiàn)IPMB連接,并釆用智能化平臺(tái)管理接口 IPMI 協(xié)議傳送所述IPMC程序。
5、 根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述IPMI協(xié)議的數(shù)據(jù)包 中包括累加和校驗(yàn)信息和數(shù)據(jù)字節(jié)長(zhǎng)度校驗(yàn)信息,所述IPMC在收到IPMI 協(xié)議的數(shù)據(jù)包后釆用累加和校驗(yàn)以及數(shù)據(jù)字節(jié)長(zhǎng)度校驗(yàn)對(duì)數(shù)據(jù)包進(jìn)行校驗(yàn), 校驗(yàn)失敗時(shí)觸發(fā)數(shù)據(jù)重傳。
6、 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述IPMC中的微控制 器為在系統(tǒng)編程ISP單片機(jī),用于接收機(jī)框管理器的IPMC程序,跳至ISP區(qū)加載升級(jí)所述IPMC程序至AP區(qū)。
7、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述IPMC包含主、備 單片機(jī),都與所述機(jī)框管理器通信,且所述主、備單片機(jī)之間設(shè)置有復(fù)位控 制器,所述任一單片機(jī)在升級(jí)成功后發(fā)送升級(jí)成功的消息給機(jī)框管理器,如 果機(jī)框管理器沒(méi)有收到IPMC程序升級(jí)成功消息則判定該單片機(jī)升級(jí)失敗, 向另一單片機(jī)發(fā)送復(fù)位啟動(dòng)所述升級(jí)失敗的單片機(jī)的命令,所述另一單片機(jī) 啟動(dòng)復(fù)位控制器對(duì)所述升級(jí)失敗的單片機(jī)進(jìn)行外部復(fù)位,并觸發(fā)該升級(jí)失敗 的單片機(jī)重新與所述機(jī)框管理器通信獲取IPMC程序并加載升級(jí)。
8、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述ATCA單板包含除 所述單片機(jī)外的處理器,該處理器與所述IPMC通信,IPMC在開(kāi)始升級(jí)和 升級(jí)成功后通知該處理器計(jì)時(shí),該處理器和IPMC的單片機(jī)之間設(shè)置有復(fù)位 控制器,如果該處理器在IPMC升級(jí)開(kāi)始后的限定時(shí)間內(nèi)沒(méi)有收到升級(jí)成功 的通知?jiǎng)t啟動(dòng)所述復(fù)位控制器對(duì)所述IPMC的單片機(jī)進(jìn)行外部復(fù)位,并觸發(fā) 該單片機(jī)重新與所述機(jī)框管理器通信獲取IPMC程序并加載升級(jí)。
9、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述ATCA單板中包括 復(fù)位定時(shí)控制器,與所述單片機(jī)通信,用于在所述單片機(jī)開(kāi)始IPMC程序升 級(jí)時(shí)啟動(dòng)外部復(fù)位定時(shí),升級(jí)成功時(shí)關(guān)閉該外部復(fù)位定時(shí),所述復(fù)位定時(shí)控 制器若在升級(jí)開(kāi)始后的限定時(shí)間內(nèi)沒(méi)有關(guān)閉復(fù)位定時(shí),則對(duì)所述單片機(jī)進(jìn)行 外部復(fù)位,并觸發(fā)該單片機(jī)重新與所述機(jī)框管理器通信獲取IPMC程序并加 載升級(jí)。
10、 一種IPMC的在線(xiàn)升級(jí)方法,其特征在于,該方法包括A、 機(jī)框管理器接收操作維護(hù)臺(tái)的IPMC升級(jí)指令;B、 機(jī)框管理器根據(jù)所述IPMC升級(jí)指令,從文件存儲(chǔ)服務(wù)器中獲取指 定的IPMC程序;C、 機(jī)框管理器將所述IPMC程序傳送給指定單板的IPMC,所述IPMC 在線(xiàn)加載升級(jí)接收到的所述IPMC程序。
11、 根據(jù)權(quán)利要求10所述的方法,其特征在于,所述機(jī)框管理器進(jìn)一步存儲(chǔ)正在運(yùn)行的IPMC程序的版本信息,當(dāng)收到搡作維護(hù)臺(tái)的IPMC升級(jí)指令后,將該升級(jí)指令中指示的IPMC程序的版本信息與所存儲(chǔ)的正在運(yùn)行 的IPMC程序的版本信息進(jìn)行比較,在兩者不一致時(shí)從所述文件存儲(chǔ)服務(wù)器 中獲取所述升級(jí)指令中所述版本信息所指示的IPMC程序。
12、 根據(jù)權(quán)利要求IO所述的方法,其特征在于,所述步驟C中機(jī)框 管理器先將所述從文件存儲(chǔ)服務(wù)器中獲取的IPMC程序緩存在內(nèi)存中,之后 再將所述IPMC程序傳送給指定單板的IPMC。
13、 根據(jù)權(quán)利要求12所述的方法,其特征在于,所述機(jī)框管理器和IPMC 之間釆用IPMI協(xié)議進(jìn)行通信。
14、 根據(jù)權(quán)利要求13所述的方法,其特征在于,所述IPMI協(xié)議的數(shù)據(jù) 包中包括累加和校驗(yàn)信息和數(shù)據(jù)字節(jié)長(zhǎng)度校驗(yàn)信息,所述IPMC在收到IPMI 協(xié)議的數(shù)據(jù)包后釆用累加和校驗(yàn)以及數(shù)據(jù)字節(jié)長(zhǎng)度校驗(yàn)對(duì)數(shù)據(jù)包進(jìn)行校驗(yàn), 校驗(yàn)失敗時(shí)觸發(fā)數(shù)據(jù)重傳。
15、 根據(jù)權(quán)利要求IO所述的方法,其特征在于,所述IPMC中的微控 制器為ISP單片機(jī),步驟C具體包括機(jī)框管理器向指定單板的IPMC發(fā)送 包含IPMC程序數(shù)據(jù)的升級(jí)請(qǐng)求消息,所述IPMC收到所述升級(jí)請(qǐng)求消息后, 其ISP單片機(jī)進(jìn)入ISP區(qū),之后解析所述升級(jí)請(qǐng)求消息,將所述IPMC程序 的數(shù)據(jù)寫(xiě)入AP區(qū)。
16、 根據(jù)權(quán)利要求15所述的方法,其特征在于,IPMC包含主、備單片 機(jī),該方法在主、備單片機(jī)之間設(shè)置復(fù)位控制器,所述任一單片機(jī)在升級(jí)成 功后發(fā)送升級(jí)成功的消息給機(jī)框管理器,如果機(jī)框管理器沒(méi)有收到升級(jí)成功 消息則判定該單片機(jī)升級(jí)失敗,向另一單片機(jī)發(fā)送復(fù)位啟動(dòng)所述升級(jí)失敗的 單片機(jī)的命令,所述另一單片機(jī)啟動(dòng)復(fù)位控制器對(duì)所述升級(jí)失敗的單片機(jī)進(jìn) 行外部復(fù)位,并觸發(fā)該升級(jí)失敗的單片機(jī)重新與所述機(jī)框管理器通信獲取 IPMC程序并加載升級(jí)。
17、 根據(jù)權(quán)利要求15所述的方法,其特征在于,所述單板中包含除所 述單片機(jī)外的處理器,該方法在所述IPMC開(kāi)始升級(jí)和升級(jí)成功后通知所述處理器計(jì)時(shí),并在該處理器和IPMC的單片機(jī)之間設(shè)置復(fù)位控制器,如果該處理器在IPMC升級(jí)開(kāi)始后的限定時(shí)間內(nèi)沒(méi)有收到升級(jí)成功的通知?jiǎng)t啟動(dòng)所 述復(fù)位控制器對(duì)所述IPMC的單片機(jī)進(jìn)行外部復(fù)位,并觸發(fā)該單片機(jī)重新與 所述機(jī)框管理器通信獲取IPMC程序并加載升級(jí)。
18、根據(jù)權(quán)利要求15所述的方法,其特征在于,所述ATCA單板中除 所述單片機(jī)外沒(méi)有其它處理器,在該ATCA單板中設(shè)置復(fù)位定時(shí)控制器,該 復(fù)位定時(shí)控制器在所述單片機(jī)開(kāi)始IPMC程序升級(jí)時(shí)啟動(dòng)外部復(fù)位定時(shí),升 級(jí)成功時(shí)關(guān)閉該外部復(fù)位定時(shí);該復(fù)位定時(shí)控制器若在升級(jí)開(kāi)始后的限定時(shí) 間內(nèi)沒(méi)有關(guān)閉復(fù)位定時(shí),則對(duì)所述單片機(jī)進(jìn)行外部復(fù)位,并觸發(fā)該單片機(jī)重 新與所述機(jī)框管理器通信獲取IPMC程序并加載升級(jí)。
全文摘要
本發(fā)明公開(kāi)了一種智能平臺(tái)管理控制器(IPMC)的在線(xiàn)升級(jí)系統(tǒng)和方法,系統(tǒng)包括文件存儲(chǔ)服務(wù)器,用于存儲(chǔ)IPMC程序;操作維護(hù)臺(tái),用于控制及監(jiān)測(cè)IPMC的升級(jí)過(guò)程;機(jī)框管理器,用于根據(jù)操作維護(hù)臺(tái)的指令從文件存儲(chǔ)服務(wù)器中獲取相應(yīng)的IPMC程序并傳送給指定的單板;單板,其中包括IPMC,該IPMC在線(xiàn)接收并加載升級(jí)機(jī)框管理器傳送的IPMC程序。方法包括機(jī)框管理器接收操作維護(hù)臺(tái)的IPMC升級(jí)指令,從文件存儲(chǔ)服務(wù)器中獲取指定的IPMC程序,將所述IPMC程序傳送給指定單板的IPMC,IPMC在線(xiàn)加載升級(jí)所述IPMC程序。利用本發(fā)明,可以簡(jiǎn)化IPMC的升級(jí)操作,提高升級(jí)的工作效率,方便工程維護(hù)。
文檔編號(hào)H04M7/00GK101605189SQ200810114930
公開(kāi)日2009年12月16日 申請(qǐng)日期2008年6月13日 優(yōu)先權(quán)日2008年6月13日
發(fā)明者郭玉廠(chǎng) 申請(qǐng)人:大唐移動(dòng)通信設(shè)備有限公司