• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

单片机里的DMA不知道是什么意思?

神马姐 2017-06-26 浏览量:2606
单片机里的DMA不知道是什么意思?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  •        DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。

         我发表过一篇论文,有关DMA的。你网上可以搜索,希望对你有帮助。

           “DMA”方式在LED屏显示系统中的应用

          针对LED显示屏系统在数据处理时对速度的要求,基于DMA思想,在处理数据时可以用单片机的脉冲信号产生SCK信号,从而驱动LED屏显示,显示数据可以不经过CPU直接以“DMA”方式移入单元板中的移位寄存器组中。本文介绍STC12C5616AD单片机的读(RD)和SPI接口的“DMA”方式在LED显示屏中的应用,突出“DMA”方式在LED大屏幕显示系统中的优势。


    • 发布于 2017-06-26
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5

  • 以下是STM32的參考說明

     直接存储器访问 (DMA) 用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据。这样节省的 CPU 资源可供其它操作使用。说白了DMA就是一个搬运工,将数据从一个地方搬到另一个地方而不需要CPU处理。


            作为一个搬运工,要他正常工作必须要确定几个重要的参数。
    1.传输模式:数据从哪里搬到哪里。三种可能的传输方向:存储器到外设、外设到存储器或存储器到存储器。 
    2.通道选择:就是数据传输的是走那条道路
    3.仲裁器:多个DMA传输是优先级高的优先传输。
    4.数据长度:每次传输的数据长度,可以一个字节,两个字节(半字),四个字节(字)
    5.指针递增:如果使能了递增模式,则下一次传输的地址将是前一次传输的地址递增 1(对于字节)、2(对于半字)或4(对于字)。

    以上

    • 发布于2017-06-26
    • 举报
    • 评论 0
    • 0
    • 0

  • DMA是直接内存存取的意思,全称是Direct Memory Access

    DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统算法和网络是很重要的。

    在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。一个完整的DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束4个步骤。

    • 发布于2017-06-26
    • 举报
    • 评论 0
    • 0
    • 0

  • DMA一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,不需要CPU干预。整个数据传输在DMA控制器控制下进行。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。
    通常,DMA控制器有多个通道,有独立的请求和中断,独立可编程的源地址、目标地址和传输数目。可以将FLASH、SRAM、外SRAM、和其他外设作为源或目标
    完整的DMA传输过程如下:
    1.DMA请求 CPU对DMA控制器初始化
    2.DMA响应CPU执行完当前总线周期即可释放总线控制权。
    3.DMA传输 DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作。
    4.DMA结束 当完成规定的成批数据传送后,DMA控制器即释放总线控制权。
    • 发布于2017-06-26
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

单片机里的DMA不知道是什么意思?