当前位置:技术文章首页 >> 接口与通讯 >> SST89C54与CF卡的接口设计与实现

SST89C54与CF卡的接口设计与实现

2008-07-14 10:00:14  作者:不详  来源:互联网  浏览次数:637  文字大小:【】【】【
摘要:介绍一种利用SST89C54读写CF卡的设计方法。所给出的接口电路避免了目前通过单片机读写CF卡必须依赖外部存储器和地址锁存器的弊端,实现了在True IDE模式下SST89C54对CF卡标准文件的读写。

关键字:单片机;CF卡;SST89C54;True IDE模式

1 引言

  电子存储设备的不断涌现,使许多便携设备大容量数据的实时处理和存储成为可能,CF卡(Com-pactFlash card)因具有容量大、体积小、性能优良、携带方便等优点,已广泛应用在数据采集系统和许多消费类电子产品中。然而目前所开发的产品成本高,电路复杂,所需元器件数目多,严重制约了CF卡在更广阔领域内的应用。本文给出了一种简洁实用的硬件接口电路,成功实现了单片机对CF卡标准文件的读写。

2 接口电路设计

  接口电路如图l所示,采用与80C51兼容的SST89C54型单片机。SST89C54程序存储器分为block0和blockl两块,前者为16 KB,后者为4 KB,block0和blockl的地址不是连续的。blockl从FOOOH开始。上电后程序既可以从block0(0000H)开始执行,也可以从 blockl(F000H)开始执行。单片机的Re-Map[l:0]位决定程序从哪块程序存储器开始执行。当这2位都为l时,程序从0000H开始执行,否则,从FOOOH开始执行。Re-Map[1:0]位是非易失性的,可以用编程器对其编程设置。CF卡的读写是通过卡内的缓冲区进行的,不支持直接读写存储区域。由于一次至少要读写一个扇区(512字节),所以目前多数做法都必须要借助于6116、6264等外部存储器,这样做不仅增加了成本,而且给软件设计带来了很多不便。在本系统设计中,利用SST89C54单片机的第二个内部程序存储器blockl(4 Kbyte×8 bit)作为读写缓冲区,这样就可以巧妙地解决上述问题,同时也避免了通过单片机读写CF卡必须依赖外部存储器和地址存储器的弊端。

  在该电路设计中还省去了地址锁存器的应用,而是将CF卡的A0、Al、A2引脚分别直接连接在微控制器的地址引脚A8(P2.O)、A9(P2.1)、A10(P2.2),经过验证,同样的代码对这两种硬件连接都适用。

3 读写程序设计

  由于CF卡由ATA控制器和Flash存储器两部分构成,而系统访问Flash存储器的速度远远小于访问内存的速度,如果系统频繁访问CF卡,势必会影响系统的实时性和工作效率,因此必须考虑CF卡读写程序的设计技巧。

3.1 检查CF卡的状态

  出于严谨考虑,当写入命令或写入数据后要查询状态寄存器的状态,以判断CF是否准备就绪或读写成功。

  篇幅有限,其他程序就不一一举出。鉴于介绍CF卡操作方式和读写文件原理的资料较多,本文就不再赘述,详细内容请参阅文献[4-7]。

4 控制软件设计

  单片机读写CF卡的上位机软件采用VisualC++6.O编写。用户的操作比较简单,只需向控制软件发送扇区号和读/写扇区切换命令,其他的操作均由软件自动完成,对用户完全透明。以扇区1的读写为例,如图2所示。

5 结束语

  由于CF卡具有易于携带,兼容性好,容量大的特点,可以预见CF将具有广阔的应用前景。本文给出了True IDE模式下单片机对CF卡的读写方案,可通过串行口在PC机与CF卡之间交换数据。在简化硬件电路设计的同时,还提高了数据传输速度,具有较高的参考价值.

责任编辑:


相关文章
 

最新文章

更多

· 基于CP2200的嵌入式以太...
· 基于PC104的机载数据加卸...
· 基于PM3388和FPGA的网络...
· RTL8019型控制器与DSP的...
· 基于ADS7870型数据采集器...
· 基于ATmegal28控制器和C...
· AD7890型串行数/模转换器...
· 汽车电子OSEK配置器的设...
· 为RS-232C接口通信设计可...
· RS-232、RS-422与RS-485...

推荐文章

更多

· 基于CP2200的嵌入式以太...
· 基于PC104的机载数据加卸...
· 基于PM3388和FPGA的网络...
· RTL8019型控制器与DSP的...
· 基于ADS7870型数据采集器...
· 基于ATmegal28控制器和C...
· AD7890型串行数/模转换器...
· 汽车电子OSEK配置器的设...
· 为RS-232C接口通信设计可...
· RS-232、RS-422与RS-485...

热点文章

更多

01-01·[接口与通讯] 红外遥控系统原理及单片机软... (3804)
01-01·[单片机技术] 温度传感器PT100的应用 (2424)
09-17·[可编程逻辑] 基于VHDL语言的智能密码锁设计 (1984)
09-08·[可编程逻辑] 基于FPGA的QPSK调制解调电路... (1973)
09-08·[单片机技术] AT89S52的中文简介及资料下载 (1909)
11-24·[电子基础] 与初学者谈电子制作(电子入门) (1789)
09-09·[电源技术] 基于DSP的三相SPWM波发生软件... (1789)
10-24·[传感与控制] MODBUS RTU通讯协议在S7-200... (1612)
12-01·[单片机技术] 基于ARM智能家居控制器设计与... (1612)
11-24·[单片机技术] 常用LED数码管驱动电路2(单 ... (1601)
09-08·[电源技术] 能延长电池寿命的单节电池升... (1537)
09-11·[仪器与仪表] 应用ADuC847芯片设计压力及温... (1520)