1.DMA简介:
DMA(Driect memory access)直接存储器存储。用来实现在不需要CPU干预的情况下实现,外设与存储器或者存储器和存储器之间的高效数据传输。
例如在串口通讯中使用DMA功能,可以直接将串口接收的数据传输到指定存储空间,而不占用CPU资源。
2.stm32f207DMA特点:
* 双AHB控制总线结构,一个用于存储器的数据存取,另一个用于外设的数据存取;
* 每个DMA(DMA1和DMA2)模块有8个stream,每个stream支持8个DMA请求;
* 每个stream有独立的4级深度FIFO,可以用在FIFO模式或者direct模式;
* 只有DMA2支持memory-to-memory操作;
* 每个通道都可以在有固定地址的外设寄存器和存储器地址之间执行DMA传输,其传输的数据量上限值是可以编程的,最大达到65535。这些数据中包含要传输的数据项数量的寄存器,该数量值在每次传输后递减;
3.DMA通道
a.可编程数据数量:通过DMA_CCRx寄存器的PSIZE和MSIZE设置传输数据的数量上限值;
b.指针增量:通过设置DMA_CCRx寄存器中PINC和MINC,外设和存储器的指针在每次传输后可以有选择的完成自动增量。增量的值取决于所选传输的数据宽度(1、2或者4);
c.
文章评论(0条评论)
登录后参与讨论