1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>IC卡數據循環存儲及文件管理

    IC卡數據循環存儲及文件管理

    時間:2023-02-20 22:34:09 電子通信論文 我要投稿
    • 相關推薦

    IC卡數據循環存儲及文件管理

      摘要:一種I2C總線型EEPROM存儲器,在數據記錄系統中,用來保存當前時刻以前一段時間內的多組數據。使用時設計成首尾地址相接的環型存儲結構,實現數據文件的循環存儲。文章介紹循環存儲器的結構、循環存儲的實現方法以及文件管理的過程;指出該方法的優越性。
      關鍵詞:EEPROM循環存儲I2C總線IC卡
      
      絕大多數的IC卡采用的都是I2C總線型的EEPROM存儲器。在現場數據記錄系統中,經常需要保存的是當前時刻之前一段時間內的數據。由于EEPROM單字節寫入時間太長,不易采用數據在存儲器中內整體位置移動的方法管理;而單純采用自存儲器頂端向下順序寫入的方法,會出現存儲器寫滿的現象。為解決這個問題,我們設計了環型存儲的管理方法,使用首尾相接的存儲環,配合以目錄管理功能,完成順的循環寫入,實現了EEPROM存儲器內文件的的高效保存和管理。
      
      1存儲器及文件目錄結構
      
      這里以1片4KB的I2C總線型EEPROM為例。微處理器采用Atmel的AT89S52;EEPROM的0000H~003FH作為IC卡內文件的目錄管理區,為直線結構;目錄區最多可以記錄30個數據文件。存儲器及目錄結構如圖1所示。0040H~0FFFH設計成首尾相接的環型存儲結構,用來作為文件存儲區。數據文件從0040H處開始依次記入,每寫入一個字節,地址指針自動加1,然后判斷該指針是否到了存儲環的交界處。地址過界,即地址大于0FFFH時,將寫入地址指針再修改成0040H,將最早形成的文件記錄自動覆蓋掉。AT89S52內部RAM的40H~7FH作為EEPROM文件目錄區的映像,系統復位后由單片機將EEPRM中0000H~003FH的內容讀出并記入到該映像區。每一組現場數據作為一個記錄文件輸入后,單片機都要及時修改目錄映像中當前文件的結束地址。每建立一個新文件記錄,映像區整個數據都要向地址增大方向移動2個字節,超出7DH的自動丟棄。新建立的文件首位地址記入40H~43H,最后將該映像再重新寫回到EEPROM目錄區。文件目錄中只有當前文件記錄了起始地址和結束地址。當前文件的起始地址是前一文件結束地址的下一個地址,因此在前文件只記錄其起始地址。目錄區沒有文件的空間用#0FFH填充。另外,每一個文件的長度不應超過文件數據存儲區的總長度。單個文件的長度越短,存儲器可存儲的文件數越多。存儲器的大小可視一般記錄文件和系統要求而定。
      
      2存儲器清除及文件建立
      
      在IC卡第一次使用之前,首先應該通過功能程序將卡內目錄管理區清空,即將0000H~003DH寫入#0FFH.。003EH寫入#00H,表示卡內沒有文件。003FH寫入自定義的卡編寫,這一過程需要0.6s完成。只有使用經過初始清除處理的IC卡,才能保證后續文件建立和數據寫入的正確性。
      
      文件的建立依賴于系統的功能指令。當系統得到建立新文件的指令時,立即啟動新文件建立程序,完成文件起始地址配置以及目錄區管理,具體過程見圖2。
      
      圖2
      
      3文件寫入及目錄管理
      
      文件數據的寫入按照I2C總線規約逐字節寫入。特殊之處在于,每寫完一個字節之后,地址指針加1,調整后的指針如果超過0FFFH,則重新高速為0040H,這將意味著“吃掉“(覆蓋掉)最早建立的文件或其它在前文件。這里,通過目錄管理了程序找出被“吃掉”的文件,并將從目錄中刪除。由于在所選用存儲時已經有效使存儲空間遠大于單個文件的長度,因此不會出現同一個文件“吃掉”自身的情況。只有當多個文件的總長度超過存儲空間時,才會出現在前文件被“吃掉”的現象。不過,被吃掉的文件永遠是最早形成的文件,是按照系統設計已經可以丟棄的文件。
      
      目錄管理的主要功能是:實時統計IC卡內實際文件的數量,記載新建立的文件,及時刪除已經被覆蓋掉的文件。文件檢索過程只有目錄映像區進行,根據文件目錄映像區的結構,讀出所有已記錄的在前文件的地址,與當前文件地址比較。如果所檢查的在前文件地址進入當前文件首尾地址范圍內,則認定為該文件已經被當前文件覆蓋,應用從目錄中刪除。
      
      由于存儲器空間被安排成環狀結構,會出現當前文件的結尾地址大于開始地址的情況,因此不能簡單地根據地址的絕對大小判斷覆蓋問題。考慮到單一文件的長度遠小于存儲數據空間,以及目錄映像區文件次序的前后排列關系,我們采取自前一文件到最早文件的次序檢索方法。如果遇到某個文件被覆蓋,則后續文件一定被覆蓋。由于在前文件的起始地址存在大于或小于當前文件結尾地址的情況,因此應分兩種情況進行分析,統計出有效文件的數量并找到到被覆蓋的文件,將其從目錄中刪除,過程見圖3。R2為文件數量計數器,初值為零。
      
      圖3
      
      結語
      
      EEPROM循環寫入的方法避免了大塊數據在存儲器內移動的問題,同時消除了存儲器寫滿后影響后續寫入的問題,充分使用了存儲空間;文件檢索和目錄修改在RAM映像區完成,加快了程序運行速度。循環寫入方案在運達公司一種記錄棋譜的電子棋盤中已經得到了應用,實用可靠。此方法在類似產品或記錄設備中具有相當的實用價值。
      
      
      
      

    【IC卡數據循環存儲及文件管理】相關文章:

    IC卡電子語音書08-06

    ARM7系統中實現CF卡存儲的文件系統設計08-06

    基于IC卡的記錄式溫度表08-06

    一個完美的電表數據存儲方案08-06

    AT24C512中數據的文件系統化管理08-06

    用于非接觸式IC卡的高頻接口模塊設計08-06

    加密IC卡保險柜控制器的設計08-06

    接觸式IC卡接口原理與不同實現方式對比08-06

    電視節目的存儲及管理08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      中文字幕日产乱码乱偷在线 | 香蕉国产成版视频在线 | 亚洲成aV人片在线播放一区二区 | 在线观看国产一区 | 中文字幕乱在线伦视频中文字幕乱码在线 | 日本又黄又潮娇喘视频免费 |