51单片机与CF卡的接口设计与实现

发布者:Jinyu2022最新更新时间:2011-10-13 关键字:单片机  CF卡 手机看文章 扫描二维码
随时随地手机看文章

    1 引言

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

    2 接口电路设计

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

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

    3 读写程序设计

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

    3.1 检查CF卡的状态

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

    3.2 等待CF卡数据请求
 3.3 设置8位数据宽度  

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

    4 控制软件设计

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

    5 结束语

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

关键字:单片机  CF卡 引用地址:51单片机与CF卡的接口设计与实现

上一篇:基于51单片机的异步串行接口键盘设计
下一篇:MAX813L在51系统抗干扰中的应用及工作原理

推荐阅读最新更新时间:2024-03-16 12:43

怎样只用一个XT2晶振得到精确的高频----msp430f5529单片机
最近在用msp430f5529,终于在上周弄清了时钟方面的原理,在此记录下,唔,这也是俺第一篇博客······ 首先呢,我先插入它的原理框图 从图中可以看出ACLK、SMCLK、MCLK都可以由XT1CLK/VLOCLK/REFOCLK/DCOCLK/DCOCLKDIV/XT2CLK得到,而TI例程里面给的大多是由FLLREFCLK倍频得到DCOCLK或DCOCLK,从而得到SMCLK和MCLK,而ACLK都是由XT1CLK或REFOCLK直接获得。例程里面的FLLREFCLK来源于XT1CLK或REFOCLK。所以例程里面得到的高频都是经过大的倍频得到,这里面有个弊端,就是如果你需要很精确的频率的话由大的倍频得到的频道误
[单片机]
怎样只用一个XT2晶振得到精确的高频----msp430f5529<font color='red'>单片机</font>
NEC:四大优势相辅相成,“全闪存”开启微控制器发展新时代!
NEC电子携其阵容强大的8位、16位、32位“All Flash(全闪存)”微控制器(MCU)产品亮相2007年高交会电子展,其展台上60%的产品均为全闪存MCU。本届高交会上NEC电子的全闪存MCU产品包括两大部分:一是通常用于白色家电等的通用8位MCU(NEC电子的78K0系列方案)以及PG-FP5等开发环境;另一类是车载MCU和汽车音响等车载解决方案。 NEC电子通用微控制器事业部事业部长石川重信在接受“电子工程专辑”网站记者的采访时表示,NEC电子已经扩展了它的全闪存产品系列。截止到目前为止,经过三年的研发工作,NEC电子从8位到32位的全闪存产品已经多达316个品种,应用范围覆盖数字影音、家用电器、变频电机、医疗保
[单片机]
单片机12V数控电源
这次做的数控电源设计思想没什么新意,就是一个数模转换(ADC0809)和一个模数转换(DAC0832),再加上两个单片机分别控制0809和0832,组成一个反馈网络,来得到输入的数字相对应的电压,电压范围很小,只有0~12.75V.显示部分采用四段共阴数码管 整块板子做出来之后有10*7cm那么大,用洞洞板焊的. 实测电路输出精度+/-0.05V在12V范围内. 硬件设计: 第一块单片机P0口接数码管代码段的驱动,P2.4~P2.7接四位的位选线,P2.0~P2.3节四个独立操作按键 ,P1口接ADC0809的八位数据输出.P3.0~P3.3口接0809的控制线.P3.5~P3.7和第二块单片机的P2.0
[单片机]
<font color='red'>单片机</font>12V数控电源
用PIC单片机设计A/D、D/A转换器
1、PIC16C62×系列单片机的特点 PIC16C62×系列为RISC精简指令、哈佛结构总线、18个引脚的单片机。具有低功耗、高性能、全静态、35条指令极易编程的特点。OTP 片种的性价比极高。除了具备一般单片机的特点外,PIC16C62×系列内部集成了两个模拟比较器和一个4bit的可编程基准电压源(REF)。如果利用该单片机的这些特点,只需几个外围元件就具备A/D与D/A转换功能,且分辨率达到8bit~10bit。价格上的优势使其在工控行业、仪器仪表、家电产品的应用前景极为乐观。 本文以8bit分辨率论证A/D、D/A转换的实现方法,更高分辨率的方案完全相似,只是在编程上作小部分调整。 2、D/A转换器 PIC16C62×系列
[电源管理]
意法半导体微控制器STM32H5 探索套件加快安全、智能、互联设备开发
首款支持Secure Manager的开发套件,一个集成ST认证和维护的核心安全服务的系统芯片总包方案 2023年9月19日 ,中国 -意法半导体发布了一款功能丰富的STM32H5微控制器(MCU)开发板 。STM32H5微控制器是开发高性能数据处理和高级安全应用的理想选择,适合开发各种应用,例如,智能传感器、智能家电、工业控制器、网络设备、个人电子产品和医疗设备。 STM32H573I-DK探索套件让开发人员能够探索STM32H5集成的全部功能,例如,模拟外设、定时器、ST ART(自适应实时)加速器™、媒体接口和数学加速器,方便开发者评估工业可编程逻辑控制器(PLC)、电机驱动器,以及空调、冰箱和洗衣机等家电的智
[单片机]
意法半导体<font color='red'>微控制器</font>STM32H5 探索套件加快安全、智能、互联设备开发
51单片机+DHT11温控程序-可设置温度值
基于51单片机的温湿度测量控制程序,使用DHT11数字传感器,用1602液晶屏显示,按键定义如下: sbit key_1=P0^1; //确定按键 sbit key_2=P0^2; //按键加 sbit key_3=P0^3; // 按键减 本程序中用到的头文件 12c5a.h下载: http://www.51hei.com/f/12c5a.rar #include 12c5a.H #include intrins.h unsigned char code num ={ 0123456789 };//显示字符存储 unsigned char code start_char ={ Loading.... }; unsigned c
[单片机]
Windows下PIC 8位单片机源程序汇编和固化(四)
4 在MPLAB中创建项目 项目管理程序(Project Manager)是MPLAB集成开发软件的重要组成部分。不创建项目就不能进行符号(源程序代码)汇编和调试,在整个项目管理中可进行以下操作:创建项目——把源代码文件加入到项目中——汇编源代码——编辑源代码——重建所有源文件——调试源代码等。 创建项目也是汇编源程序之前必要的准备工作,其操作过程如下:按照以上介绍的方法,在PC机上打开MPLAB集成开发软件的桌面,选择Project(项目)命令,用鼠标键点击菜单栏中的Project,在其下拉菜单中选择New Project(新项目)命令,并用鼠标键点击它,则可在MPLAB的桌面上打开New Project(新项目)的对话框,如图
[单片机]
汽车微控制器介绍
随着智能汽车的发展,用户对汽车的安全性、稳定性、智能化不断提出更新的要求。车载各项功能的实现都需要复杂的芯片组和算法的稳定支持,MCU将发挥更大的作用。 什么是汽车微控制器? 汽车微控制器又称MCU,是汽车电气控制系统的核心部件。MCU必须具备良好的高温性能和稳定性,才能控制车内所有电子系统,包括多媒体、音响、导航、悬架等。与普通MCU相比,汽车MCU对品质要求更高,在复杂环境下不易损坏汽车的。一般来说,最重要的是可靠性和温度范围,民用级为0-70℃,工业级为20-85℃,汽车级为40-85℃。 MCU将成为“汽车大脑”的重要组成部分,是汽车的智能大脑,发挥着“思考、计算、控制”的核心功能。随着汽车电子电气架构向集中式
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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