本發(fā)明屬于CPLD邏輯設(shè)計(jì)領(lǐng)域,具體涉及一種記錄電路板累計(jì)上電時(shí)間的方法。
背景技術(shù):
前,在許多設(shè)備中,為了更加準(zhǔn)確清楚的獲得板卡的累計(jì)上電時(shí)間,采用了多種計(jì)時(shí)方法,但這些方法或多或少存在幾個(gè)方面的缺點(diǎn):當(dāng)存儲(chǔ)累計(jì)工作時(shí)間的存儲(chǔ)介質(zhì)出現(xiàn)壞塊時(shí),無(wú)法快速檢測(cè)到,這可能在短時(shí)間內(nèi)造成計(jì)時(shí)的錯(cuò)誤,同時(shí),在板卡刷新記時(shí)存儲(chǔ)單元時(shí),若設(shè)備斷電,可能造成本次時(shí)間更新的丟失。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種記錄電路板卡累計(jì)上電時(shí)間的方法。
本發(fā)明的記錄電路板卡累計(jì)上電時(shí)間的方法,包括如下步驟:
a.上電時(shí),CPLD讀取存儲(chǔ)介質(zhì)上四塊存儲(chǔ)空間里所存儲(chǔ)的板卡累計(jì)上電時(shí)間;
b.對(duì)讀出的四個(gè)時(shí)間值進(jìn)行比較;
c.若四個(gè)時(shí)間值不相同,則判斷為在更新累計(jì)工作時(shí)間時(shí)系統(tǒng)斷電所造成的;
d.對(duì)四個(gè)時(shí)間值進(jìn)行分析,得出當(dāng)前板卡累計(jì)上電時(shí)間;
e.在CPLD中完成計(jì)時(shí)器模塊;
f.根據(jù)系統(tǒng)對(duì)時(shí)間更新頻率的要求,將累計(jì)工作時(shí)間的更新值重復(fù)存入四塊存儲(chǔ)空間,并重復(fù)第一步;
g.判斷同一片存儲(chǔ)空間的值是否更新,通過(guò)分析得出是否有壞塊并報(bào)警。
所述的步驟a,CPLD讀取累計(jì)上電時(shí)間是通過(guò)CPLD模擬存儲(chǔ)器接口時(shí)序來(lái)實(shí)現(xiàn)的。
所述的步驟c判斷更新時(shí)間時(shí)系統(tǒng)是否斷電是通過(guò)在存儲(chǔ)介質(zhì)中開(kāi)辟四塊存儲(chǔ)空間,將每次需要更新的累計(jì)工作時(shí)間值重復(fù)存儲(chǔ)到四塊存儲(chǔ)空間中,通過(guò)對(duì)四塊存儲(chǔ)空間中的數(shù)據(jù)進(jìn)行比較來(lái)實(shí)現(xiàn)的。
所述的步驟g發(fā)現(xiàn)壞塊是通過(guò)多次讀取并分析存儲(chǔ)介質(zhì)內(nèi)四塊存儲(chǔ)空間的內(nèi)容來(lái)實(shí)現(xiàn)的。
本發(fā)明記錄與現(xiàn)有發(fā)明相比具有以下優(yōu)點(diǎn):能解決在更新存儲(chǔ)介質(zhì)保存的時(shí)間信息時(shí)由于板卡斷電所造成的當(dāng)次更新時(shí)間丟失問(wèn)題,同時(shí)提供了一種簡(jiǎn)單有效的方法來(lái)判斷在此情況下時(shí)間信息的正確性,且當(dāng)存儲(chǔ)介質(zhì)出現(xiàn)壞塊無(wú)法保存時(shí)間信息時(shí),能及時(shí)發(fā)現(xiàn)。
下面將結(jié)合附圖對(duì)具體實(shí)施進(jìn)行詳細(xì)說(shuō)明。
附圖說(shuō)明
圖1為本發(fā)明一種記錄電路板累計(jì)上電時(shí)間的方法的實(shí)現(xiàn)流程圖。
具體實(shí)施方式
下面將結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明,以便對(duì)本發(fā)明目的、特征及優(yōu)點(diǎn)進(jìn)行更深入的理解(假設(shè)每分鐘更新一次累計(jì)上電時(shí)間,存儲(chǔ)介質(zhì)的接口為I2C)。
在存儲(chǔ)介質(zhì)上劃分出四塊存儲(chǔ)空間,上電時(shí)CPLD通過(guò)模擬I2C接口時(shí)序讀取存儲(chǔ)介質(zhì)上4塊存儲(chǔ)空間里所存儲(chǔ)的板卡累計(jì)上電時(shí)間1。
對(duì)讀出的四個(gè)時(shí)間值進(jìn)行比較2,一般情況下,四個(gè)時(shí)間值應(yīng)相同,則此時(shí)讀出的值即為板卡目前的累計(jì)上電時(shí)間值5。但是如果在將時(shí)間信息寫(xiě)入存儲(chǔ)空間的過(guò)程中系統(tǒng)正好關(guān)機(jī)則會(huì)發(fā)生這四個(gè)值不完全一樣3的情況。假設(shè)當(dāng)前更新的累計(jì)工作時(shí)間為X+1,上一次更新的累計(jì)工作時(shí)間為X,正在更新時(shí)由于斷電造成的未知時(shí)間為Y,則時(shí)間值可能出現(xiàn)以下幾種情況:YXXX、(X+1)YXX、(X+1)(X+1)YX、(X+1)(X+1)(X+1)Y,通過(guò)對(duì)讀出這四個(gè)時(shí)間值進(jìn)行分析4,可知道當(dāng)前累計(jì)上電時(shí)間應(yīng)為X+1(例如:YXXX的情況說(shuō)明板卡1分鐘計(jì)時(shí)已到,CPLD(正在將更新的累計(jì)工作時(shí)間寫(xiě)入存取介質(zhì)的第一塊存儲(chǔ)空間時(shí)系統(tǒng)斷電,所以可知當(dāng)前的累計(jì)工作時(shí)間為X+1)。
在CPLD中完成計(jì)時(shí)器單元的邏輯設(shè)計(jì)6,每到1分鐘,將累計(jì)工作時(shí)間更新并將更新值重復(fù)寫(xiě)入到存儲(chǔ)介質(zhì)的4塊存儲(chǔ)空間7中,板卡工作時(shí),反復(fù)重復(fù)1-3步。
板卡工作時(shí),每分鐘讀取一次存儲(chǔ)空間的值,若該存儲(chǔ)空間的值連續(xù)兩次讀出都沒(méi)有更新、無(wú)法讀出或者出現(xiàn)狀態(tài)Y8,則存儲(chǔ)介質(zhì)的這部分存儲(chǔ)空間出現(xiàn)了壞塊,通過(guò)CPLD的引腳輸出報(bào)警狀態(tài)9。