專利名稱:一種對寄存器進(jìn)行巡檢校驗(yàn)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電數(shù)字?jǐn)?shù)據(jù)處理,尤其涉及一種對適用于嵌入式系統(tǒng),如手機(jī)/VCD/個(gè)人數(shù)字助理PDA等芯片中的寄存器進(jìn)行巡檢校驗(yàn)的方法。
背景技術(shù):
隨著波分復(fù)用(WDM,Wavelength Division Multiplexing)技術(shù)的飛速發(fā)展及傳輸速率的加倍提高,對設(shè)備的安全性和可靠性要求越來越高,單板上重要芯片能否正常的工作,對于業(yè)務(wù)能否正常傳輸至關(guān)重要。因此要求提高重要芯片的安全性和可靠性,防止出現(xiàn)電壓跌落等情況導(dǎo)致的業(yè)務(wù)中斷,要求既使出現(xiàn)電壓瞬間跌落導(dǎo)致可編程邏輯門陣列(FPGA)等芯片異常時(shí),單板也能重新配置,并自動進(jìn)行硬復(fù)位,從而迅速恢復(fù)業(yè)務(wù)。
現(xiàn)有技術(shù)在某些異常情況導(dǎo)致芯片配置丟失時(shí),無法恢復(fù)配置,并無法自動進(jìn)行硬復(fù)位。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是克服現(xiàn)有的芯片寄存器配置丟失后無法恢復(fù),以及無法自動進(jìn)行硬復(fù)位的不足,提供一種對寄存器進(jìn)行巡檢校驗(yàn)的方法,使得在配置丟失時(shí),能夠進(jìn)行恢復(fù),并可根據(jù)需要對單板自動進(jìn)行硬復(fù)位。
本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案為這種對寄存器進(jìn)行巡檢校驗(yàn)的方法,其特征在于利用芯片隨機(jī)存儲器(RAM)對寄存器的值進(jìn)行備份,在寫寄存器的同時(shí),更新RAM中的備份值,并利用該備份值實(shí)現(xiàn)對寄存器的巡檢校驗(yàn),包括以下步驟每間隔一定的時(shí)間將RAM中的備份值與對應(yīng)的寄存器值進(jìn)行比較;如果比較結(jié)果不一致,則上報(bào)告警,并進(jìn)行糾正,將備份值寫入相應(yīng)的寄存器。
將RAM中的備份值與對應(yīng)的寄存器值進(jìn)行比較,以及對寄存器值進(jìn)行糾正時(shí),按掩碼進(jìn)行操作。
所述進(jìn)行糾正包括糾正過后重新將RAM中的備份值與寄存器值進(jìn)行比較,如果糾正成功,則進(jìn)行下一個(gè)寄存器的校驗(yàn);如果糾正不成功,則重新進(jìn)行糾正。
如果連續(xù)糾正一定的次數(shù)仍未成功,則根據(jù)寄存器的安全性級別,對高安全性寄存器進(jìn)行單板硬復(fù)位。
所述每間隔一定的時(shí)間將RAM中的備份值與對應(yīng)的寄存器值進(jìn)行比較是通過設(shè)置專門的巡檢任務(wù)進(jìn)行。
所述的巡檢任務(wù)中,還在單板上可編程邏輯門陣列(FPGA)的某個(gè)寄存器中寫入數(shù)值,并讀取該寄存器,如果連續(xù)數(shù)次讀出的值與寫入的值不同,則認(rèn)為發(fā)生了電壓跌落,硬復(fù)位單板。
所述寫寄存器是通過封裝的對外命令接口進(jìn)行。
本發(fā)明的有益效果為利用本發(fā)明的巡檢校驗(yàn)方法,通過單板上RAM中的變量來保存一份寄存器值的鏡象,在寫寄存器時(shí),同步更新鏡象,從而在電壓跌落,或出現(xiàn)程序運(yùn)行錯(cuò)誤、用戶使用直接修改寄存器命令、某些芯片管腳短路等情況,導(dǎo)致芯片配置丟失時(shí),能夠重新進(jìn)行配置,并可根據(jù)安全性要求自動進(jìn)行硬復(fù)位,及時(shí)恢復(fù)業(yè)務(wù)。
本發(fā)明還利用FPGA中一個(gè)專門寄存器,看它的讀寫能否正常進(jìn)行,來判斷單板是否出現(xiàn)故障,從而有效地判斷是否發(fā)生電壓跌落,自動對單板進(jìn)行硬復(fù)位。
具體實(shí)施例方式
下面根據(jù)實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明本發(fā)明利用隨機(jī)存儲器(RAM)抗低壓能力優(yōu)于芯片的抗低壓能力,從而當(dāng)電壓在一定范圍波動時(shí),芯片寄存器內(nèi)容丟失,而RAM中的內(nèi)容能夠保存的特點(diǎn),在單板RAM上對寄存器的值進(jìn)行備份,并按時(shí)根據(jù)備份值對實(shí)際寄存器的值進(jìn)行巡檢,在出現(xiàn)不一致時(shí)及時(shí)進(jìn)行糾正。
本發(fā)明對芯片寄存器讀寫等功能進(jìn)行封裝,對外提供接口,所有對芯片寄存器的操作通過這里提供的接口進(jìn)行,在通過封裝的對外命令接口寫寄存器的時(shí)候,同時(shí)寫RAM中的鏡象,更新RAM中變量的值,達(dá)到寄存器的值在內(nèi)存中鏡像。這個(gè)更新操作必須是不可打斷的,如果被打斷,可能會使寄存器的值與RAM中的值不一致,巡檢發(fā)現(xiàn)不一致,可能會用RAM中的值來恢復(fù)寄存器的值進(jìn)行糾正。
寄存器巡檢在單板正常開工后進(jìn)行操作,需要一個(gè)專門的任務(wù),此任務(wù)的優(yōu)先級可定為中等偏低,間隔時(shí)間可定為秒級(如2秒),就是每隔若干秒進(jìn)行一次寄存器鏡像檢查,用鏡像的內(nèi)存變量值與對應(yīng)的寄存器進(jìn)行掩碼比較,如果不一致,立即上報(bào)告警,并將變量的值按掩碼寫入該寄存器,再讀出校驗(yàn),如果糾正成功則認(rèn)為寄存器鏡像檢查成功,再進(jìn)行下一個(gè)寄存器的校驗(yàn)。如果不成功,再糾正,連續(xù)數(shù)次糾正失敗后,認(rèn)為寄存器巡檢失敗。
如果寄存器巡檢失敗,則將根據(jù)芯片寄存器的安全性級別,進(jìn)行不同的處理,對于高安全性的寄存器巡檢失敗,將硬復(fù)位單板;對于低安全性的寄存器巡檢失敗,可以不進(jìn)行特別操作。
本發(fā)明還可在硬件FPGA上提供一個(gè)專門的低壓校驗(yàn)用寄存器,這個(gè)寄存器的讀寫情況能夠反映FPGA工作的情況,在FPGA異常時(shí),該寄存器的讀寫也無法正常執(zhí)行,因此通過對該寄存器讀寫狀況的判斷,就可知道FPGA是否工作正常,從而可反映出單板電壓是否發(fā)生跌落。低壓校驗(yàn)任務(wù)可以與寄存器巡檢是同一個(gè)任務(wù),先把該寄存器的值寫為某個(gè)值(如0xa5),可以寫3次,確保已經(jīng)寫上,然后讀寄存器的值,并進(jìn)行判斷,看讀出值是否為寫入的值,連續(xù)進(jìn)行讀寫若干次,如果有一次讀出的值與寫入的值相符合,則認(rèn)為沒有發(fā)生電壓跌落,否則認(rèn)為已經(jīng)發(fā)生了電壓跌落,硬復(fù)位單板。
寄存器巡檢和寄存器低壓校驗(yàn)功能對外提供命令接口,讓用戶可以在運(yùn)行的時(shí)候設(shè)置/查詢是否使用該功能,方便用戶在某些測試或者調(diào)試的情況下禁止寄存器巡檢和低壓校驗(yàn)功能。在單板正常運(yùn)行的情況下,一般是要把寄存器巡檢和低壓校驗(yàn)功能設(shè)置為允許的。
本發(fā)明提供了一種對寄存器進(jìn)行巡檢校驗(yàn)的方法,使得在配置丟失時(shí),能夠進(jìn)行恢復(fù),并可根據(jù)需要對單板自動進(jìn)行硬復(fù)位。
權(quán)利要求
1.一種對寄存器進(jìn)行巡檢校驗(yàn)的方法,其特征在于利用芯片隨機(jī)存儲器(RAM)對寄存器的值進(jìn)行備份,在寫寄存器的同時(shí),更新RAM中的備份值,并利用該備份值實(shí)現(xiàn)對寄存器的巡檢校驗(yàn),包括以下步驟每間隔一定的時(shí)間將RAM中的備份值與對應(yīng)的寄存器值進(jìn)行比較;如果比較結(jié)果不一致,則上報(bào)告警,并進(jìn)行糾正,將備份值寫入相應(yīng)的寄存器。
2.根據(jù)權(quán)利要求1所述的對寄存器進(jìn)行巡檢校驗(yàn)的方法,其特征在于將RAM中的備份值與對應(yīng)的寄存器值進(jìn)行比較,以及對寄存器值進(jìn)行糾正時(shí),按掩碼進(jìn)行操作。
3.根據(jù)權(quán)利要求1或2所述的對寄存器進(jìn)行巡檢校驗(yàn)的方法,其特征在于所述進(jìn)行糾正包括糾正過后重新將RAM中的備份值與寄存器值進(jìn)行比較,如果糾正成功,則進(jìn)行下一個(gè)寄存器的校驗(yàn);如果糾正不成功,則重新進(jìn)行糾正。
4.根據(jù)權(quán)利要求3所述的對寄存器進(jìn)行巡檢校驗(yàn)的方法,其特征在于如果連續(xù)糾正一定的次數(shù)仍未成功,則根據(jù)寄存器的安全性級別,對高安全性寄存器進(jìn)行單板硬復(fù)位。
5.根據(jù)權(quán)利要求1所述的對寄存器進(jìn)行巡檢校驗(yàn)的方法,其特征在于所述每間隔一定的時(shí)間將RAM中的備份值與對應(yīng)的寄存器值進(jìn)行比較是通過設(shè)置專門的巡檢任務(wù)進(jìn)行。
6.根據(jù)權(quán)利要求5所述的對寄存器進(jìn)行巡檢校驗(yàn)的方法,其特征在于所述的巡檢任務(wù)中,還在單板上可編程邏輯門陣列(FPGA)的某個(gè)寄存器中寫入數(shù)值,并讀取該寄存器,如果連續(xù)數(shù)次讀出的值與寫入的值不同,則認(rèn)為發(fā)生了電壓跌落,硬復(fù)位單板。
7.根據(jù)權(quán)利要求1所述的對寄存器進(jìn)行巡檢校驗(yàn)的方法,其特征在于所述寫寄存器是通過封裝的對外命令接口進(jìn)行。
全文摘要
一種對寄存器進(jìn)行巡檢校驗(yàn)的方法,利用芯片隨機(jī)存儲器(RAM)對寄存器的值進(jìn)行備份,在寫寄存器的同時(shí),更新RAM中的備份值,并利用該備份值實(shí)現(xiàn)對寄存器的巡檢校驗(yàn),通過設(shè)置巡檢任務(wù),每間隔一定的時(shí)間將RAM中的備份值與對應(yīng)的寄存器值進(jìn)行比較;如果比較結(jié)果不一致,則上報(bào)告警,并進(jìn)行糾正,將備份值寫入相應(yīng)的寄存器。所述的巡檢任務(wù)中,還在單板FPGA的某個(gè)寄存器中寫入數(shù)值,并讀取該寄存器,如果連續(xù)數(shù)次讀出的值與寫入的值不同,則認(rèn)為發(fā)生了電壓跌落,硬復(fù)位單板。本發(fā)明使得在寄存器配置丟失時(shí),能夠進(jìn)行恢復(fù),并可根據(jù)需要對單板自動進(jìn)行硬復(fù)位。
文檔編號G06F11/00GK1540511SQ03127968
公開日2004年10月27日 申請日期2003年4月26日 優(yōu)先權(quán)日2003年4月26日
發(fā)明者閻君, 廖振欽, 孟德順, 植明, 閻 君 申請人:華為技術(shù)有限公司