张庆国
摘要 本文介绍了通用数字信号处理器TMS320VC33的DMA结构及其应用设计,分析了采用TMS320VC33 DMA进行高速实时数据采集的硬件和软件设计要点,成功实现了DMA高速数据采集和数据运算的并行处理,提升了系统的数据处理能力,使系统具有较高的集成度和性价比。
关键词 数字信号处理(DSP),直接存储器访问(DMA),快速傅立叶变换(FFT)
TMS320VC33是TI公司于2001年推出,采用0.18μm CMOS工艺的32位浮点DSP芯片。克服了以前TMS320C30、C31、C32在接口、引导、存储器扩展等方面的不足,即适用于浮点计算,又适用于控制。TMS320VC33能单周期执行整数或浮点数并行乘法累加和ALU运算。每个处理器还拥有一个多功能的寄存器文件,一个程序高速缓冲存储器,一个专用辅助寄存器算法单元(Auxiliary Register Arithmetic Units,ARAUs),内部双访问存储器,一个支持并行I/O的直接存储器存取(DMA)通道和短机器周期。
由于DMA电路调试不透明和芯片内部处理流程的不明确,使得在实时数据采集的应用中故障很难捕获和分析,故而较难调试,所以许多系统的设计并没有充分利用其功能。本文就TI提供的DSP算法标准—XDAIS,对如何正确利用芯片的DMA 功能,提高系统的效率进行阐述。
一、TMS320VC33的DMA结构
TMS320VC33的DMA控制器支持单通道的DMA传输,能够对处理器的任意存储单元进行输入/输出操作,也就是说TMS320VC33有可能和慢速的外部存储器及串行的A/D、D/A进行交换数据,而不会降低CPU的计算能力。
TMS320VC33的DMA通道有4个寄存器控制,其地址映射在外围设备地址空间,如图1所示。
TMS320VC33的DMA控制器具有专用的片内地址和数据总线,DMA通道的访问由DMA控制器决定,并占用DMA的专用总线。
1.DMA控制器总线结构
下面假设数据从I/O设备到RAM传输的情况,说明DMA控制器和总线相连的处理过程。
当I/O设备由数据传送给RAM时,发送DMAREQ信号给DMA,随后DMA发送BUSREQ信号给DSP。当DSP释放总线的时候,DSP发送BUSACK信号给DMA。DMA将数据要写入的地址放到地址总线上,再发送DMAREQ信号给I/O设备,同时发送WRITE信号给RAM。I/O设备将数据放到数据总线上让RAM读取,这样完成了写周期。DMA控制器与总线的连接结构图和时序图如图2、图3所示。
DMAREQ
DMAACK
BUSREQ
BUSACK
WRITE
地址总线
数据总线
2. DMA传输速度DMA在复制大量数据时非常有用。较小的数据块无法受益,因为还要考虑到 DMA 的设置开销时间,反到不如直接使用 CPU 合适。TMS320VC33的DMA控制器进行一次源地址和目的地址都在片内的DMA操作最快需要两个时钟周期。如果源地址或者目的地址在片外的话,DMA的速度就和片外设备有无等待状态有关。
|