微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 基于单片机的CF卡文件存储

基于单片机的CF卡文件存储

时间:08-30 来源:互联网 点击:
随着计算机应用技术的飞速发展,移动存储设备得到了广泛的应用。其中CF(Compact Flash)卡诞生于1994年,是最早推出的闪存卡,在众多产品中其普及率也最高。由于CF卡具有价格低廉、体积小、存储容量大、高速等特点,因此被广泛地应用于数码相机、PDA和笔记本电脑等当前十分热门的消费类电子产品中。CF卡在其他领域中也得到了广泛的应用。如本文所述内容就是将CF卡应用于动态脑电图系统中存储脑电信号。

由于CF卡中存储的脑电图信号要能够从PC机上读取出来,所以必须把脑电图信号以相应的文件格式存储。下面将介绍采用C8051F020微控制器控制CF卡的文件存储,并详细地介绍其软、硬件的设计。

1 C8051F020与CF卡的接口电路

C8051F020是完全集成的混合信号系统级MCU芯片,使用了Cygnal专利的高速、流水线结构以及与MCS-51指令集完全兼容的CIP-51微处理器内核,具有64条数字I/O引脚,片内有64KB可在系统编程的Flash存储器,有4 352B的片内RAM,片内有看门狗定时器、VDD监视器和温度传感器等;片内的JTAG调试电路允许使用安装在最终应用系统上的产品MCU进行非侵入式、全速、在系统调试;其MCU都可在工业温度范围(-45℃-+85℃)内用2.7"3.6V的电压工作;端口I/O、RST和JTAG引脚都兼容5V的输入信号电压。C8051F020其他功能可参考文献。

CF卡有3种工作模式可供选择:I/O模式、存储器模式和IDE模式。CF卡的默认模式是存储器模式,使用也最为普遍。如果使用存储器模式则不需要配置任何寄存器。每一种模式的电路连接各不相同。在I/O模式和存储器模式下,可以采用8位的访问方式,也可以采用16位的访问方式。本文所采用的是8位的存储器模式,其接口电路如图1所示。


  
C8051F020的外部数据存储器接口(EMIF)可用于访问片外存储器和存储器映射的I/O器件。若设置EMIF的配置寄存器EMIOCF的PRTSEL位为'1',可使EMIF位于端口7、6、5、4;设置EMD2位为'1',可使EMIF工作于非复用方式;设置EMDl~0为'01',可使EMIF工作于不带块选择的分片方式。这样P7口就为数据线D0"D7,P6口为A0"A7,P5口为A8"A15,P4.6、P4.7分别为读(RD)、写(WE)线。

由于C8051F020是8位的单片机,所以对CF卡的访问采用8位的方式较为方便。通过把-CE2设为'1'即可通过访问CF卡的D0"D7来存取数据。而-CEl可以作为CF卡的片选信号,通过设-CEl为'0'来选通CF卡,即-CEl接C8051F020的高位地址P5.7来线选CF卡。当CF卡插入其插座时,CDl和CD2都连接到地(CND);C8051F020的P1.1、P1.2分别连到CDl和CD2,并可以通过检测P1.1和P1.2来判断CF卡是否插入CF卡插座。CF卡工作于存储器模式下,-OE和-WE分别接C8051F020的读(P1.6)、写(P1.7)线。当REG为'0'时,访问CF卡的属性寄存器;REG为'1'时,CF卡在存储器模式下对数据进行读写操作。

2 C8051F020对CF卡的数据读写

图1所示电路的CF卡在存储器模式下有关数据读写的一些寄存器地址如表1所示。


  
CF卡1个扇区为512B,这些数据都是从表1中的第0个寄存器中读出,而且每次读写数据最小为1个扇区,但也可以设置从第2个寄存器中读出,1次读写几个扇区。

C8051F020对CF卡读扇区数据的过程是:首先读取第7个寄存器的状态字,如果为50H表示没有错误,并且CF卡已经准备好;然后再分别向第2、3、4、5、6个寄存器写入相应的数据指定需要读写的扇区;最后向第7个寄存器写20H或21H,读取状态字为58H后读取数据,其流程如图2所示。


  
C8051F020对CF卡向指定扇区写数据的命令是30H或31H,其操作亦与读数据相似,只不过在写入数据后要等到CF卡中数据稳定并进入空闲状态才能结束这一过程。

在CF卡读写时,分别向第2、3、4、5、6个寄存器写入CF卡需要访问的扇区位置,其写入模式有2种:即CHS(Cylinder/Head/Sector)模式和LBA(Logical Block Address)模式。通过设置第6个寄存器的第6位LBA确定其模式:即如果LBA=0,则为CHS模式;如果LBA=I,则为LBA模式。

由CHS模式到LBA模式的转换如下:
  

  
其中LBA是逻辑块地址,Cn是柱面号,HpC是每个柱面的磁头数,Hn是磁头数,Sn是扇区号,SpH是每个磁头(簇)的扇区数。

3 CF卡的文件存储

FAT(File Allocation Table)文件系统产生于20世纪70年代末到80年代初,是微软的MS-DOS操作系统所支持的文件系统。目前FAT文件系统有3种类型:FATl2、FATl6和FAT32。它们的不同是在磁盘上实际的FAT结构中每个记录(Entry)所占的位数

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top