由于EEPROM單字節(jié)寫入時間太長,不易采用數(shù)據(jù)在存儲器中內(nèi)整體位置移動的方法管理;而單純采用自存儲器頂端向下順序?qū)懭氲姆椒?,會出現(xiàn)存儲器寫滿的現(xiàn)象。為解決這個問題,我們設(shè)計">
ic卡數(shù)據(jù)循環(huán)存儲及文件管理

ic卡數(shù)據(jù)循環(huán)存儲及文件管理

ID:24168954

大?。?9.00 KB

頁數(shù):4頁

時間:2018-11-12

ic卡數(shù)據(jù)循環(huán)存儲及文件管理_第1頁
ic卡數(shù)據(jù)循環(huán)存儲及文件管理_第2頁
ic卡數(shù)據(jù)循環(huán)存儲及文件管理_第3頁
ic卡數(shù)據(jù)循環(huán)存儲及文件管理_第4頁
資源描述:

《ic卡數(shù)據(jù)循環(huán)存儲及文件管理》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、IC卡數(shù)據(jù)循環(huán)存儲及文件管理

2、第1lunouseg(this)">由于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);目

3、錄區(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ù)作為一個記錄文件輸入后,單片機都要及時修改目錄映像中

4、當(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)該通過

5、功能程序?qū)⒖▋?nèi)目錄管理區(qū)清空,即將0000H~003DH寫入#0FFH.。003EH寫入#00H,表示卡內(nèi)沒有文件。003FH寫入自定義的卡編寫,這一過程需要0.6s完成。只有使用經(jīng)過初始清除處理的IC卡,才能保證后續(xù)文件建立和數(shù)據(jù)寫入的正確性。文件的建立依賴于系統(tǒng)的功能指令。當(dāng)系統(tǒng)得到建立新文件的指令時,立即啟動新文件建立程序,完成文件起始地址配置以及目錄區(qū)管理,具體過程見圖2。圖23文件寫入及目錄管理文件數(shù)據(jù)的寫入按照I2C總線規(guī)約逐字節(jié)寫入。特殊之處在于,每寫完一個字節(jié)之后,地址指針加1,調(diào)整后的指針如果超過0FFFH,則重新高速為0040H,這將意

6、味著“吃掉“(覆蓋掉)最早建立的文件或其它在前文件。這里,通過目錄管理了程序找出被“吃掉”的文件,并將從目錄中刪除。由于在所選用存儲時已經(jīng)有效使存儲空間遠大于單個文件的長度,因此不會出現(xiàn)同一個文件“吃掉”自身的情況。只有當(dāng)多個文件的總長度超過存儲空間時,才會出現(xiàn)在前文件被“吃掉”的現(xiàn)象。不過,被吃掉的文件永遠是最早形成的文件,是按照系統(tǒng)設(shè)計已經(jīng)可以丟棄的文件。目錄管理的主要功能是:實時統(tǒng)計IC卡內(nèi)實際文件的數(shù)量,記載新建立的文件,及時刪除已經(jīng)被覆蓋掉的文件。文件檢索過程只有目錄映像區(qū)進行,根據(jù)文件目錄映像區(qū)的結(jié)構(gòu),讀出所有已記錄的在前文件的地址,與當(dāng)前文件

7、地址比較。如果所檢查的在前文件地址進入當(dāng)前文件首尾地址范圍內(nèi),則認定為該文件已經(jīng)被當(dāng)前文件覆蓋,應(yīng)用從目錄中刪除。由于存儲器空間被安排成環(huán)狀結(jié)構(gòu),會出現(xiàn)當(dāng)前文件的結(jié)尾地址大于開始地址的情況,因此不能簡單地根據(jù)地址的絕對大小判斷覆蓋問題。考慮到單一文件的長度遠小于存儲數(shù)據(jù)空間,以及目錄映像區(qū)文件次序的前后排列關(guān)系,我們采取自前一文件到最早文件的次序檢索方法。如果遇到某個文件被覆蓋,則后續(xù)文件一定被覆蓋。由于在前文件的起始地址存在大于或小于當(dāng)前文件結(jié)尾地址的情況,因此應(yīng)分兩種情況進行分析,統(tǒng)計出有效文件的數(shù)量并找到到被覆蓋的文件,將其從目錄中刪除,過程見圖3。

8、R2為文件數(shù)量計數(shù)器,初值為零。圖3結(jié)語EEPROM循環(huán)寫入的方法避免了大塊數(shù)據(jù)在存儲器內(nèi)移動的問題,同時消除了存儲器寫滿后影響后續(xù)寫入的問題,充分使用了存儲空間;文件檢索和目錄修改在RAM映像區(qū)完成,加快了程序運行速度。循環(huán)寫入方案在運達公司一種記錄棋譜的電子棋盤中已經(jīng)得到了應(yīng)用,實用可靠。此方法在類似產(chǎn)品或記錄設(shè)備中具有相當(dāng)?shù)膶嵱脙r值。

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。