- 相關(guān)推薦
IC卡數(shù)據(jù)循環(huán)存儲及文件管理
摘要:一種I2C總線型EEPROM存儲器,在數(shù)據(jù)記錄系統(tǒng)中,用來保存當(dāng)前時刻以前一段時間內(nèi)的多組數(shù)據(jù)。使用時設(shè)計成首尾地址相接的環(huán)型存儲結(jié)構(gòu),實現(xiàn)數(shù)據(jù)文件的循環(huán)存儲。文章介紹循環(huán)存儲器的結(jié)構(gòu)、循環(huán)存儲的實現(xiàn)方法以及文件管理的過程;指出該方法的優(yōu)越性。關(guān)鍵詞:EEPROM 循環(huán)存儲 I2C總線 IC卡
絕大多數(shù)的IC卡采用的都是I2C總線型的EEPROM存儲器。在現(xiàn)場數(shù)據(jù)記錄系統(tǒng)中,經(jīng)常需要保存的是當(dāng)前時刻之前一段時間內(nèi)的數(shù)據(jù)。由于EEPROM單字節(jié)寫入時間太長,不易采用數(shù)據(jù)在存儲器中內(nèi)整體位置移動的方法管理;而單純采用自存儲器頂端向下順序?qū)懭氲姆椒,會出現(xiàn)存儲器寫滿的現(xiàn)象。為解決這個問題,我們設(shè)計了環(huán)型存儲的管理方法,使用首尾相接的存儲環(huán),配合以目錄管理功能,完成順的循環(huán)寫入,實現(xiàn)了EEPROM存儲器內(nèi)文件的的高效保存和管理。
1 存儲器及文件目錄結(jié)構(gòu)
這里以1片4KB的I2C總線型EEPROM為例。微處理器采用Atmel的AT89S52;EEPROM的0000H~003FH作為IC卡內(nèi)文件的目錄管理區(qū),為直線結(jié)構(gòu);目錄區(qū)最多可以記錄30個數(shù)據(jù)文件。存儲器及目錄結(jié)構(gòu)如圖1所示。0040H~0FFFH設(shè)計成首尾相接的環(huán)型存儲結(jié)構(gòu),用來作為文件存儲區(qū)。數(shù)據(jù)文件從0040H處開始依次記入,每寫入一個字節(jié),地址指針自動加1,然后判斷該指針是否到了存儲環(huán)的交界處。地址過界,即地址大于0FFFH時,將寫入地址指針再修改成0040H,將最早形成的文件記錄自動覆蓋掉。AT89S52內(nèi)部RAM的40H~7FH作為EEPROM文件目錄區(qū)的映像,系統(tǒng)復(fù)位后由單片機將EEPRM中0000H~003FH的內(nèi)容讀出并記入到該映像區(qū)。每一組現(xiàn)場數(shù)據(jù)作為一個記錄文件輸入后,單片機都要及時修改目錄映像中當(dāng)前文件的結(jié)束地址。每建立一個新文件記錄,映像區(qū)整個數(shù)據(jù)都要向地址增大方向移動2個字節(jié),超出7DH的自動丟棄。新建立的文件首位地址記入40H~43H,最后將該映像再重新寫回到EEPROM目錄區(qū)。文件目錄中只有當(dāng)前文件記錄了起始地址和結(jié)束地址。當(dāng)前文件的起始地址是前一文件結(jié)束地址的下一個地址,因此在前文件只記錄其起始地址。目錄區(qū)沒有文件的空間用#0FFH填充。另外,每一個文件的長度不應(yīng)超過文件數(shù)據(jù)存儲區(qū)的總長度。單個文件的長度越短,存儲器可存儲的文件數(shù)越多。存儲器的大小可視一般記錄文件和系統(tǒng)要求而定。
2 存儲器清除及文件建立
在IC卡第一次使用之前,首先應(yīng)該通過功能程序?qū)⒖▋?nèi)目錄管理區(qū)清空,即將0000H~003DH寫入#0FFH.。003EH寫入#00H,表示卡內(nèi)沒有文件。003FH寫入自定義的卡編寫,這一過程需要0.6s完成。只有使用經(jīng)過初始清除處理的IC卡,才能保證后續(xù)文件建立和數(shù)據(jù)寫入的正確性。
[1] [2]
【IC卡數(shù)據(jù)循環(huán)存儲及文件管理】相關(guān)文章:
IC卡數(shù)據(jù)文件編制軟件控制參數(shù)的遠(yuǎn)程管理04-30
基于公交IC卡數(shù)據(jù)信息的客流預(yù)測方法研究05-03
IC卡的由來與分類04-26
什么是存儲卡04-26
什么是存儲卡插槽04-26
什么是存儲卡插槽04-26
什么是隨機存儲卡04-26
Lotus郵件數(shù)據(jù)庫存儲空間管理技術(shù)04-30
什么是隨機存儲卡容量04-26
什么是支持存儲卡04-26