基于DSP的TMS320VC5421与CF存储卡的接口实现
本文实现了TMS320VC5421与CompactFlash存储卡(以下简称CF卡)的接口。利用DSP的高速数字信号处理能力可完成数据的实时采集和处理;利用CF卡的容量大、非易失性和即插即用的特性可完成数据保存和传输。因此TMS320VC5401与CF卡的接口在工业检测前端系统的应用中有很好的前景。
1 TMS320VC5421芯片介绍
数字信号处理器(DSP)是数字信号处理理论与超大规模集成电路(VLSI)技术融合的结晶。TMS320VC5421更是定点系列DSP中的佼佼者。其系统框架如图1所示。
TMS320VC5421有4个主要特点:
(1)TMS320VC5421包含两个独立的DSP子系统。每个子系统都有独立的程序空间、数据空间和I/O空间,且每个子系统分别具有片
内4套总线即4条地址总线、4条数据总线(3种数据总线用来访问片内数据空间,1条数据总线用来访问程序空间)和2个地址发生辅助寄存器来实现并行运算和并行存储功能,提高CPU的运算效率。
(2)TMS320VC5421的每一个子系统都有6个独立的DMA通道,且可对每个DMA通道进行独立编程。TMS320VC5421的两个子系统的所有程序空间、数据空间和I/O空间都在每个DMA通道的寻址范围内。
(3)TMS320VC5421的工作频率最高可达到100MIPS,且两个子系统的工作时钟统一由子系统A控制。
(4)TMS320VC5421的两个子系统之间同步信号可以由IPIRQ中断提供。
TMS320VC5421有3种方式实现不同子系统中的数据传输:
(1)将数据存放在两个子系统共享的128KB程序空间中,由共享的128KB程序空间实现数据传递。
(2)将数据存放在与两个系统分别相连的16字的FIFO中,由FIFO实现两个子系统的数据传递。
(3)通过DMA将数据传输到任意子系统的任意空间。
2 CompactFlash存储卡产品介绍
CompactFlash技术是由CompactFlash协会(CFA)提出的一种与PC机的ATA接口标准兼容的新技术,它致力于开发一种先进的、速度快、容量大、体积小、质量轻、功耗低且可移动的数字信息存储产品。
由图2可知,CF卡包含两个基本部分:片内的芯片控制器和片内的存储模块。片内的存储模块用来存储数字信息,片内的芯片控制器用来实现与主机的接口及控制数据在存储模块中的传输。
2.1 CF卡控制器
CF卡控制器中包含两组寄存器:命令寄存器和控制寄存器。命令寄存器用来接受命令和传输数据;控制寄存器用作磁盘控制。这两个寄存器组通过REG信号进行区分。控制寄存器组主要用于控制CF卡的工作方式;命令寄存器组被分配在与ATA标准兼容的地址空间。当CF卡工作在I/O方式下,命令寄存器组的地址空间为IF0H~1F7H和3F6H~3F7H;当CF卡工作在寄存器方式下,命令寄存器组的地址空间为1F0H~1FFH。
当CF卡工作在存储器方式下,CF卡按照ATA标准以寄存器方式传送数据、命令和地址。些寄存器除数据寄存器为16位外,其它寄存器均为8位。
数据寄存器(R/W):这是一个16位数据寄存器,用于对扇区的读写操作。主机通过该寄存器向CF卡卡控制器写入或从CF卡控制寄存器读出扇区缓冲区的数据。
错误寄存器(R)和特性寄存器(W):错误寄存器反映控制寄存器在诊断方式或操作方式下的错误原因。特性寄存器一般不使用。
扇区数寄存器(R/W):用来记录读、写命令的扇区数目。
扇区号寄存器(R/W):用来记录读、写和校验命令指定的起始扇区号。
柱面号寄存器(R/W):用来记录读、写、校验和寻址命令指定的柱面号。
驱动器/磁头寄存器(R/W):记录读、写、校验和寻道命令指定的驱动器号、磁头号和寻址方式(CHS模式或LBA模式)。
状态寄存器(R)和命令寄存器(W):状态寄存器反映CF卡驱动器执行命令后的状态,读该寄存器要清除中断请求信号。命令寄存器接收主机发送的CF卡工作的命令控制字。
评论