打造国内最大的IC交易平台
技术资料 行业资讯 PDF资料 IC价格 IC替换 缩略语 IC供应 IC采购
CF卡在数字音频系统中的应用
类别:接口电路  
 
作者:河南省郑州信息工程大学 胡泽明 孙 勇 来源:《单片机与嵌入式系统应用》

摘要:介绍CF(Compact Flash)卡的特点;阐述CF卡的内部结构和工作原理;给出在一个数字音频系统中如何实现CF卡读写。 关键词:CF卡 结构寄存器 任务寄存器 EP7212 随着微电子技术的发展,各种数字设备,如掌上电脑、数字相机大量出现。为了使各种设备存储卡可以兼容,即一个设备存储卡可以用于另一个设备上,1995年各大厂商联合建立了CFA组织,制定CFA标准。CFA标准规定CF卡的电气标准、物理特性以及命令集。CF卡不仅包括闪存、磁介质、I/O设备,而且还包括网卡、调制解调器、传真机等。CF卡的外型目前有两种:TYPE I(3.3mm)和TYPE II(5mm),后者是为大容量存储卡和I/O设备而设计的。 1 SST48CF024的特点和工作原理 (1)特点 SST48CF024是SST公司生产的超小型、低功耗、闪存介质的CF卡,具有24MB存储空间,完全符合CFA标准,并且可以通过50~68脚适配器应用于PCMCIA接口。该卡内部包括256字节卡结构信息(CIS),内置微控制器和文件管理器,使得主机很容易实现对CF卡文件的存取。该卡同时还具备电源管理功能,具有正常、空闲和睡眠三种状态。 (2)引脚介绍 CF卡主要有三种工作模式:PC CARDI/O、PC CARD MEMORY和True IDE模式。PC CARD模式与PCMCIA标准兼容。TRUE IDE模式与ATA/ATAPI-4标准兼容。 三种模式下主要引脚定义如表1所列。

表1 引脚 PC CARD I/O PC CARD MEMORY True IDE A10~A0 地址线 同I/O 仅A0~A2选择任务寄存器 CE1,CE2 用于选择奇偶字节 同I/O 用于选择任务寄存器,或者选择控制、状态寄存器 D0~D15 数据线 同I/O 同I/O IORD 未用 I/O读信号 同MEMORY IOWR 未用 I/O写信号 同MEMORY OE 读信号 读CIS寄存器 接地 WE 写信号 写结构寄存器 VCC REG 0为特片寄存器

1为普通内存 在读写时应为低 VCC Reset 高电平有效 同I/O 低电平有效 VCC 3.3V 同I/O 同I/O GND 地 同I/O 同I/O (3)三种模式的选择 当上电时,如果OE接地,则进入True IDE模式,在此模式下只可以存取任务寄存器。另外两种模式需要通过设备结构寄存器来选择。 (4)结构寄存器介绍 地址(A10~A0)0X200:结构选择寄存器 地址(A10~A0)0X202:结构状态寄存器 地址(A10~A0)0X206:卡拷贝寄存器 下面仅介绍结构选择寄存器: SReset Leve1REQ CONF5 CONF4 CONF3 CONF2 CONF1 CONF0 Sreset:恢复位信号; Leve1REQ:中断模式选择(电平或边沿触发); CONF5~CONF0:见表2。

表2 CONF5 CONF4 CONF3 CONF2 CONF1 CONF0 模 式 0 0 0 0 0 0 MEMORY 0 0 0 0 0 1 I/O模式,对应任意16个连续地址 0 0 0 0 1 0 I/O模式,对应1F0~1F7H和3F6~3F7H 0 0 0 0 1 1 I/O模式,对应170~177H和376~377H (5)寄存器功能及地址分配 寄存器功能及地址分配(PC CARD MEMORY2 读写子程序的设计 每次执行CF卡命令前,都需要读取状态寄存器来确定当前CF卡所处状态。状态寄存器各位信息如表4所列。

表3 -REG A10 A9~A4 A3 A2 A1 A0 偏移 读寄存器 写寄存器 1 0 X 0 0 0 0 0 数据寄存器偶字节 数据寄存器偶字节 1 0 X 0 0 0 1 1 错误寄存器 特征寄存器 1 0 X 0 0 1 0 2 扇区计数器 扇区计数器 1 0 X 0 0 1 1 3 扇区号寄存器 扇区号寄存器 1 0 X 0 1 0 0 4 柱面号寄存器(低字节) 柱面号寄存器(低字节) 1 0 X 0 1 0 1 5 柱面号寄存器(高字节) 柱面号寄存器(高字节) 1 0 X 0 1 1 0 6 驱动器/磁头寄存器 驱动器/磁头寄存器 1 0 X 0 1 1 1 7 状态寄存器 命令寄存器 1 0 X 1 0 0 0 8 数据寄存器偶字节 数据寄存器偶字节 1 0 X 1 0 0 1 9 数据寄存器奇字节 数据寄存器奇字节 1 0 X 1 1 0 1 D 错误寄存器 特征寄存器 1 0 X 1 1 1 0 E 辅助状态寄存器 设备控制寄存器 1 0 X 1 1 1 1 F 卡地址寄存器 保留 1 1 X X X X 0 8 数据寄存器偶字节 数据寄存器偶字节 1 1 X X X X 1 9 数据寄存器奇字节 数据寄存器奇字节 表4 符 号 位 描述 真值 BSY 7 控制器忙否 1 DRDY 6 驱动器就绪 1 DWF 5 驱动器故障 1 DSC 4 寻道结束 1 DRQ 3 服务请求 1 CORR 2 ECC检验错误 1 IDX 1 收到索引 1 ERR 0 命令执行出错 1 ①状态寄存器D7位为0,表示控制空闲;D6、D4均为1,表示CF卡准备好接收下一条指令,否则,控制器不能接收下一条命令。 ②寄存器命令块读写操作设计的8个寄存器组成1个命令块寄存器。执行命令前,程序要写7个寄存器,其中前6个为参数,最后1个为命令码。扇区计器中的数值表示待传送扇区的数目,每传送一个扇区,其值自动减一。扇区号寄存器存放的是物理扇区号,柱面寄存器存放的物理柱面号,驱动器/磁头寄存器中存放的是磁头号。读写控制命令有读扇区,命令码为20~21H;写扇区,命令码为30~31H。 ③由于数据寄存器为16位,因此读写一个扇区,只需要连续执行256次访问数据端口的操作。需要注意的是:CE1=0、CE2=0,存取的是一个字;CE1=0、CE2=1,存取的是一个字节。连续存取字节两次则依次存取数据寄存器偶字节和寄字节。 ④执行命令后,需查看状态寄存器D0位。若D0位为0,则表示命令执行成功;若失败,相应错误原因可在错误寄存器中查出。 3 CF卡的应用 EP7212是CIRRUS LOGIC公司生产的支持MP3格式的数字音频解码的微处理器。它采用ARM7TDMI CPU核,时钟速率高达74MHz;它内含DRAM、FLASH、LCD、串口和数字音频接口。这些特征使得开发者容易实现MP3文件的解码和播放。本例中利用CF卡存储MP3,硬件连接框图如图1所示。 (1)CPLD逻辑关系采用VHDL语言实现 OE <=NCS3 OR NRD; WE <=NCS3 OR NWR; CE1 <=A0 AND (NOT WORD); CE2 <=(NOT A11)AND (NOT WORD); REG <=A11; (2)软件实现 首先,配置结构寄存器,设为MEMORY模式。然后,各个任务寄存器设定参数。最后,将命令写入命令寄存器,执行操作。下面的代码段实现将CF卡第一个扇区全部写入0XAAAA。 LDR R0,=0X30000200; //结构寄存器地址A11=1 LDR R1,=0; STRB R1,[R0]; //设置为MEMORY方式 LDR R0,=0X30000800; //初始化地址,A11=1 LDR R2,=0X80; //检测忙信号 LDR R3,=0XAAAA; //测试数据 LDR R1,=1; //传输扇区数目。此处是1个扇区大小 STRB R1,[R0,#2]; LDR R1,=0; //起始扇区号 STRB R1,[R0,#3]; LDR R1,=0; //柱面低8位地址 STRB R1,[R0,#4]; LDR R1,=0; //柱面高8位地址 STRB R1,[R0,#5]; LDR R1,=0XE0; //磁道数 STRB R1,[R0,#6]; LDR R1,=0X30; //写扇区命令 STRB R1[R0,#7]; WAIT LDRB R1,[R0,#7]; //读状态信号,检测是否忙。 //若忙,在此循环 TST R1,R2; BNE WAIT LDR R4,=0; //初值 LDR R5,=0X100; //写256个字,512个字节。 WRITE STR R6,[R0]; ADD R5,R5,#1; CMP R5,R4; BNE WRITE; //向缓冲写512个字节 由于篇幅有限,本文仅给出MEMORY模式实现的方法,其它两种模式实现与MEMORY相似。由于CF卡具有易于携带、兼容性好、容量大的特点,可以预见,它必将在更广阔的领域得到应用。

 
 
客服热线
0755-26000950 0755-26007355