1.处理过程
在发生一个事件后,外设向DMA控制器发送一个请求信号,DMA控制器根据通道的优先级处理请求。当DMA控制器开始访问发出请求的外设时,DMA控制器立即发送给它一个应答信号。当从DMA控制器得到应答信号时,外设立即释放它的请求。一旦外设释放了这个请求,DMA控制器同时撤销应答信号。如果有更多的请求时,外设可以启动下一个周期的处理。
DMA每次的传输由以下3个操作组成。
(1)从外设数据寄存器或从当前外设/内存地址寄存器指示的存储器地址取数据,第一次传输时的开始地址是DMA_CPARx或DMA_CMARx寄存器指定的外设基地址或内存单元。(https://www.daowen.com)
(2)存储数据到外设数据寄存器或当前外设/内存地址寄存器指示的存储器地址,第一次传输时的开始地址是DMA_CPARx或DMA_CMARx寄存器指定的外设基地址或内存单元。
(3)执行一次DMA_CNDTRx寄存器的递减操作,该寄存器包含未完成的操作数目。