專利名稱:一種軟硬件協(xié)同防止系統(tǒng)死機(jī)中斷業(yè)務(wù)的復(fù)位方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電子設(shè)備內(nèi)利用軟硬件協(xié)同完成防止系統(tǒng)死機(jī)的復(fù)位方法,尤其涉及的是在通訊領(lǐng)域的復(fù)位邏輯電路設(shè)計(jì)中,通過軟件與硬件共同配合,防止系統(tǒng)運(yùn)行死機(jī)引起業(yè)務(wù)中斷的復(fù)位方法。
背景技術(shù):
在現(xiàn)有技術(shù)的電子設(shè)備中,為了防止系統(tǒng)出現(xiàn)CPU跑死或在工作不正常的情況下能夠及時(shí)的進(jìn)行復(fù)位處理,系統(tǒng)中都設(shè)計(jì)有復(fù)位邏輯。
對(duì)于一塊單板,其一般的復(fù)位邏輯是簡(jiǎn)單的由一塊帶看門狗的復(fù)位芯片來完成的,通過軟件喂狗的方式控制整板的復(fù)位。這種做法很有可能會(huì)造成整個(gè)通訊網(wǎng)的業(yè)務(wù)通訊中斷。如在軟件跑死時(shí),沒有了喂狗信號(hào),單板會(huì)重啟。對(duì)系統(tǒng)軟件版本升級(jí)時(shí),需重啟軟件時(shí)也不得不復(fù)位系統(tǒng)或單板?;蛟谝恍┯赏话l(fā)性任務(wù)造成CPU工作負(fù)荷加重的情況下,使得軟件無法及時(shí)的給出喂狗信號(hào),雖說這時(shí)CPU及軟件均在正常工作,但仍會(huì)引起單板或系統(tǒng)設(shè)備復(fù)位,造成業(yè)務(wù)中斷。
對(duì)于設(shè)備的整個(gè)系統(tǒng)來說,系統(tǒng)對(duì)各線卡的復(fù)位方案也比較的簡(jiǎn)單,安全性很低。一般是從主控板送給各個(gè)線卡一個(gè)復(fù)位信號(hào),指示當(dāng)前是否要進(jìn)行單板強(qiáng)制復(fù)位,這種做法容易導(dǎo)致由于線上的干擾使線卡誤操作,導(dǎo)致整板復(fù)位的現(xiàn)象。
因此,現(xiàn)有技術(shù)還有待于繼續(xù)改進(jìn)和發(fā)展。
發(fā)明內(nèi)容
本發(fā)明的目的就是為了解決以前復(fù)位邏輯過于簡(jiǎn)單,對(duì)復(fù)位信號(hào)不作區(qū)分,任何情況下的復(fù)位都會(huì)引起整個(gè)單板的重起,導(dǎo)致業(yè)務(wù)中斷的技術(shù)問題,設(shè)計(jì)一種能夠解決以上各種不完善情況的軟硬件協(xié)同操作的復(fù)位方案。
本發(fā)明的技術(shù)方案包括一種軟硬件協(xié)同防止系統(tǒng)死機(jī)中斷業(yè)務(wù)的復(fù)位方法,其包括以下步驟A、在系統(tǒng)異常情況下選擇軟件復(fù)位或硬件復(fù)位;B、對(duì)于由軟件原因引起的軟件復(fù)位,系統(tǒng)只對(duì)CPU部分進(jìn)行復(fù)位,對(duì)業(yè)務(wù)部分不處理,保證軟件復(fù)位時(shí)不斷業(yè)務(wù);C、若系統(tǒng)在預(yù)定時(shí)間內(nèi)超過了預(yù)定次數(shù)的軟件復(fù)位,則進(jìn)行硬件復(fù)位。
所述的方法,其中,所述硬件復(fù)位的條件還包括上電,按復(fù)位鍵,網(wǎng)管下硬復(fù)位命令,線卡收到強(qiáng)制復(fù)位信號(hào)或單板自檢不通過。
所述的方法,其中,所述軟件復(fù)位的條件還包括版本下載結(jié)束后重新啟動(dòng)或收到主控板下發(fā)的軟件復(fù)位命令。
所述的方法,其中,所述步驟C還包括所述系統(tǒng)中設(shè)置一可編程邏輯器件,其中設(shè)有兩個(gè)計(jì)數(shù)器,一第一計(jì)數(shù)器為看門狗,它的清零控制端需要CPU在預(yù)定時(shí)間內(nèi)寫入喂狗字節(jié)的數(shù)字至少變化一次,否則溢出;一第二計(jì)數(shù)器對(duì)所述第一計(jì)數(shù)器的溢出次數(shù)進(jìn)行計(jì)數(shù),當(dāng)計(jì)到預(yù)定次數(shù)時(shí)溢出;該第二計(jì)數(shù)器溢出后,切斷晶振時(shí)鐘到復(fù)位芯片的輸入,使所述復(fù)位芯片產(chǎn)生復(fù)位輸出,形成硬件復(fù)位過程。
所述的方法,其中,所述步驟C還包括該第二計(jì)數(shù)器的計(jì)數(shù)值由軟件的溢出次數(shù)字節(jié)讀回,用于判斷是硬件重啟還是軟件重啟。
所述的方法,其中,所述步驟C還包括所述第二計(jì)數(shù)器的計(jì)數(shù)值由軟件的溢出次數(shù)字節(jié)進(jìn)行修改,以在所述第一計(jì)數(shù)器下一次溢出時(shí)產(chǎn)生硬件復(fù)位。
本發(fā)明所提供的一種軟硬件協(xié)同防止系統(tǒng)死機(jī)中斷業(yè)務(wù)的復(fù)位方法,大大提高了系統(tǒng)的穩(wěn)定性,對(duì)不同情況下的復(fù)位信號(hào)進(jìn)行了智能處理,增強(qiáng)了系統(tǒng)復(fù)位的靈活性;降低了異常復(fù)位引起的業(yè)務(wù)中斷的可能性。
圖1為本發(fā)明方法的復(fù)位流程框圖;圖2為本發(fā)明方法的看門狗復(fù)位邏輯框圖。
具體實(shí)施例方式
以下結(jié)合附圖,將對(duì)本發(fā)明的各較佳實(shí)施例進(jìn)行較為詳細(xì)的說明。
本發(fā)明的所述軟硬件協(xié)同防止系統(tǒng)死機(jī)中斷業(yè)務(wù)的復(fù)位方法,采用了軟件復(fù)位和硬件復(fù)位相結(jié)合的方案,可根據(jù)產(chǎn)生異常的情況不同產(chǎn)生不同的復(fù)位動(dòng)作,從而達(dá)到對(duì)系統(tǒng)及業(yè)務(wù)的影響最小。
本發(fā)明方法中的復(fù)位分成兩大類硬件復(fù)位和軟件復(fù)位,其中的軟件復(fù)位只復(fù)位CPU部分,對(duì)業(yè)務(wù)部分的芯片不進(jìn)行操作,從而對(duì)業(yè)務(wù)無中斷影響。硬件復(fù)位則是對(duì)單板上所有能執(zhí)行復(fù)位操作的芯片進(jìn)行復(fù)位操作,也就是通常說的整板復(fù)位,此時(shí)會(huì)中斷業(yè)務(wù),產(chǎn)生影響,因此非到必不可少不進(jìn)行整板復(fù)位。
本發(fā)明較佳實(shí)施例中所述復(fù)位邏輯產(chǎn)生的條件有以下的幾種,根據(jù)產(chǎn)生條件的不同進(jìn)行相應(yīng)的復(fù)位操作。
對(duì)于由軟件原因引起的軟件復(fù)位,系統(tǒng)只對(duì)CPU部分進(jìn)行復(fù)位,對(duì)業(yè)務(wù)部分不處理,保證軟件復(fù)位時(shí)不斷業(yè)務(wù)。若系統(tǒng)在預(yù)定時(shí)間內(nèi)出現(xiàn)了N次軟件復(fù)位,則可能整個(gè)系統(tǒng)有問題,通過軟件復(fù)位無法解決問題,單板或系統(tǒng)執(zhí)行硬件復(fù)位,此時(shí)業(yè)務(wù)會(huì)中斷。該次數(shù)N為一個(gè)根據(jù)各自系統(tǒng)特點(diǎn)可以由用戶定義的數(shù)字,所述預(yù)定時(shí)間也可以由用戶據(jù)各自系統(tǒng)特點(diǎn)進(jìn)行預(yù)先設(shè)定。
本發(fā)明方法的所述復(fù)雜可編程邏輯器件CPLD中設(shè)有2個(gè)計(jì)數(shù)器,如圖1和圖2所示的,第一計(jì)數(shù)器1為看門狗,它的清零控制端需要CPU軟件在軟件可編程規(guī)定的時(shí)間內(nèi)寫入喂狗字節(jié)的數(shù)字(0/1)至少變化一次,否則溢出。該計(jì)數(shù)器的溢出時(shí)間可以根據(jù)CPU的忙閑程度做相應(yīng)的調(diào)節(jié),可以適當(dāng)將時(shí)間加長(zhǎng),這種情況下只要相應(yīng)的調(diào)節(jié)計(jì)數(shù)器的溢出計(jì)數(shù)控制就可以實(shí)現(xiàn)。第一計(jì)數(shù)器1溢出端連至CPU的軟件復(fù)位引腳,產(chǎn)生軟件復(fù)位過程。第一計(jì)數(shù)器1的計(jì)數(shù)可以通過軟件狗使能字節(jié)控制停止/啟動(dòng)。
第二計(jì)數(shù)器2對(duì)第一計(jì)數(shù)器1的溢出次數(shù)進(jìn)行計(jì)數(shù),當(dāng)計(jì)到N時(shí)溢出。第二計(jì)數(shù)器2溢出后,切斷晶振時(shí)鐘到復(fù)位芯片的輸入,使復(fù)位芯片產(chǎn)生復(fù)位輸出,形成硬件復(fù)位過程。該第二計(jì)數(shù)器2的計(jì)數(shù)值可以由軟件的溢出次數(shù)字節(jié)讀回,用于判斷是硬件重啟還是軟件重啟。第二計(jì)數(shù)器2的計(jì)數(shù)值可以由軟件的溢出次數(shù)字節(jié)進(jìn)行修改,修改成N-1后,如果第一計(jì)數(shù)器1再次溢出,就會(huì)產(chǎn)生硬件復(fù)位。軟件每次啟動(dòng)后在規(guī)定的時(shí)間內(nèi)要給溢出次數(shù)字節(jié)寄存器寫入0,以保證正常情況下如果規(guī)定時(shí)間內(nèi)第一計(jì)數(shù)器1溢出N次則產(chǎn)生硬件復(fù)位。
CPLD內(nèi)還使用主控板的管理時(shí)鐘信號(hào)采集主控板提供給線卡的強(qiáng)制復(fù)位線的信號(hào),使用移位寄存器進(jìn)行比較,在這里強(qiáng)制復(fù)位信號(hào)采用一串串行的特征字來表示,當(dāng)監(jiān)測(cè)到這個(gè)特征字后,切斷晶振時(shí)鐘到復(fù)位芯片的輸入,使復(fù)位芯片產(chǎn)生復(fù)位輸出,形成硬件復(fù)位過程。這樣可有效的濾出強(qiáng)制復(fù)位線上的干擾信號(hào),防止誤操作。
本發(fā)明方法的該邏輯詳細(xì)介紹如下所述單板內(nèi)的復(fù)位芯片負(fù)責(zé)硬件復(fù)位,其復(fù)位輸出接至CPU、可編程邏輯器件和各專用芯片的復(fù)位腳。所述復(fù)位芯片的手工復(fù)位輸入接至復(fù)位芯片的手工復(fù)位端,按復(fù)位鍵產(chǎn)生硬件復(fù)位操作。所述復(fù)位芯片的看門狗輸入端接至可編程邏輯器件,由可編程邏輯器件為其提供時(shí)鐘信號(hào),當(dāng)產(chǎn)生下列情況之一時(shí)可編程邏輯器件停止提供時(shí)鐘信號(hào),復(fù)位芯片產(chǎn)生硬件復(fù)位規(guī)定時(shí)間內(nèi)看門狗曾經(jīng)溢出次數(shù)計(jì)數(shù)達(dá)到N次,或,主控板發(fā)送的強(qiáng)制復(fù)位信號(hào)為規(guī)定的特征字時(shí)。
所述單板上的可編程邏輯器件中設(shè)有一個(gè)看門狗程序,要求在軟件規(guī)定的喂狗時(shí)間內(nèi)至少喂狗(控制電平變化)一次,否則看門狗溢出,對(duì)CPU進(jìn)行復(fù)位。軟件使用看門狗喂狗字節(jié)位寫“0”/“1”進(jìn)行喂狗??撮T狗可以被禁止(比如啟動(dòng)、版本更新時(shí)),軟件使用看門狗使能開關(guān)字節(jié)寫“0”禁止看門狗工作。可編程邏輯器件內(nèi)邏輯使此控制邏輯缺省為禁止看門狗工作。
本發(fā)明所述可編程邏輯器件中還有邏輯對(duì)看門狗曾經(jīng)溢出的次數(shù)進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)到N-1次后又產(chǎn)生了看門狗復(fù)位時(shí)進(jìn)行硬件復(fù)位。軟件要在預(yù)定時(shí)間后將看門狗溢出次數(shù)清零,以保證“如果規(guī)定時(shí)間內(nèi)有超過N次看門狗溢出就執(zhí)行硬件復(fù)位”的邏輯。軟件使用看門狗溢出次數(shù)字節(jié)位寫零清除看門狗溢出次數(shù)計(jì)數(shù)。
所述硬件復(fù)位后看門狗曾經(jīng)溢出的次數(shù)的計(jì)數(shù)值為0,可以使用看門狗曾經(jīng)溢出次數(shù)做為軟件判別軟/硬重起的標(biāo)志。當(dāng)看門狗曾經(jīng)溢出的次數(shù)為0時(shí),表明是硬重啟;當(dāng)看門狗曾經(jīng)溢出的次數(shù)不為0時(shí),表明是軟重啟。軟件讀取看門狗溢出次數(shù)字節(jié)位對(duì)應(yīng)看門狗曾經(jīng)溢出次數(shù)。軟件可以修改看門狗曾經(jīng)溢出次數(shù),當(dāng)寫成N-1后,看門狗再次溢出,就會(huì)產(chǎn)生硬件復(fù)位,從而實(shí)現(xiàn)軟件控制硬件復(fù)位。
本發(fā)明方法通過軟硬件的協(xié)同操作,對(duì)不同情況下的復(fù)位信號(hào)進(jìn)行區(qū)分,并作適當(dāng)?shù)奶幚恚瑢?duì)某些軟件或CPU跑死等引起的復(fù)位,在保證通訊業(yè)務(wù)不中斷的情況下,恢復(fù)系統(tǒng)正常運(yùn)行。本發(fā)明的復(fù)位方法大大提高了系統(tǒng)的穩(wěn)定性,對(duì)不同情況下的復(fù)位信號(hào)進(jìn)行了智能處理,增強(qiáng)了系統(tǒng)復(fù)位的靈活性;降低了異常復(fù)位引起的業(yè)務(wù)中斷的可能性。
應(yīng)當(dāng)理解的是,上述針對(duì)具體實(shí)施例的描述較為詳細(xì),并不能因此而認(rèn)為是對(duì)本發(fā)明專利保護(hù)范圍的限制,本發(fā)明的專利保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種軟硬件協(xié)同防止系統(tǒng)死機(jī)中斷業(yè)務(wù)的復(fù)位方法,其包括以下步驟A、在系統(tǒng)異常情況下選擇軟件復(fù)位或硬件復(fù)位;B、對(duì)于由軟件原因引起的軟件復(fù)位,系統(tǒng)只對(duì)CPU部分進(jìn)行復(fù)位,對(duì)業(yè)務(wù)部分不處理,保證軟件復(fù)位時(shí)不斷業(yè)務(wù);C、若系統(tǒng)在預(yù)定時(shí)間內(nèi)超過了預(yù)定次數(shù)的軟件復(fù)位,則進(jìn)行硬件復(fù)位。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述硬件復(fù)位的條件還包括上電,按復(fù)位鍵,網(wǎng)管下硬復(fù)位命令,線卡收到強(qiáng)制復(fù)位信號(hào)或單板自檢不通過。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述軟件復(fù)位的條件還包括版本下載結(jié)束后重新啟動(dòng)或收到主控板下發(fā)的軟件復(fù)位命令。
4.根據(jù)權(quán)利要求1至3任意所述的方法,其特征在于,所述步驟C還包括所述系統(tǒng)中設(shè)置一可編程邏輯器件,其中設(shè)有兩個(gè)計(jì)數(shù)器,一第一計(jì)數(shù)器為看門狗,它的清零控制端需要CPU在預(yù)定時(shí)間內(nèi)寫入喂狗字節(jié)的數(shù)字至少變化一次,否則溢出;一第二計(jì)數(shù)器對(duì)所述第一計(jì)數(shù)器的溢出次數(shù)進(jìn)行計(jì)數(shù),當(dāng)計(jì)到預(yù)定次數(shù)時(shí)溢出;該第二計(jì)數(shù)器溢出后,切斷晶振時(shí)鐘到復(fù)位芯片的輸入,使所述復(fù)位芯片產(chǎn)生復(fù)位輸出,形成硬件復(fù)位過程。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟C還包括該第二計(jì)數(shù)器的計(jì)數(shù)值由軟件的溢出次數(shù)字節(jié)讀回,用于判斷是硬件重啟還是軟件重啟。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟C還包括所述第二計(jì)數(shù)器的計(jì)數(shù)值由軟件的溢出次數(shù)字節(jié)進(jìn)行修改,以在所述第一計(jì)數(shù)器下一次溢出時(shí)產(chǎn)生硬件復(fù)位。
全文摘要
本發(fā)明公開了一種軟硬件協(xié)同防止系統(tǒng)死機(jī)中斷業(yè)務(wù)的復(fù)位方法,其包括以下步驟在系統(tǒng)異常情況下選擇軟件復(fù)位或硬件復(fù)位;對(duì)于由軟件原因引起的軟件復(fù)位,系統(tǒng)只對(duì)CPU部分進(jìn)行復(fù)位,對(duì)業(yè)務(wù)部分不處理,保證軟件復(fù)位時(shí)不斷業(yè)務(wù);若系統(tǒng)在預(yù)定時(shí)間內(nèi)超過了預(yù)定次數(shù)的軟件復(fù)位,則進(jìn)行硬件復(fù)位。本發(fā)明方法大大提高了系統(tǒng)的穩(wěn)定性,對(duì)不同情況下的復(fù)位信號(hào)進(jìn)行了智能處理,增強(qiáng)了系統(tǒng)復(fù)位的靈活性;降低了異常復(fù)位引起的業(yè)務(wù)中斷的可能性。
文檔編號(hào)G06F11/00GK1979381SQ200510120638
公開日2007年6月13日 申請(qǐng)日期2005年12月9日 優(yōu)先權(quán)日2005年12月9日
發(fā)明者王靜璇, 齊建, 陸建鑫 申請(qǐng)人:中興通訊股份有限公司