侵权投诉
订阅
纠错
加入自媒体

单片机CF卡文件存储系统设计

2013-11-29 10:37
老猫
关注

  随着计算机应用技术的飞速发展,移动存储设备得到了广泛的应用。其中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位的存储器模式。

  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卡的数据读写

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

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

  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模式。

1  2  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号