单片机CF卡接口设计
摘 要:本文讨论了在单片机下进行CF卡接口设计的方法,根据PCMCIA制定的ATA标准开发了直接读写CF卡的驱动程序,并介绍了CF卡驱动程序的编程技巧。
本文引用地址:http://www.eepw.com.cn/article/170738.htm引言
CF 卡(compact flash card)是专门为海量存储而设计的专用设备,其标准由国际CFA (compact flash association)联合会维护和管理。CF卡中不仅有海量存储专用的Flash芯片,还包括一个片上智能控制器,这样就为计算机宿主机提供了一个高级的应用接口来方便地对其进行读写控制与操作。这个接口让宿主计算机能够像读取硬盘那样,用硬盘操作专用命令对CF进行控制。CF卡每一个字段(512字节)都有一个强劲的纠错码。CF卡具有体积小、存储量大、安全可靠、价格低廉、读写速度快的优点,越来越被消费者所认可,众多的娱乐电子设备生产厂商都支持CF卡接口。目前许多消费类嵌入式系统产品,如数码摄像机、数码照相机、掌上电脑、PDA、手机、mp3播放器上面都加入了对CF卡的支持。所以,在设计嵌入式系统的时候,加入对CF卡的支持是非常有意义的。CF卡的接口技术分为MEMORY模式、I/O模式和IDE模式。本文讨论了在单片机下进行CF卡接口设计的方法,并利用标准CF卡ATA标准开发了直接读写CF卡的驱动程序,实现了在单片机下对CF卡的直接读写,为海量存储设备应用于普通的嵌入式系统提供了条件。
CF卡协议简介
CFA组织目前推出的CF卡协议能够实现66MB/s的存取速率。该协议详细规定了CF卡的三种读写模式,还规定了CF卡的几何尺寸和各种电器参数,从而实现了对CF卡的标准化。
系统设计
本文中选用的是SanDisk公司生产的CF卡,其内部的结构框图如图1所示。CF卡与单片机的接口设计必须在基于特定功能的前提下进行,主要考虑以下几个方面的内容:CF卡与宿主机之间的电气兼容性,CF卡传输模式的选择,以及CF卡数据位的选择。
图1 CF卡内部的结构框图
硬件设计
硬件设计主要应考虑CF卡的数据传输、地址选择,及其读写控制信号。在本系统中,宿主机使用了常见的AT89S52。CF卡与单片机之间有着非常标准的接口,4根地址线,8根数据线,1根读信号线和1根写信号线,总共只需占用单片机的14根I/O口线。硬件CF卡相关的功能框图如图2所示。
图2 单片机实现CF卡读写的硬件结构框图
评论