0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

dma控制器的组成

工程师 来源:未知 作者:姚远香 2019-04-01 16:08 次阅读

一个DMA控制器,实际上是采用DMA方式的外围设备与系统总线之间的接口电路,这个接口电路是在中断接口的基础上再加DMA机构组成。习惯上将DMA方式的接口电路称为DMA控制器。

dma控制器的组成

(1)内存地址计数器:用于存放内存中要交换的数据的地址。在 DMA传送前,须通过程序将数据在内存中的起始位置(首地址)送到内存地址计数器。而当 DMA 传送时,每交换一次数据,将地址计数器加“1”,从而以增量方式给出内存中要交换的一批数据的地址。

(2)字计数器:用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之前由程序预置,交换的字数通常以补码形式表示。在DMA传送时,每传送一个字,字计数器就加“1”。当计数器溢出即最高位产生进位时,表示这批数据传送完毕,于是引起DMA控制器向CPU发出中断信号

(3)数据缓冲寄存器:用于暂存每次传送的数据(一个字)。当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。

(4)DMA请求”标志:每当设备准备好一个数据字后给出一个控制信号,使“DMA请求”标志置“1”。该标志置位后向“控制/状态”逻辑发出DMA请求,后者又向CPU发出总线使用权的请求(HOLD),CPU响应此请求后发回响应信号HLDA,“控制/状态”逻辑接收此信号后发出DMA响应信号,使“DMA 请求”标志复位,为交换下一个字做好准备。

(5)控制/状态”逻辑:由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对“DMA请求”信号和CPU响应信号进行协调和同步。

(6)中断机构:当字计数器溢出时,意味着一组数据交换完毕,由溢出信号触发中断机构,向CPU提出中断报告。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5030

    浏览量

    117733
  • dma
    dma
    +关注

    关注

    3

    文章

    535

    浏览量

    99025
  • DMA控制器
    +关注

    关注

    1

    文章

    43

    浏览量

    12117
收藏 人收藏

    评论

    相关推荐

    请问DMA控制器可以减轻CPU负担吗?

    直接存储器访问 ( DMA )控制器,可以在内存和/或外设之间传输数据,而不需要 CPU 参与每次传输。合理利用 DMA 控制器,可以减轻CPU的负担。
    的头像 发表于 03-28 09:41 151次阅读
    请问<b class='flag-5'>DMA</b><b class='flag-5'>控制器</b>可以减轻CPU负担吗?

    Xilinx高性能PCIe DMA控制器IP,8个DMA通道

    基于PCI Express Integrated Block,Multi-Channel PCIe QDMA Subsystem实现了使用DMA地址队列的独立多通道、高性能Continous
    的头像 发表于 02-22 11:11 305次阅读
    Xilinx高性能PCIe <b class='flag-5'>DMA</b><b class='flag-5'>控制器</b>IP,8个<b class='flag-5'>DMA</b>通道

    雅特力AT32F423 DMA使用指南

    DMA简介DMA控制器的作用不仅在增强系统性能并减少处理器的中断生成,而且还针对32位MCU应用程序专门优化设计。DMA控制器为存储器到存储
    的头像 发表于 02-22 08:13 212次阅读
    雅特力AT32F423 <b class='flag-5'>DMA</b>使用指南

    将XMC4200的DAC与DMA一起使用,但是DMA控制器没有传输数据怎么解决?

    我正在尝试将 XMC4200 的 DAC 与 DMA 一起使用,但是 DMA 控制器没有传输数据。 DAC 通道 0 配置为数据模式,具有内部触发,频率为 24kHz。 设置了 “服
    发表于 01-18 07:12

    STM32的DMA的五大问题

    1,DMA控制器的内部结构STM32中的DMA控制器是一种用于在外设和存储器之间传输数据的专用硬件。DMA
    的头像 发表于 12-10 08:00 616次阅读
    STM32的<b class='flag-5'>DMA</b>的五大问题

    在单片机系统中控制器组成和作用?

    在单片机系统中控制器组成和作用
    发表于 11-03 07:03

    使用STM32F101xx和STM32F103xx的DMA控制器

    这篇应用笔记描述了怎么使用STM32F101xx 和 STM32F103xx的直接存储访问(DMA)控制器。STM32F101xx和STM32F103xx的DMA
    发表于 10-10 08:20

    电机控制器组成及作用 电机控制器故障代码有哪些

    电机控制器组成及作用电机控制器是用于控制和驱动电动机运行的设备,它通常由以下几个组成部分组成:1.电源(PowerSupply):为电动机
    的头像 发表于 09-24 08:08 1658次阅读
    电机<b class='flag-5'>控制器</b>的<b class='flag-5'>组成</b>及作用 电机<b class='flag-5'>控制器</b>故障代码有哪些

    电机控制器组成及作用 电机控制器故障代码有哪些

    电机控制器是用于控制和驱动电动机运行的设备,它通常由以下几个组成部分组成:   1. 电源(Power Supply):为电动机控制器提供所需的电能,通常是直流或交流电源。   2
    的头像 发表于 09-21 15:52 2975次阅读

    STM32F0xx的DMA控制器的使用

    电子发烧友网站提供《STM32F0xx的DMA控制器的使用.pdf》资料免费下载
    发表于 09-21 14:49 0次下载
    STM32F0xx的<b class='flag-5'>DMA</b><b class='flag-5'>控制器</b>的使用

    使用STM32F2和STM32F4 DMA控制器

    电子发烧友网站提供《使用STM32F2和STM32F4 DMA控制器.pdf》资料免费下载
    发表于 09-21 11:44 0次下载
    使用STM32F2和STM32F4 <b class='flag-5'>DMA</b><b class='flag-5'>控制器</b>

    PrimeCell DMA控制器(PL080/PL081)循环模型版本9.1.0用户指南

    ARM®PrimeCell®动态存储访问控制器(DMAC)是一款符合AMBA标准的片上系统外设,可为DMA传输提供AHB总线主设备。 DMAC PL080有两个主端口和八个DMA通道
    发表于 08-12 06:00

    PrimeCellµ DMA控制器(PL230)技术参考手册

    µDMAC是一种符合高级微控制器总线架构(AMBA)的片上系统(SoC)外围设备,由ARM开发、测试和许可。 它是一个非常低的门计数DMA控制器,与AMBA AHB Lite协议兼容
    发表于 08-02 15:36

    Arm®CoreLink™ DMA-350控制器技术参考手册

    CoreLink DMA-350是一款具有AMBA®AXI5接口的直接内存访问控制器(DMAC), 它提供快速存储到存储、外围设备到存储
    发表于 08-02 08:03

    AT32讲堂058 | 雅特力AT32F425 DMA使用指南

    DMA简介IDMA控制器的作用不仅在增强系统性能并减少处理器的中断生成,而且还针对32位MCU应用程序专门优化设计。DMA控制器为存储器到存储器,存储器到外设和外设到存储器的传输提供了
    的头像 发表于 06-21 17:19 777次阅读
    AT32讲堂058 | 雅特力AT32F425 <b class='flag-5'>DMA</b>使用指南