Xilinx FPGA与TI DSP EMIF接口的程序设计案例

需积分: 9 43 下载量 164 浏览量 更新于2024-08-08 收藏 6.34MB PDF 举报
在《DSP嵌入式系统开发典型案例》一书中,章节2.6探讨了Xilinx FPGA与TI DSP EMIF平台接口的详细实现过程。系统的核心部分是TMS320C6203B DSP,它与ADS5422 ADC(模数转换器)和IDT72V2113 FIFO(First-In-First-Out)之间的协同工作。当系统上电后,采集的数字信号存储在ADS5422中,其数据流的控制由TMS320C6203B的DX0引脚状态决定。在初始化阶段,XCE3设置为同步FIFO读模式,DMA通道0配置为单次传输1024个半字,同步信号触发DMA传输。 DMA通道0在接收到外部同步信号时启动,通过DX0引脚的切换控制数据流,当DX0为低电平时,数据开始写入IDT72V2113。当定时器0的22ms间隔中断发生时,DX0被设置为高电平,暂停写入,并等待IDT72V2113内部数据量达到满量程(1023个半字)时,PAE标志上升,引发DMA传输。此时,TMS320C6203B通过扩展总线XB读取数据,存储到内部RAM中。传输完成后,向DSP发送中断,以便后续处理。处理完成后,通过USB2.0接口发送结果,接着重新启动DMA进行下一轮数据传输,直到所有数据处理完毕。 主程序代码部分涉及DSP、ADC和FIFO的初始化,包括设置中断(如DMAINT0和TIMERINT1)、寄存器地址定义(如SPCR0, PCR0等)以及扩展总线控制寄存器(如XCECTL0, XCECTL1等)。GBLCNTA, GBLIDXA等寄存器用于管理全局数据块的计数、ID和地址。 整个过程展示了DSP在实时信号处理系统中的关键作用,特别是与FPGA的集成,如何通过高效的DMA机制管理和传输大量数据,以及如何通过精确的时间控制确保数据的正确处理和传输。这些技术在通信、音频/视频处理、工业控制等领域有着广泛应用,体现了DSP的强大功能和灵活性。