1 引言CF 卡(Compact Flsah Card)由于价格便宜、存储容量大、体积小、兼容性好等优点被广泛应用于嵌入式产品。然而现有的CF 卡接口电路存在接口复杂,稳
1 导言
CF 卡(Compact Flsah Card)由于价格便宜、存储容量大、体积小、兼容性好等长处被广泛运用于嵌入式产品。但是现有的CF 卡接口电路存在接口杂乱,安稳性不高级缺陷,不能满意客户的需求。通过深入研讨ARM 处理器AT91RM9200 的外部总线接口(EBI)、CF 卡和CPLD 的作业原理,提出运用CPLD来改善CF 卡接口电路以处理现有接口电路中存在的缺陷。
通过深入研讨ARM 处理器AT91RM9200 的外部总线接口(EBI)及CF 卡、CPLD 的作业原理,规划了新的CF 卡接口电路。新的CF 卡接口电路中选用了CPLD 来替代一般CF 卡接口电路中的双向缓冲器、与非门等一切逻辑器材,通过现场对CPLD 编程来完结不同的逻辑功用。试验标明,该电路愈加简略、灵敏、安稳、高速,对接口电路的规划有重要的参考价值。
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 硬件接口电路
硬件接口电路的电路图如图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 所示。
图3 CF卡读写操控信号
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 卡存储供给了一种有用的处理方案。