專利名稱:一種bios切換裝置及切換方法
技術領域:
本發明涉及通信技術領域,特別是涉及一種BIOS切換裝置及切換方法。
背景技術:
通常,計算機系統啟動后,需要通過BIOS (Basic Input/Output System,基本輸入 /輸出系統)來引導系統。BIOS是存儲在ROM (Read-only Memory,只讀存儲器)中的一段 非易失性代碼,其中包含用于系統自檢和控制鍵盤、顯示、磁盤驅動器、串行通信以及其他 功能的代碼。當BIOS執行完成后,BIOS再從磁盤中加載操作系統。由于目前的BIOS通常 存儲在可重復擦寫的R0M,如閃存(flash memory)中,因此當BIOS出現故障或異常時,系統 就無法正常啟動,因而會嚴重影響整個系統的可靠運行。例如,基于X86 ( 一種指令集)系統架構開發的板卡設備需要通過BIOS弓|導系統。 當在單板運行或BIOS更新過程中出現操作者失誤、燒寫文件錯誤、電源斷電、軟件故障等 情況時,會導致BIOS失效,也使單板無法正常初始化,從而嚴重影響了通信設備工作的穩 定性和可靠性。為了避免這種情況的發生,通常做法是在單板上設計系統BIOS的備份,當 主BIOS出現故障無法啟動時,利用人工干預或外部控制邏輯模塊來激活備份BIOS,從而實 現主備BIOS的切換,保證系統能正常啟動。其中,人工干預來激活備份BIOS的方法是利用跳線、機械開關或上層軟件命令等 方式進行人工切換。這種方法應用在通信設備中會影響設備的正常運轉,而且對人力資源 的利用也是一種浪費。通過外部控制邏輯模塊來激活備份BIOS的方法如圖1所示,一個存儲設備存儲主 備BIOS,該存儲設備掛接在10(Input/Output,輸入/輸出)總線上,利用外部電路搭建的 控制邏輯模塊來控制10總線上的控制信號以及地址信號,從而實現主備BIOS的自動切換。 這種設計較為復雜,而且需要額外增加外部電路(即所述控制邏輯模塊)來實現主備BIOS 的自動切換。綜上所述,現有的利用人工干預或外部控制邏輯模塊來激活備份BIOS,從而實現 主備BIOS切換的方法,都存在缺陷。
發明內容
本發明所要解決的技術問題是提供一種BIOS切換裝置及切換方法,能夠實現 BIOS的自動切換。為了解決上述問題,本發明公開了一種BIOS切換裝置,包括第一 BIOS、第二 BIOS、南橋模塊和可編程邏輯器件,其中,第一 BIOS和第二 BIOS 分別與南橋模塊連接,并分別與可編程邏輯器件連接,南橋模塊與可編程邏輯器件連接;所述南橋模塊用于向可編程邏輯器件提供當前BIOS的啟動信息;所述可編程邏輯器件用于根據所述啟動信息,判斷當前BIOS是否成功啟動,如果 啟動不成功,則進行BIOS切換,啟動另一個BIOS。
其中,所述第一 BIOS和第二 BIOS分別與可編程邏輯器件連接,具體包括所述第 一 BIOS和第二 BIOS分別利用輸入管腳與可編程邏輯器件的兩個IO管腳連接,信號定義為 FLS_ID0和FLS_ID1,用于表示當前選擇啟動的BIOS信息。其中,所述南橋模塊與可編程邏輯器件連接,具體包括所述南橋模塊利用兩個輸 入輸出管腳與可編程邏輯器件的兩個10管腳連接,信號定義為B00T_CTRL1和B00T_CTRL2, 其中B00T_CTRL1信號用于南橋模塊向可編程邏輯器件提供當前BIOS的啟動信息,Β00Τ_ CTRL2信號用于接收可編程邏輯器件反饋的表明當前成功啟動的BIOS信息。其中,所述可編程邏輯器件還用于接收外部時鐘信號來設置內部計時器,并根據 所述啟動信息以及內部計時器的狀態,判斷當前BIOS是否成功啟動。其中,所述可編程邏輯器件通過發出系統復位信號來啟動另一個BIOS。優選的,所述裝置還包括告警處理模塊,用于在啟動另一個BIOS不成功時,接收 可編程邏輯器件輸出的告警狀態信號,進行告警處理。其中,所述可編程邏輯器件為復雜可編程邏輯器件CPLD或現場可編程門陣列 FPGA0本發明還提供了一種BIOS切換方法,包括啟動當前BIOS,當前BIOS通過南橋模塊向可編程邏輯器件發出當前BIOS的啟動 fn息;所述可編程邏輯器件根據所述啟動信息,判斷當前BIOS是否成功啟動,如果啟動 不成功,則進行BIOS切換,啟動另一個BIOS。其中,所述可編程邏輯器件根據所述啟動信息,判斷當前BIOS是否成功啟動,具 體包括所述啟動信息為南橋模塊發出的B00T_CTRL1信號;所述可編程邏輯器件根據所述 B00T_CTRL1信號的電平判斷當前BIOS是否成功啟動,如果該信號的電平在預定的時間段 內發生變化,則當前BIOS啟動成功;否則,啟動不成功。其中,所述判斷具體包括所述可編程邏輯器件首先預置內部計時器初始值,然后 根據內部計時器初始值、預定的時間和輸入可編程邏輯器件的時鐘頻率計算出內部計時器 的溢出值;啟動內部計時器,在內部計時器的值未達到所述溢出值的時間段內,如果所述 B00T_CTRL1信號的電平發生變化,則當前BIOS啟動成功;否則,啟動不成功。其中,所述BIOS切換具體包括設置啟動超時狀態標識,并將啟動超時計數器的 值加1,然后重新設置FLS_ID0信號和FLS_ID1信號的值,將另一個BIOS切換為當前BIOS ; 其中,所述FLS_ID0信號和FLS_ID1信號分別為可編程邏輯器件發給兩個BIOS的信號,用 于表示當前選擇啟動的BIOS信息。其中,所述啟動另一個BIOS,具體包括在設置啟動超時狀態標識并且啟動超時 計數器的值不等于初始值+2時,所述可編程邏輯器件啟動系統復位延時計時器,同時使 系統處于復位狀態;當系統復位延時計時器的值與預先設定的復位延時計時器溢出值相 同時,將系統復位延時計時器的值恢復為初始值,并釋放系統復位信號,從而激活另一個 BIOS。優選的,所述啟動另一個BIOS之后,還包括所述可編程邏輯器件根據南橋模塊 發出的當前BIOS的啟動信息,判斷當前啟動的另一個BIOS是否成功啟動,如果啟動成功, 則將啟動超時計數器的值恢復為初始值。
優選的,所述方法還包括如果啟動不成功,則將啟動超時計數器的值再加1,此 時所述啟動超時計數器的值等于初始值+2,所述可編程邏輯器件啟動告警。優選的,所述方法還包括所述可編程邏輯器件向南橋模塊發出B00T_CTRL2信 號,用于反饋當前成功啟動的BIOS信息。與現有技術相比,本發明具有以下優點首先,本發明針對包含南橋模塊和北橋模塊的系統,利用南橋模塊實現系統IO控 制,并利用系統自帶的可編程邏輯器件實現BIOS的自動切換,從而激活備用BIOS。本發明 與采用人工干預來激活備份BIOS的方法相比,能夠實現自動切換,無需人工干預,節約了 人力資源和成本。同時,利用了單板上現有的硬件資源(南橋模塊和可編程邏輯器件),不 需要額外增加電路,因此節約了單板的PCB(Printed Circuit Board,印刷電路板)資源和 成本。其次,本發明提供了告警處理,方便操作者對啟動故障進行快速定位,進一步提高 了系統的穩定性和可靠性。
圖1是現有技術中通過外部控制邏輯模塊來激活備份BIOS的示意圖;圖2是本發明實施例所述一種BIOS切換裝置的結構圖;圖3A、3B、3C是本發明實施例所述一種BIOS切換方法的流程圖。
具體實施例方式為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和具體實 施方式對本發明作進一步詳細的說明。為了克服現有技術的缺點,本發明在基于X86系統架構開發的單板上設計了 系統BIOS的備份。當主用BIOS出現故障,在預定時間內引導失敗時,利用單板上的板
CPLD(Complex Programmable Logic Device,復雜可編程邏輯器件)或 FPGA(Field Programmable Gate Array,現場可編程門陣列)自動激活備用BIOS,完成單板系統的初始 化,并將這一情況通知上層軟件,由上層對主用BIOS進行更新。若備用BIOS同樣受到破壞, 雖然CPLD(或FPGA)激活了備用BIOS,但是在預定的時間內,備用BIOS也無法成功引導系 統,在這種情況下,CPLD (或FPGA)會自動通知獨立于單板主系統的告警處理模塊對單板目 前的狀態進行處理。本發明采用兩個分離的存儲設備分別存儲主用BIOS和備用BIOS,當主用BIOS存 儲芯片出現器件損壞或失效時,備用BIOS存儲芯片不受影響,相對于使用一個存儲設備存 儲主備BIOS的方法而言,提高了設備的可靠性和安全性。上述主用BIOS和備用BIOS的切換可以理解為第一 BIOS和第二 BIOS的切換,即 本發明不限定到實施例所述的主備用BIOS的切換。而且,下面實施例中可編程邏輯器件將 以CPLD為例進行說明。參照圖2,示出了本發明實施例所述一種BIOS切換裝置。對于X86體系架構,一般采用中央處理器+北橋+南橋(或南北橋合一)的組成 結構,BIOS flash芯片通常連接到南橋的10總線上,如LPC(Low Pin Count,低引腳數)接 口。RNC(Radic) Network Controller,無線網絡控制器)中的多數單板上需要使用板控的CPLD (或FPGA)對整板進行初始化配置和控制管理。本發明正是利用CPLD與南橋進行通 信,進而控制主備BIOS的自動切換以及系統復位和上報告警。所述裝置主要包括主用BI0SU21、備用BI0SU22、南橋模塊U23和CPLDU24。其中主用BIOS和備用BIOS通過IO總線分別與南橋模塊連接,實施例中以復接方式連 接到所述南橋模塊。同時,主用BIOS和備用BIOS的ID
管腳分別與CPLD的兩個10管腳 連接,用于接收CPLD的信號,其信號定義為FLS_ID0和FLS_ID1,表示當前選擇啟動的BIOS
fn息ο南橋模塊利用兩個GPIO(General Purpose Input Output,通用目的輸入輸出)管 腳與CPLD的10管腳連接,用于和CPLD進行信號交互。信號定義為B00T_CTRL1和Β00Τ_ CTRL2,其中B00T_CTRL1用于BIOS通過南橋模塊向CPLD提供當前BIOS的啟動信息,Β00Τ_ CTRL2用于接收CPLD的反饋信息,便于上層軟件查詢,所述反饋信息指明了當前成功啟動 的BIOS是主用的還是備用的。CPLD利用自身的CLK時鐘管腳接收外部時鐘信號,根據接收到的外部時鐘信號設 置內部計時器,并根據啟動信息以及內部計時器的狀態,判斷主用BIOS是否成功啟動,如 果啟動不成功,則進行BIOS切換,CPLD發出系統復位信號,同時啟動備用BIOS。優選的,該實施例還包括告警處理模塊U25,用于在啟動備用BIOS不成功時,接收 CPLD的10管腳輸出的告警狀態信號B00T_ALERT,進行告警處理。需要說明的是,由于連接到南橋模塊的flash芯片的地址和數據線復用且數量 少,所以它提供了 ID輸入選擇信號用于區分同一總線上的多個flash芯片,可連接的芯片 數量由ID信號的數量決定,例如當ID信號數量為4時,可連接的芯片數量為24 = 16個。 以此為例,當10總線上存在多個BIOS flash芯片時,系統一般默認從ID [3.. 0] = 0000的 芯片讀取BIOS代碼。因此,在只有主備兩個BIOS存儲芯片時,ID [3. . 1]無需控制,設置為0 即可。CPLD只要控制ID
信號的電平就可以實現BIOS的切換,在默認情況下,主用BIOS 的1_為0,備用BIOS的ID
為1,即上述FLS_ID0信號和FLS_ID1信號默認為0和1。 表 1注(1)初始電平可以是低電平“ 0 ”,也可以是高電平“ 1”,由使用者自定義。(2)上表中“X”表示這種判斷條件不存在,不關心相關狀態。(3)當主用BIOS啟動成功后,不再進行第二次引導。(4)電平變化表示CPLD向告警模塊輸出告警信息。表1所示為信號的邏輯關系及BIOS狀態簡表。本實施例設置初始電平為低電平 “0”。對于第一次引導在內部計時器未超時的情況下,B00T_CTRL1信號的電平發生變化時,Flash ID(即 FLS_ID0信號和FLS_ID1信號)不進行切換控制,系統不進行復位控制,B00T_CTRL2信號的電平保持初始不變,主用BIOS啟動成功,不再進行第二次引導;否則主用BIOS為啟動未完 成。在內部計時器超時的情況下,B00T_CTRL1信號的電平不變時,FlashID(即FLS_ IDO信號和FLS_ID1信號)進行切換控制,系統進行復位控制,B00T_CTRL2信號的電平改 變,主用BIOS啟動失敗,進入第二次引導,啟動備用BIOS。對于第二次引導在內部計時器未超時的情況下,B00T_CTRL1信號的電平發生變化時,Flash ID進 行切換控制(為了保證在下一次熱復位后,單板仍然首先選擇主用BIOS引導系統),系統不 進行復位控制,B00T_CTRL2信號的電平保持變化后的狀態,備用BIOS啟動成功;否則備用 BIOS未啟動成功。在內部計時器超時的情況下,B00T_CTRL1信號的電平不變時,FlashID進行切換 控制,系統不進行復位控制,B00T_CTRL2信號的電平改變,備用BIOS啟動失敗,CPLD向告警
模塊輸出告警信息。上述BIOS切換裝置,能夠實現自動切換,無需人工干預,節約了人力資源和成本。 同時,由于利用了 CPLD與南橋進行通信,進而控制主備BIOS的自動切換以及系統復位和上 報告警,即利用了單板上現有的硬件資源,不需要額外增加電路,因此節約了單板的PCB資 源和成本。而且,還提供了告警處理,方便操作者對啟動故障進行快速定位,進一步提高了 系統的穩定性和可靠性。此外,本發明也適用于具有類似南橋模塊功能的系統中,該系統中能夠實現對 BIOS的10控制,以及通過可編程邏輯器件控制BIOS切換即可。下面結合附圖詳細闡述本發明實施例的一種BIOS切換的方法。在本實施例中,單板系統在引導時有三種情況(1)主用BIOS未被破壞,單板系統由主用BIOS引導;(2)主用BIOS被破壞而備用BIOS完好,備用BIOS被激活,單板系統由備用BIOS 引導;(3)主備用BIOS均被破壞,單板系統引導失敗,上報告警信息。在單板上電復位和熱復位期間,需要設置以下參數的初始值,如“0” (1)內部計時器初始值;(2)啟動超時狀態標識;(3)啟動成功狀態標識;(4) B00T_CTRL2 初始值;(5)啟動告警狀態初始值。其中,參數FLS_ID0、啟動超時計數器初始值和系統復位延時計時器初始值在上電 復位期間需要設置初始值,而熱復位期間保持參數值不變。上述單板上電復位也稱為冷復位,是指系統從沒加電到加上電源而自動產生的復 位;上述熱復位是指在已經通電的情況下,給系統一個復位信號,稱為熱復位。如圖3所示,為一種BIOS切換方法的具體流程圖,其包括參照圖3A,對應情況(1)主用BIOS未被破壞,單板系統由主用BIOS引導。具體 流程如下
步驟Al 啟動主用BIOS,主用BIOS通過南橋模塊向CPLD發出主用BIOS的啟動信 息。本實施例中,單板上電復位后,系統默認從主用BIOS引導,FLS_ID0信號和FLS_ID1信 號分別為CPLD發給主備用BIOS的信號,用于表示當前選擇啟動的BIOS信息,此時FLS_ID0 =0,FLS_ID1 = 1。步驟A2 啟動內部計時器。首先設置內部計時器初始值,然后根據預定的時間、內 部計時器初始值和輸入CPLD的時鐘頻率(即外部時鐘頻率)計算出計時器的溢出值,并啟 動內部計時器。溢出值的計算公式為溢出值=內部計時器初始值+預定時間/(1/輸入時 鐘頻率)。步驟A3 :CPLD根據啟動信息,判斷主用BIOS是否成功啟動,如果啟動成功,則執行 步驟A4,否則,執行步驟Bl (Bi為圖3B的步驟)。判斷主用BIOS是否成功啟動,具體包括南橋模塊發出B00T_CTRL1信號的啟動信 息;CPLD根據所述B00T_CTRL1信號的電平判斷當前BIOS是否成功啟動。初始電平表示未 引導完成,本實施例中為低電平,電平變化表示引導完成,本實施例中變為高電平。當Β00Τ_ CTRLl信號的電平為初始電平時,內部計時器值在時鐘的上升沿(或下降沿)時進行累加, 隨后再與溢出值進行比較。如表1所示,如果B00T_CTRL1信號的電平在預定的時間段內發 生變化,則當前BIOS啟動成功;否則,啟動不成功。步驟A4 關閉內部計時器,設置相關狀態標識,主用BIOS繼續引導系統。本實施例中當內部計時器值沒有溢出且B00T_CTRL1發生了電平變化時,表示主 用BIOS已經在預定的時間內引導成功,此時關閉內部計時器,設置啟動成功狀態標識,如 “0”,并將啟動超時計數器值恢復為初始值。FLS_ID0的值保持不變,同時B00T_CTRL2的初 始電平也保持不變,這表示目前成功引導系統的是主用BIOS,如表1所示。參照圖3B,對應情況(2)主用BIOS被破壞而備用BIOS完好,備用BIOS被激活, 單板系統由備用BIOS引導。具體流程如下步驟Bl 啟動備用BIOS,設置啟動超時狀態標識,切換BIOS flash ID, 一定延時 后進行系統復位,單板進行熱復位,備用BIOS被激活,系統開始從備用BIOS進行引導。本實施例中,當主用BIOS被破壞后,在預定的時間內單板系統無法從主用BIOS引 導,在啟動超時條件滿足時,設置啟動超時狀態標識,如“1”,并將啟動超時計數器加1。接 著進行BIOS flash ID的切換,此時設置FLS_ID0 = 1,FLS_ID1 =0,這樣備用BIOS的ID
就被切換為系統默認的flashID。當啟動超時并且啟動超時計數器值不等于初始值+2時 (參照步驟Cl),CPLD啟動系統復位延時計時器,同時設置系統復位信號,如“0”,使整個系 統處于復位狀態。當系統復位延時計時器的當前值與預先設定的系統復位延時計時器的溢 出值相同時,將系統復位延時計時器的值恢復為初始值,并釋放系統復位信號。系統復位延 時計時器的溢出值的計算公式為溢出值=系統復位延時計時器初始值+預定時間/(1/輸 入時鐘頻率)。步驟B2 啟動內部計時器,同步驟A2。步驟B3 :CPLD根據啟動信息,判斷備用BIOS是否成功啟動,如果啟動成功,則執行 步驟B4,否則,執行步驟C (C為圖3C的步驟)。判斷備用BIOS是否成功啟動,具體包括南橋模塊發出B00T_CTRL1信號的啟動信 息;CPLD根據所述B00T_CTRL1信號的電平判斷備用BIOS是否成功啟動。如果B00T_CTRL1信號的電平在預定的時間段內發生變化,則備用BIOS啟動成功;否則,啟動不成功,如表1 所示。步驟B4 關閉內部計時器,設置相關狀態標識,備用BIOS引導系統。本實施例中單板熱復位后,B00T_CTRL1恢復到默認的初始值,當內部計時器值沒 有溢出且B00T_CTRL1發生電平變化時,表示備用BIOS已經在預定的時間內引導成功,此 時停止計時,設置啟動成功狀態標識,如“1”,并將啟動超時計數器值恢復為初始值。此時 FLS_ID0的值為1,需要重新設置為0,這樣是為了保證在下一次熱復位后,單板仍然首先選 擇主用BIOS引導系統。同時控制B00T_CTRL2信號的電平發生變化,表示目前成功引導系 統的是備用BIOS,CPLD向南橋模塊發出B00T_CTRL2信號,反饋備用BIOS啟動成功。當上 層軟件查詢到上述情況時,可以判斷出主用BIOS被破壞,并對主用BIOS進行更新。參照圖3C,對應情況(3):主備用BIOS均被破壞,單板系統引導失敗,上報告警信 息。具體流程如下步驟Cl 當備用BIOS也被破壞后,在預定的時間內單板系統也無法從備用BIOS 引導,在啟動超時條件滿足時,設置啟動超時狀態標識,如“1”,并將啟動超時計數器加1, 此時該計數器的值等于初始值+2,滿足禁止進行系統復位的條件,CPLD不再設置系統復位 信號,系統處于無法正常啟動的狀態。步驟C2 :CPLD輸出告警信息給單板告警模塊,控制B00T_ALERT信號的電平發生變 化,當告警模塊監測到該管腳的電平變化時,則進行相應的告警處理。綜上所述,本發明實施例提供的一種BIOS切換裝置及切換方法,采用兩個分離的 存儲設備分別存儲主用BIOS和備用BIOS,當主用BIOS存儲芯片出現器件損壞或失效時,備 用BIOS存儲芯片不受影響。與采用人工干預來激活備份BIOS的方法相比,實現了自動切 換,減少了人力資源的利用,相對于使用一個存儲設備存儲主備BIOS的方法而言,提高了 設備的可靠性和安全性。而且,利用了單板上現有的硬件資源,不需要額外增加電路,因此 節約了單板的PCB資源和成本。以上對本發明所提供的一種BIOS切換裝置及切換方法進行了詳細介紹,本文中 應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助 理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想, 在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本 發明的限制。
權利要求
一種BIOS切換裝置,其特征在于,包括第一BIOS、第二BIOS、南橋模塊和可編程邏輯器件,其中,第一BIOS和第二BIOS分別與南橋模塊連接,并分別與可編程邏輯器件連接,南橋模塊與可編程邏輯器件連接;所述南橋模塊用于向可編程邏輯器件提供當前BIOS的啟動信息;所述可編程邏輯器件用于根據所述啟動信息,判斷當前BIOS是否成功啟動,如果啟動不成功,則進行BIOS切換,啟動另一個BIOS。
2.根據權利要求1所述的裝置,其特征在于,所述第一BIOS和第二 BIOS分別與可編程 邏輯器件連接,具體包括所述第一 BIOS和第二 BIOS分別利用輸入管腳與可編程邏輯器件的兩個IO管腳連接, 信號定義為FLS_ID0和FLS_ID1,用于表示當前選擇啟動的BIOS信息。
3.根據權利要求1所述的裝置,其特征在于,所述南橋模塊與可編程邏輯器件連接,具 體包括所述南橋模塊利用兩個輸入輸出管腳與可編程邏輯器件的兩個10管腳連接,信號定 義為B00T_CTRL1和B00T_CTRL2,其中B00T_CTRL1信號用于南橋模塊向可編程邏輯器件提 供當前BIOS的啟動信息,B00T_CTRL2信號用于接收可編程邏輯器件反饋的表明當前成功 啟動的BIOS信息。
4.根據權利要求1所述的裝置,其特征在于所述可編程邏輯器件還用于接收外部時鐘信號來設置內部計時器,并根據所述啟動信 息以及內部計時器的狀態,判斷當前BIOS是否成功啟動。
5.根據權利要求1所述的裝置,其特征在于所述可編程邏輯器件通過發出系統復位信號來啟動另一個BIOS。
6.根據權利要求1所述的裝置,其特征在于,還包括告警處理模塊,用于在啟動另一個BIOS不成功時,接收可編程邏輯器件輸出的告警狀 態信號,進行告警處理。
7.根據權利要求1所述的裝置,其特征在于所述可編程邏輯器件為復雜可編程邏輯器件CPLD或現場可編程門陣列FPGA。
8.—種BIOS切換方法,其特征在于,包括啟動當前BIOS,當前BIOS通過南橋模塊向可編程邏輯器件發出當前BIOS的啟動信息;所述可編程邏輯器件根據所述啟動信息,判斷當前BIOS是否成功啟動,如果啟動不成 功,則進行BIOS切換,啟動另一個BIOS。
9.根據權利要求8所述的方法,其特征在于,所述可編程邏輯器件根據所述啟動信息, 判斷當前BIOS是否成功啟動,具體包括所述啟動信息為南橋模塊發出的B00T_CTRL1信號;所述可編程邏輯器件根據所述B00T_CTRL1信號的電平判斷當前BIOS是否成功啟動, 如果該信號的電平在預定的時間段內發生變化,則當前BIOS啟動成功;否則,啟動不成功。
10.根據權利要求9所述的方法,其特征在于,所述判斷具體包括所述可編程邏輯器件首先預置內部計時器初始值,然后根據內部計時器初始值、預定 的時間和輸入可編程邏輯器件的時鐘頻率計算出內部計時器的溢出值;啟動內部計時器,在內部計時器的值未達到所述溢出值的時間段內,如果所述Β00Τ_ CTRLl信號的電平發生變化,則當前BIOS啟動成功;否則,啟動不成功。
11.根據權利要求8所述的方法,其特征在于,所述BIOS切換具體包括設置啟動超時狀態標識,并將啟動超時計數器的值加1,然后重新設置FLS_ID0信號和 FLS_ID1信號的值,將另一個BIOS切換為當前BIOS ;其中,所述FLS_ID0信號和FLS_ID1信號分別為可編程邏輯器件發給兩個BIOS的信 號,用于表示當前選擇啟動的BIOS信息。
12.根據權利要求11所述的方法,其特征在于,所述啟動另一個BIOS,具體包括在設置啟動超時狀態標識并且啟動超時計數器的值不等于初始值+2時,所述可編程 邏輯器件啟動系統復位延時計時器,同時使系統處于復位狀態;當系統復位延時計時器的值與預先設定的復位延時計時器溢出值相同時,將系統復位 延時計時器的值恢復為初始值,并釋放系統復位信號,從而激活另一個BIOS。
13.根據權利要求11所述的方法,其特征在于,所述啟動另一個BIOS之后,還包括 所述可編程邏輯器件根據南橋模塊發出的當前BIOS的啟動信息,判斷當前啟動的另一個BIOS是否成功啟動,如果啟動成功,則將啟動超時計數器的值恢復為初始值。
14.根據權利要求13所述的方法,其特征在于,還包括如果啟動不成功,則將啟動超時計數器的值再加1,此時所述啟動超時計數器的值等于 初始值+2,所述可編程邏輯器件啟動告警。
15.根據權利要求8所述的方法,其特征在于,還包括所述可編程邏輯器件向南橋模塊發出B00T_CTRL2信號,用于反饋當前成功啟動的 BIOS信息。全文摘要
本發明提供了一種BIOS切換裝置及切換方法,能夠實現BIOS的自動切換。所述裝置包括第一BIOS、第二BIOS、南橋模塊和可編程邏輯器件,其中,第一BIOS和第二BIOS分別與南橋模塊連接,并分別與可編程邏輯器件連接,南橋模塊與可編程邏輯器件連接;所述南橋模塊用于向可編程邏輯器件提供當前BIOS的啟動信息;所述可編程邏輯器件用于根據所述啟動信息,判斷當前BIOS是否成功啟動,如果啟動不成功,則進行BIOS切換,啟動另一個BIOS。本發明與采用人工干預來激活備份BIOS的方法相比,能夠實現自動切換,無需人工干預,節約了人力資源和成本。同時,利用了單板上現有的硬件資源(南橋模塊和可編程邏輯器件),不需要額外增加電路,因此節約了單板的資源和成本。
文檔編號G06F9/445GK101908008SQ20091008607
公開日2010年12月8日 申請日期2009年6月3日 優先權日2009年6月3日
發明者田洪濤 申請人:大唐移動通信設備有限公司