单片机CF卡接口设计

发布者:xrmilk最新更新时间:2012-10-26 来源: 21IC 关键字:单片机  CF卡  ATA标准 手机看文章 扫描二维码
随时随地手机看文章

引言

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卡数据位的选择。

21.jpg

图1 CF卡内部的结构框图

硬件设计

硬件设计主要应考虑CF卡的数据传输、地址选择,及其读写控制信号。在本系统中,宿主机使用了常见的AT89S52。CF卡与单片机之间有着非常标准的接口,4根地址线,8根数据线,1根读信号线和1根写信号线,总共只需占用单片机的14根I/O口线。硬件CF卡相关的功能框图如图2所示。

 

20.jpg

图2单片机实现CF卡读写的硬件结构框图[page]

这套系统除了包括单片机和CF卡这两个必不可少的元件以外,另外还包括一个LCD液晶显示屏,其功能主要是用于显示程序执行中各种参数的状态(如串口是否能正常工作)。液晶显示屏是一个很好的硬件调试监视器,尤其是在没有仿真器的条件下,它可以方便地设立程序断点,监视程序的执行,实时显示各个状态参数。

为了更有效地测试CF卡的海量存储功能,系统中还设置了一个RS-232接口,以便与PC机之间进行通信。另外,考虑到在线调试CF卡驱动程序的时候需要多次烧写单片机的程序存储器,特别又设置了一个ISP下载线接口。这样一来,不用仿真器和烧写器而仅使用ISP并口下载线就可以对整个系统进行在线调试,大大方便了驱动程序的开发与调试。

软件设计

严格遵循ATA标准的CF卡设备对软件的编制有非常标准化的方法,而且基于CFA的协议,CF卡硬件上的向下兼容性也保证了软件设计上的兼容性。CF卡工作在内存映射下的读写程序逻辑框图如图3所示。值得指出的是,不同于一般的Flash存储器,CF卡采用IDE标准的读写方式,它的寻址方式、读写方式,甚至命令都与普通的ATA硬盘相符合。也就是说,CF是在模拟硬盘的读写,按照扇区、磁道、柱面来寻址。同硬盘一样,CF卡不能够对位操作,它的一次性吞吐量为一个扇区,也就是512个字节。CF卡在设计之初,之所以要采取类似硬盘的读写方式,是因为这种方法的存储速度快、可靠,并能节省资源。本设计并不需要在CF上面建立文件系统,这样可以充分利用CF卡存储量大、速度快的特点,同时也可使软件的编制更为简化。

 

19.jpg

图3 读写CF卡程序的逻辑框图

实验步骤与结果

测试读写CF卡是否成功的方法是:先用串口调试助手把PC机上的一个ASCII文件通过串口发送到CF卡的特定扇区,然后将刚刚写入的数据读出,并通过串口发送到PC机的串口调试助手的终端上。如果发送与接收到的文件数据是一致的,那么就说明对CF卡的读写操作成功。

首先要测试串口是否能正常工作,因为只有在串口正常工作的前提下,才能对CF卡的读写功能程序进行测试。先将一个简单的串口调试程序用ISP下载线下载到单片机上运行,通过串口调试助手的终端显示测试结果,确定串口调试助手发送到单片机上的数据能够被正确返回。

在确定串口在电气特性上没有问题了之后,就可以通过ISP接口,将事先编好的CF卡读写测试程序下载到单片机上运行。在PC机上选择一个约4M大小的 ASCII码文件,预计它将充满CF卡的8000个扇区,将其通过串口调试助手发送到单片机上。在单片机上运行的这个小程序是一个伺服进程,它一直在检测是否有数据通过串口传过来。一旦有数据过来,它就会调用中断,将接收到的数据存入CF卡相邻的扇区内。这样就完成了对CF卡的写操作。写操作之后可以立即对同一地址进行读操作,这也正是CF卡的读写机制与其它普通Flash存储器不同的地方,单片机从先前存入扇区的首地址开始,读出刚刚写入的数据,并将其送出到串口,发送到PC机的串口调试助手终端上。经过验证,原先发送的数据和反馈回来的内容一致,由此判定, CF卡程序编写正确。

CF 卡读写设计的难点主要在于对扇区的访问,由于CF卡由ATA控制器和Flash存储器两部分构成,系统访问Flash存储器的速度远远小于访问内存的速度,如果系统频繁访问CF卡,势必会影响系统的实时性和工作效率,所以必须考虑CF卡读写程序的设计技巧。根据存储器访问的局部性原理,CPU存取数据所访问的存储单元都趋向于聚集在一个较小的连续区域。从时间上看,如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。从空间上看,在最近将用到的信息很可能与目前正在使用的信息在空间地址上是临近的。在本系统的程序设计中,开辟了一个扇区的内存空间TempSect,用于存储最近访问过的扇区数据。另外还设置了两个全局变量SaveSectorNum和SectorDirty:SaveSectorNum保存最近备份的扇区编号; SectorDirty说明备份数据是否与CF卡中的相应数据一致,如果一致,其值为0,否则为1。这样不但可以减少读写CF卡的次数,而且提高了访问速度,满足嵌入式操作系统的实时性要求。

结语

本文对单片机直接读写CF卡进行了介绍,重点阐述了软硬件的实现思路、测试方法以及一些针对CF卡的编程思想。随着嵌入式处理器在通信、航空航天、医疗设备、消费类电子产品等领域的蓬勃发展,基于CF卡的嵌入式数据存储系统的应用前景一定会十分广阔。

关键字:单片机  CF卡  ATA标准 引用地址:单片机CF卡接口设计

上一篇:单片机LED汉字点阵显示的设计详解
下一篇:以单片机的压力测量控制系统设计

推荐阅读最新更新时间:2024-03-16 13:11

PIC单片机人机接口模块4×4行列式键盘简介
行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。例如,用2×2的行列结构可构成4个键的键盘,4×4行列结构可构成16个键的键盘。因此,在按键数量较多时,可以节省I/O口线。   这一节将介绍4×4行列式键盘的扩展输入,并且通过弟片机的端口C输出驱动发光极管进行显示,另外还会介绍通用可编程的键盘。   本实例的主要功能模块如下:   · 单片机系统:实现PIC单片机对4×4行列式键盘的控制,查看按键状态的变化,判断是否有按键按下,并由按下的键来控制LED显示:   · 外围电路:实现PIC单片机与4×4行列式键盘的电路接口;   · PIC程序:编写PIC单片机和4×4行列式键盘的接口程序,实
[单片机]
无线数据传输后端RFW—D100的原理与应用
引 言   短程RF通信是一种比较热门的通信技术。支持该通信技术的标准很多,如lEEE802.11a、Hiperlan2、IEEE802.15.1(蓝牙)、HomeRF和IEEE802.1]b(Wi—Fi)等,但总的来说,支持这些标准的器件不适合低端产品,功耗大、结构复杂、价格高。以色列RF Waves公司面向低端市场,推出的RFWl02芯片组和RFW302芯片组,符合FCC(美国联邦通信委员会)和ETSI(欧洲电信标准协会)的技术规范,用于短程RF通信,取得了很好的效果。RF Waves公司还为这两种芯片组提供了RFW—D1OO数字后端。笔者在以W78LE516单片机、RFWl02芯片组和RFW—D1OO数字后端为核心开发产品
[网络通信]
【51单片机】1602自定义字符原理及示例(”汉“、爱心及摄氏度示例)
原理 设置1602屏幕的对比度的时候我们能够看到5*8的点阵,其实液晶显示的都是字符的字模(下图),而CGROM里面都是已经定义好的,只能读不能写,而RAM是可以读写的所以我们只要将我们自定义的字符字模写入对应的CGRAM中就好,CGRAM一共有8个对应的地址分别为(0x40,0x48,0x50,0x58,0x60,0x68,0x70,0x78),因为每个字模对应8行所以每写完一个字模以后要加8,按照指令写入CGRAM时需要加0x40所以对应地址就如上了,然而其实CGRAM的实际地址是0x00-0x07所以在后面写入数据的时候需要按照实际地址来写入。CGROM中的字模也是同样的原理 字模代码:1602显示模式为5*
[单片机]
【51<font color='red'>单片机</font>】1602自定义字符原理及示例(”汉“、爱心及摄氏度示例)
33-基于51单片机的光照强度检测(光敏电阻)
具体实现功能 系统由STC89C52单片机+四位数码管显示+光敏电阻+ADC0804等构成。 具体功能: ①光敏电阻实时采集环境光照值; ②采用ADC0804将模拟值转换为数字量; ③四位数码管显示当前的光照值(00.0-60.0)。 设计背景 随着电子技术的发展、数字电路应用领域的扩展,现今社会,产品智能化、数字化已成为人们追求的一种趋势,设备的性能、价格、发展空间等备受人们关注。性能好的电子设备,对外围保护电路要求很高,尤其是精密仪器对光线要求等设备要求更高,为了延长设备的使用寿命。所以,在企业设备保护中,设计一款智能的光电检测电路尤为重要。 光强检测设计主要根据光敏电阻的特性制作的。光敏电阻值随受到的
[单片机]
33-基于51<font color='red'>单片机</font>的光照强度检测(光敏电阻)
CEPARK 51单片机DS18B20测试程序
/********************************************************************** * 文件名称: CEPARK 51 V2.0开发板 * 程序版本: V1.0 * 技术支持:http://bbs.cepark.com *CEPARK http://bbs.cepark.com/viewthread.php?tid=34&fromuid=6136 * Cepark暑期51在线免费培训用程序---活动报名地址: http://bbs.cepark.com/viewthread.php?tid=14228&fromuid=6136 ********************
[单片机]
基于单片机的牛奶成份检测仪光强检测电路设计
1 引言   牛奶在人们的生活饮食中越来越普遍,实时快速准确的检测牛奶成份对提高牛奶质量和对实现乳业生产过程的自动化管理有重要意义。检测牛奶成份的方法有多种,化学分析方法仍然是准确度最高的检验方法,但是他很难适应短时间测试的需要,物理仪器测试法主要有利用超声波原理和光谱分析检测,目前国外的技术相对比较成熟,但仪器昂贵,不可能在中国普及,特别不可能在中小企业和乳牛场使用。本文介绍的牛奶成份测仪采用激光散透比来检测,精度比较准确、成本较低。 2 检测原理   激光散透比检测即用激光的入射平内同时90°处的散射光光强Is和检测0°处的透射光光强It的比值来表征测试牛乳蛋白质含量的光学参量。但是由于牛乳中存在两种散射大分子,所以很难
[测试测量]
基于<font color='red'>单片机</font>的牛奶成份检测仪光强检测电路设计
AT89S52与CF卡的接口设计
1 前言 随着计算机应用技术的飞速发展,移动存储设备得到了广泛的应用。其中CF(Compact Flash)卡以其价格低廉、体积小、存储容量大、高速等优点在众多移动存储设备中被广泛地应用于数码相机、PDA和笔记本电脑等当前十分热门的消费类电子产品中。并且CF卡在其他领域中也得到了广泛的应用。本文所述内容就是通过8051单片机对CF卡进行读写。 2.CF卡的操作方式 CF卡的操作方式与计算机的硬盘操作方式类似,其扇区的寻址也有两种方式:物理寻址(CHS)和逻辑寻址(LBA),物理寻址使用柱面、磁头和扇区号表示一个特定的扇区,起始扇区是0道、0头、1区,接下来是2区等等,逻辑寻址将整个CF卡统一寻址。逻辑块寻址和物理寻址的
[单片机]
采用C8051F060单片机和现场总线CAN实现网络测控系统的设计
1 绪论 随着网络技术的不断发展,Internet把世界上分散的计算机系统、通信系统实现了互连,形成了共用数据网络,成功的实现了网络资源共享。而CAN总线技术使得控制系统向着分散化、网络化、智能化的方向发展,使控制技术与计算机以及网络技术更为紧密的结合在一起。随着CAN总线控制网络的进一步发展,控制网络与因特信息网络的结合,方便了对设备的远程监控、诊断和维护。 2 系统模型概述 本设计采用在CAN总线控制网络和因特网之间加入一个转换接口。这种方式是通过硬件来实现的,即在底层网络与中间监控层之间加入中继器、网桥、路由器等专门的硬件设备,使控制网络作为信息网络的扩展与之紧密集成。硬件设备可以是一台专门的计算机,依靠其中运行的软件完
[单片机]
采用C8051F060<font color='red'>单片机</font>和现场总线CAN实现网络测控系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved