首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» 基于ARM的嵌入式系统CF卡存储技术
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于ARM的嵌入式系统CF卡存储技术
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2014-6-20 07:50
|
只看该作者
基于ARM的嵌入式系统CF卡存储技术
技术
,
微软
,
嵌入式
摘要:
针对当前现有的CF 卡接口电路存在接口复杂、稳定性不高、存储速度缓慢等缺点,通过深入研究ARM 处理器AT91RM9200 的外部总线接口(EBI)及CF 卡、CPLD 的工作原理,设计了新的CF 卡接口电路。新的CF 卡接口电路中采用了CPLD 来代替一般CF 卡接口电路中的双向缓冲器、与非门等所有逻辑器件,通过现场对CPLD 编程来实现不同的逻辑功能。实验表明,该电路更加简单、灵活、稳定、高速,对接口电路的设计有重要的参考价值。
1 引言
随着应用需求的不断提高,许多嵌入式系统在应用时都要求带有扩展的大容量存储器来存储数据。CF 卡(Compact Flsah Card)由于价格便宜、存储容量大、体积小、兼容性好等优点被广泛应用于嵌入式产品。然而现有的CF 卡接口电路存在接口复杂,稳定性不高等缺点,不能满足客户的需求。通过深入研究ARM 处理器AT91RM9200 的外部总线接口(EBI)、CF 卡和CPLD 的工作原理,提出利用CPLD来改进CF 卡接口电路以解决现有接口电路中存在的缺点。
2 器件简介
2.1 外部总线接口
系统采用了以ARM920T 为内核的AT91RM9200作为微处理器,它是完全围绕ARM920T Thumb 处理器构建的系统。它有丰富的系统与应用外设及标准的接口,包括一个高速片上SRAM 工作区及一个低等待时间的外部总线接口(EBI)以完成应用所要求的片外存储区和内部存储器映射外设配置的无缝连接。外部总线接口结构如图1 所示。
EBI 通过集成电路支持CF 卡与SmartMedia 协议,从而极大地降低了对外部组件的需求。此外,EBI可处理多达8 个外设的数据传输,每个外设分配8 个在内置存储控制器中定义的地址空间。数据通过16 位或32 位数据总线进行传输,地址总线高达26位,8个芯片选择口(NCS[7:0])和在不同外部存储控制器间复用的多个控制引脚进行复用。
2.2 CF 卡
CF 卡(Compact Flash Card)是采用Flash Memory技术的存储卡,具有体积小、价格低廉、兼容性强、存储量大等优点。CF 卡支持三种接口模式,分别是PCCard Memory Mode、PC Card I/O Mode、True IDEMode。因为True IDE Mode 不经常使用,故接口电路以PC Card Memory Mode 和PC Card I/O Mode设计。
2.3 CPLD
CPLD(Complex Programmable Logic Device)是一种较PLD 复杂的逻辑元件[2],是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
该文采用的CPLD 是Altera 公司的MAX7000S系列的EPM7128SQL100-10。它有84 个引脚,其中5 根用于ISP(IN System Programmable)下载,可方便的对其进行“在系统”编程。EPM7128SQL100-10支持对电压工作,可以利用Altera 公司的第四代开发平台quartus Ⅱ方便地进行仿真、综合和下载。
3 硬件接口电路设计
硬件接口电路的电路图如图2 所示。在此电路中用CPLD 来实现一般CF 卡接口电路中的双向缓冲器和与非门等一些逻辑器件的逻辑功能,使接口电路变的更为简单、稳定、高速,而且可以通过现场修改程序来实现不同的功能。
CF 卡中的_CD1、_CD2 是CF 卡是否安装的状态检测信号,在CF 卡中接地。当CF 卡没有安装时,电路中_CD1、_CD2 由上拉电阻将其输出拉为高电平;当CF 卡安装时,_CD1、_CD2 由CF 卡接地输出为低电平,_CD1、_CD2 相当于CF 卡的总开关。在实际接口电路中_CD1、_CD2 要接10 kΩ 的上拉电阻。
将片选任务寄存器的CS4A 编程为1 则可使能EBI 的复用引脚NCS4/CFCS、NCS5/CFCE1、NCS6/CFCE2 为CompactFlash 信号CFCS、CFCE1、CFCE2,使能NOE/NRD/CFOE、NWR0/NEW/CFWE、NWR1/NBS1/CFIOR、NWR3/NBS3/CFIOW、A25/CFRNW为Compact Flash 信号CFOE、CFWE、CFIOR、CFIOW、CFRNW。这样就可以通过访问保留给NCS4 的地址空间来访问外部的CF 卡。在NCS4 的地址空间中用当前的传输地址来分辨I/O 模式,通用存储模式是标志存储模式。传输地址总线的A23 用作I/O 模式选择。该文CF 卡用A22/REG 来分离通用存储模式和标志存储模式。
在I/O 模式下,CompactFlash 的逻辑驱动CFIOR与CFIOW 信号上SMC 的读写信号,此时CFOE 与CFWE 信号失效。同样在通用存储模式和标志存储模式下驱动CFOE 与CFWE 信号上的SMC,CFIOR与CFIOW 信号失效。该逻辑如图3 所示。
CFOE 与CFWE 通过CPLD 和CF 卡的OE 与WE连接起来,这是CF 卡在Memory Mode 的读写使能。
CFIOE 与CFIOW 通过是I/O Mode 的使能。除了使能信号外,其他的信号对2 种模式都是相同的。
CFCE1 与CFCE2 信号使能CF 卡的数据总线由上或是由下访问,具体信息见表1。只有当NCS4 引脚上的SMC 配置为驱动8 位存储器时才可进行奇字节访问,NCS4 地址空间中的片选寄存器必须如表1所示进行设置。
_CD1、_CD2 为低电平时,CPU 的地址总线的低11 位A[10∶0]于CF 卡的地址总线A[10∶0]连通,CPU的数据总线的低16 位D[15∶0]与CF 卡的地址总线D[15∶0]连通。CPU 的A25/CFRNW 信号是数据流的方向的,NCS4/CFCS 信号是数据总线的传输使能。详细内容请参阅表2。
CPU 是高速器件,CF 卡是低速器件,在CPU 给CF 卡传输数据的时候就会发生因为接收速度慢而丢失数据的情况。所以需要用_WAIT 信号来延迟CPU 的发送,这样才能使CPU 的发送时序与CF 卡的接受时序匹配,使得数据的传输正确无误。实际电路中CF 卡的_WAIT 信号通过CPLD 来控制CPU 的NWAIT 信号,_WAIT 要接10 kΩ 的上拉电阻。RDY/BSY 是CF 卡的工作状态信号,当RDY/BSY 为1 时,CF 卡已经做好准备接收新的数据;当RDY/BSY 为0 时,CF 卡正在接受数据,这个信号也要接个10 kΩ上拉电阻。CF 卡的复位RESET 信号也是由系统的复位nRESET 信号在CPLD 中反相后产生的,以保持和系统的复位信号同步。
4 CPLD 程序开发
CPLD 程序在quartus Ⅱ下用Verilog HDL 语言编写。程序经过编译后,下载到CPLD 中固化。连接电路板和CF 卡,对CF 卡进行数据的读写操作,测试结果表明数据传输正确无误,且传输速率更高。
5 结束语
该文重点研究了如何利用CPLD 来连接基于ARM 的嵌入式系统与CF 卡。其中使用的CPLD 不但简化了接口电路,使其适合现场编程,同时改进的接口电路还适合产生各种复杂组合逻辑和时序逻辑。这种存储技术的正确性已在电路板上得到验证,它为基于ARM 的嵌入式系统的CF 卡存储提供了一种有效的解决方案。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议