DMA
Direct Memory Access 直接内存访问
0
是CPU的slave,是外设和内存的master,
存储器之间通过FIFO进行数据搬移
1.1 工作模式
1)正常传输模式:配置后只传输一次,需要重新配置
2)循环模式:一直传送除非关闭,适于数据流
3)双缓冲模式:当第一片存储器传输完成自动切换到第二片并不断切换
一般用于外设和存储器之间,信号的编解码输出、视频、音频连续输出
1.2 流控制
控制数据流的传输
软件流:通过软件配置来结束传输
外设流:需要外设产生特定的结束信号,一般外设不具有流能力
DMA流控制:传输固定数量,可以控制
2.1 设计规格
- 1个32位AHB Master interface
- 1个32位AHB Slave interface
- 4个独立可配置的通道,固定优先级仲裁
- 支持外设与存储器之间的传输
- 可编程的数据最大为1024
AHB只支持基本的单次传输
2.2 寄存器功能
12个寄存器,每个通道三个寄存器
-
ch_0_ctrl 偏移地址0X0
0: ch_0_en 通道0使能
4: ch_0_target 传输方向,0为memory到外设
17~8:ch_0_size 传输大小 -
ch_0_sour 0X4-32位源地址
-
ch_0_dest 0X8-32位目的地址