没有合适的资源?快使用搜索试试~ 我知道了~
基于CF卡的嵌入式存储设备的设计
2 下载量 87 浏览量
2020-12-05
17:34:14
上传
评论
收藏 96KB PDF 举报
温馨提示
试读
2页
摘??? 要:本文讨论了在单片机下进行CF卡接口设计的方法,根据PCMCIA制定的ATA标准开发了直接读写CF卡的驱动程序,并介绍了CF卡驱动程序的编程技巧。 关键词:单片机;CF卡;嵌入式系统 ? 引言 CF卡(compact flash card)是专门为海量存储而设计的专用设备,其标准由国际CFA(compact flash association)联合会维护和管理。CF卡中不仅有海量存储专用的Flash芯片,还包括一个片上智能控制器,这样就为计算机宿主机提供了一个高级的应用接口来方便地对其进行读写控制与操作。这个接口让宿主计算机能够像读取硬盘那样,用硬盘操作专用命令对C
资源详情
资源评论
资源推荐
基于基于CF卡的嵌入式存储设备的设计卡的嵌入式存储设备的设计
摘??? 要:本文讨论了在单片机下进行CF卡接口设计的方法,根据PCMCIA制定的ATA标准开发了直接读写CF
卡的驱动程序,并介绍了CF卡驱动程序的编程技巧。 关键词:单片机;CF卡;嵌入式系统 ? 引言 CF卡
(compact flash card)是专门为海量存储而设计的专用设备,其标准由国际CFA(compact flash association)联合会
维护和管理。CF卡中不仅有海量存储专用的Flash芯片,还包括一个片上智能控制器,这样就为计算机宿主机提
供了一个高级的应用接口来方便地对其进行读写控制与操作。这个接口让宿主计算机能够像读取硬盘那样,用硬
盘操作专用命令对C
摘??? 要:本文讨论了在单片机下进行CF卡接口设计的方法,根据PCMCIA制定的ATA标准开发了直接读写CF卡的驱动
程序,并介绍了CF卡驱动程序的编程技巧。
关键词:单片机;CF卡;嵌入式系统
?
引言
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卡数据位的
选择。
?
硬件设计
硬件设计主要应考虑CF卡的数据传输、地址选择,及其读写控制信号。在本系统中,宿主机使用了常见的AT89S52。CF
卡与单片机之间有着非常标准的接口,4根地址线,8根数据线,1根读信号线和1根写信号线,总共只需占用单片机的14根I/O
口线。
这套系统除了包括单片机和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卡存储量大、速度快的特点,同时也可使软件的编制更为简化。
?
实验步骤与结果
测试读写CF卡是否成功的方法是:先用串口调试助手把PC机上的一个ASCII文件通过串口发送到CF卡的特定扇区,然后
将刚刚写入的数据读出,并通过串口发送到PC机的串口调试助手的终端上。如果发送与接收到的文件数据是一致的,那么就
说明对CF卡的读写操作成功。
首先要测试串口是否能正常工作,因为只有在串口正常工作的前提下,才能对CF卡的读写功能程序进行测试。先将一个
简单的串口调试程序用ISP下载线下载到单片机上运行,通过串口调试助手的终端显示测试结果,确定串口调试助手发送到单
片机上的数据能够被正确返回。
在确定串口在电气特性上没有问题了之后,就可以通过ISP接口,将事先编好的CF卡读写测试程序下载到单片机上运行。
在PC机上选择一个约4M大小的ASCII码文件,预计它将充满CF卡的8000个扇区,将其通过串口调试助手发送到单片机上。在
单片机上运行的这个小程序是一个伺服进程,它一直在检测是否有数据通过串口传过来。一旦有数据过来,它就会调用中断,
将接收到的数据存入CF卡相邻的扇区内。这样就完成了对CF卡的写操作。写操作之后可以立即对同一地址进行读操作,这也
正是CF卡的读写机制与其它普通Flash存储器不同的地方,单片机从先前存入扇区的首地址开始,读出刚刚写入的数据,并将
其送出到串口,发送到PC机的串口调试助手终端上。经过验证,原先发送的数据和反馈回来的内容一致,由此判定, CF卡程
weixin_38604330
- 粉丝: 6
- 资源: 950
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于MATLAB的钢板表面缺陷检测系统
- MS SQL里生成行政区域县区信息表和相应数据
- delphi实现DBGrid全选和反选功能
- 25C11F41-2B2A-4D1A-AAA8-7C654526B129.pdf
- Android Studio Jellyfish(android-studio-2023.3.1.18-cros.deb)
- MVC+EF框架+EasyUI实现权限管理源码程序
- python第66-75天,Day66-75.rar
- python后端服务project-of-tornado.rar
- python测验,hello-tornado.rar
- 基于SpringBoot+Vue3快速开发平台、自研工作流引擎源码设计.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0