ARM9 DMA编程详解:设备连接与硬件配置

4星 · 超过85%的资源 需积分: 10 32 下载量 107 浏览量 更新于2024-09-13 收藏 109KB DOC 举报
ARM9的DMA编程说明文档详细探讨了DMA(Direct Memory Access)在ARM9处理器中的应用,特别是在设备间的高速数据传输时的配置和操作。ARM9采用的是AMBA(Advanced Microcontroller Bus Architecture)标准,包括AHB(高级高性能总线)和APB(高级外围总线),为DMA提供了灵活的数据传输路径。 DMA的核心在于它能够在CPU执行其他任务时,独立地完成设备间的数据传输,通过中断机制确保数据的传输开始和结束。在硬件连接方面,DMA支持多种设备挂载情况,如源和目的设备分别位于AHB和APB总线,或者都是APB总线。四种常见挂载模式使得DMA能够适应不同系统架构的需求。 DMA请求源的选择是关键环节,当使用硬件请求模式时,每个DMA通道可以从四个潜在的源(例如,串口、定时器、USB接口等)中选择一个DMA请求源。若选择软件请求模式,则硬件请求源的作用会失效。例如,文档中列举的nXDREQ0和nXDREQ1是两个外部设备源,可以通过DCONn寄存器的HWSRCSEL部分来配置。 DMA相关的寄存器结构包括初始源寄存器DISRC、初始源控制寄存器DISRCC、初始目的寄存器DIDST和初始目的控制寄存器DIDSTC,这些寄存器用于设定DMA传输的起点和终点地址,以及控制传输过程中的各种参数,如数据宽度、奇偶校验和传输方向等。此外,DCON寄存器则包含了控制 DMA 的全局设置,如使能、中断标志、以及与CPU交互的同步选项。 总结来说,ARM9的DMA编程涉及到了总线架构的选择、DMA请求源的配置、以及一系列寄存器的管理,这些知识对于理解和实现高效的设备间数据传输至关重要。理解并熟练运用这些技术,能够显著提升系统的性能和资源利用率。