DMA学习总结

DMA主要功能是传输数据,其特点是不需占用CPU,在数据传输时cpu可以做别的事。数据传输支持外设与存储器互传,存储器与存储器互传。一个处理器可能有多个DMA控制器,一个控制器下又有多个通道。

DMA数据配置

以下基于CORTEX-M3处理器的寄存器模式对DMA进行数据配置

  1. 数据的去向
    传输方向一共有三个:外设到存储器,存储器到外设,存储器到存储器
    具体方向由DMA寄存器配置。既然传输,DMA就需要知道传输双方的地址,两者地址均由DMA控制器的寄存器控制
  2. 传多少数据
    知道数据的流向,还需要明确传输的数据量。如果一个32位寄存器那么一次最多能够传输65535个数据。
    数据正确传输,需要使传输双方目标地址的数据宽度保持一致。以串口向电脑发送数据为例,串口的数据寄存是8位的,那么待发送数据长度也是8位。外设和存储器的数据宽度均可由寄存器配置。
    为了保证数据有条不紊的传输,需要正确射中i两边数据指针的增量模式,这也是由寄存器配置。以串口向存储器发送数据为例,串口发送的数据很多的时候,每发送完一个,存储器的地址就要加1;但是串口数据寄存器只有一个,所以外设的地址指针固定不变。如果是存储器到存储器,两者的地址指针均需要同步变化。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部