您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

IC卡数据循环存储及文件管理

时间:2007-1-20栏目:电子通信论文

  摘要:一种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,这将意味着“吃掉“(覆盖掉)最早建立的文件或其它在前文件。这里,通过目录管理了程序找出被“吃

[1] [2] 下一页

下页更精彩:1 2 3 4 下一页