TI DSP编程难题:DMA通信与Bootload调试指南

需积分: 0 1 下载量 49 浏览量 更新于2024-12-24 收藏 81KB PDF 举报
本文主要探讨了DSP编程中的关键问题,以TI公司320C54X系列为例,针对实际应用中遇到的技术挑战进行了深入分析。首先,作者针对MSP (Memory-mapped Serial Port)串口的DMA (Direct Memory Access)传输方式,特别是在使用Multi-Frame模式时,提出了常见的问题。当数据传输结束后,中断会导致DMA使能自动关闭,但若立即重新启用传输,由于McBSP的READY信号无法再次触发DMA,程序会卡顿。解决这一问题的方法是在中断处理程序中,先关闭McBSP发送功能,使READY置0,然后在适当的位置重新开启发送并激活DMA。 其次,文章着重强调了McBSP串口配置中的关键时序问题,特别是SPCR2寄存器的设置。在进行配置时,必须确保RRST、XRST和FRST保持为0,并等待至少两个CLKR/T时钟周期,以确保DSP内部的同步。在此过程中,可以正确加载数据到DXR寄存器,启用DMA,以及根据需要启动GRST(用于产生采样时钟)。同时,需要注意的是,在改变某些寄存器状态时,要确保仅有一个位发生变化,以避免可能导致的混乱。 通过这些详细的分析,本文不仅揭示了DSP编程中的潜在陷阱,还提供了解决方案,对于提高DSP应用的稳定性和效率具有实际指导意义。对于从事DSP开发的工程师来说,理解和掌握这些技巧是必不可少的,尤其是在处理串口通信和DMA操作时,能够避免常见错误,提升代码质量。