微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Intel Xscale PXA255嵌入式处理器与CF卡的

Intel Xscale PXA255嵌入式处理器与CF卡的

时间:04-09 来源:互联网 点击:

L。(注:PXA255处理器的地址总线为SA_A25:0。)

如果访问公共存储器和特性存储器地址空间,PC Card/CF卡控制器驱动地址总线的时候,同时驱动nPCE1、nPCE2信号,并使用nPOE和nPWE信号作为读写控制信号。

如果是访问I/O空间,nPCE1、nPCE2的值取决于CF卡的信号输出nIOIS16,而且在nIOIS16有效后,nPCE1、nPCE2将有效固定的一段时间。nIOIS16信号用来决定传送的数据总线的宽度(8位或16位):nIOIS16=1,表明当前的数据总线为8位,nPCE1有效;nIOIS16=0表明当前的数据总线为16位,nPCE1、nPCE2同时有效。PXA255使用nPCE2向外部设备指出操作将使用数据总线的高8位,使用nPCE1向外部设备指出操作将使用数据总线的低8位。I/O地址空间的访问使用nPIOW和nPIOR信号作为读写控制信号。

2. PXA255与CF卡硬件接口设计

图3:硬件接口电路

本设计仅采用一个CF卡插槽,使用Socket0的I/O地址空间,而且CF卡采用True IDE模式。则访问地址空间为0x20000000-0x24000000时,PC Card/CF卡控制器将同时驱动信号SA_A25:0、nPREG和nPSKTSEL,并使用nPIOW和nPIOR信号作为读写控制信号。True IDE模式支持8位存取,也支持16位存取。

在True IDE模式下,某些信号有特殊的含义,必须采用True IDE模式下特有的设置方法。如表1所示,nCE1是任务文件寄存器片选信号,低电平有效;nCE2是交替状态(Alternate Status)寄存器和设备控制(Device Control)寄存器片选信号,也是低电平有效。因为实际操作中,极少使用交替状态寄存器和设备控制寄存器,所以对CF卡的操作实际就是对任务文件寄存器的操作。因此,一般设置nCE1=0,nCE2=1。实现方法:在CPLD中设置nCE1=SA_A4,nCE2=not SA_A4。这样设置是有根据的。表1是True IDE模式下I/O编码表。主机操作CF卡时,系统仅使用地址总线A2:0,用于选择组成任务文件寄存器的8个寄存器之一。而地址总线A10:3由主机接地。因此,nCE1=SA_A4即nCE1=0;nCE2=not SA_A4即nCE2=1。表1中,-CE1=0时,对应的8个寄存器统称为任务文件寄存器。

需要注意的是,在True IDE模式下,nOE不是读使能信号,而是CF卡True IED模式的使能信号。CF卡上电时,若nOE(PIN9)为0,则CF卡自动进入True IDE模式;若nOE=1则进入PC Card 模式。当电源一直接通时,热拔插CF卡将会使其从原来的True IDE模式重新配置成PC Card模式。因此,热插拔过程中,为了使CF卡工作在True IDE模式,需要在CF卡加电启动的时侯,同时将nOE信号接地。实现的方法:在CPLD中将nOE置0。True IDE模式下,nWE也不用作写使能信号,而应该由主机将之接地。处理方法:在CPLD中将其只置为1。

还有一点需要注意的是: Reset信号在True IDE 模式下低电平有效,而在其它模式下高电平有效。将Reset信号接到PXA255的系统复位信号Reset_SYS。

True IDE模式下,PXA255处理器与CF卡的硬件接口电路如图3所示。

在图3中,D15:0为数据总线。RDnWR信号用来控制数据总线的方向(系统处于读状态时,RDnWR=1;系统处于写状态时,RDnWR=0)。nPSKTSEL信号用作数据总线的传输使能。SA_A10:0(CF_A10:0)为地址总线。在True IDE 模式下,CF卡的PSKTSEL引脚是主从(Master/Slave)选择信号:当PSKTSEL悬空时,CF卡是Slave设备;当PSKTSEL=0时,CF卡是Master设备。设计仅采用一个CF卡插槽,所以将PSKTSEL接地。在TRUE IDE模式下,REG信号没有用处,应该接电源VCC。IREQ是中断请求信号。利用IREQ信号,PXA255处理器可以判断CF卡是否处于读写忙状态,对CF卡进行读写之前利用此引脚判断CF卡是否空闲。nWAIT信号用于指示读写操作正在进行,请求处理器等待。

3. CF卡热插拔、即插即用功能的实现

在自身设计上,CF卡注重软硬件两方面的配合。软硬件的协同设计可以实现CF卡热插拔、即插即用的功能。

一是硬件提供判断条件。CF卡硬件电路提供了两个用来检测CF卡是否存在的引脚(nCD1和nCD2)。nCD1和nCD2的有效电平均为低电平,当主机检测到与其相连的nCD1和nCD2引脚同时为低电平时,可判断出CF卡与主机相连;当主机检测到与其相连的nCD1和nCD2两个引脚不同时为低电平,则可判断出CF卡未与主机相连。

表1:True IDE模式I/O编码

二是软件。首先定义全局变量(如:Cf_IsInsert),用于记录CF卡是否与主机相连:当Cf_IsInsert为0时表示CF卡未与主机相连;当Cf_IsInsert为1时表示CF卡与主机相连。然后,在每次操作CF卡之前都先检测CF卡的nCD1和nCD2引脚。当检测到nCD1和nCD2引脚同时为低电平(有卡插入)且Cf_IsInsert为0时,复位CF卡,重新检测CF卡的FAT表,统计还有多少剩余空间可

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top