- 6
- 0
- 约5.08千字
- 约 8页
- 2017-01-16 发布于天津
- 举报
内存直接存取——基本原理、结构与应用
内存直接存取——基本原理、结构与应用(四辑系列文章之二)
By David Katz and Rick Gentile, Analog Devices, Inc.
上一辑文章中,我们引入了内存直接存储(DMA)背后的基本知识——人们为什么需要它,它采用何种构造和控制方式。这次,我们将专注于DMA传输的分类,以及与建立这些会话相关的构造
DMA的结构
目前有两类主要的DMA传输结构。寄存器模式和描述符模式。无论属于哪一类DMA,表1所描述的几类信息都会在DMA控制器中出现。当DMA以寄存器模式工作时,DMA控制器只是简单地利用寄存器中所存储的参数值。在描述符模式中,DMA控制器在内存中查找自己的配置参数。
Next Descriptor Pointer(lower 16bit) 下一个描述符的地址 Next Descriptor Pointer(higher 16bit) 下一个描述符的地址 Start Address(lower 16bit) 起始地址(源区或者目标区) Start Address(higher 16bit) 起始地址(源区或者目标区) DMA Configuration 控制信息(启用、中断,1D vs 2D) X_Count 内循环的传输次数 X_Modify 内循环的每次传输之间跨越的字节数 Y_Count 外循环中的传输次数 Y_Modify 内循环结束和外循环开始之间的字节数
表1:DMA寄存器
基于寄存器的DMA
在基于寄存器的DMA内部,处理器直接对DMA控制寄存器进行编程,来启动传输。基于寄存器的DMA提供了最佳的DMA控制器性能,因为寄存器并不需要不断地从内存的描述符上载入数据,而内核也不需要保持一个描述符。
基于寄存器的DMA包括两种子模式:“自动缓冲模式”和“停止模式”。在自动缓冲DMA中,当一个传输模块传输完毕,控制寄存器就自动重新载入,恢复其最初的设定值,同一个DMA处理器重新启动,开销为零。
正如我们在图1中所看到的那样,如果将一个自动缓冲DMA设定为从外设传输一定数量的字到L1数据内存的缓冲器上,则DMA控制器将会在最后一个字的传输完成的时刻就迅速重新载入初始的参数。这构成了一个“循环缓冲”,因为当一个量值被写入到缓冲器的最后一个位置上时,下一个量值将被写入到缓冲器的第一个位置上。
Figure 1: Implementing a circular buffer with Autobuffer DMA
图1:用DMA实现循环缓冲器
图中:Start—起点,End-终点,Circular Buffer——循环缓冲器,Address Increments——地址增量,Reset Address——复位地址。
自动缓冲DMA特别适合于对性能敏感的、存在持续数据流的应用。DMA控制器可以在独立于处理器其他活动的情况下读入数据流,然后在每次传输结束时,向内核发出中断。虽然有可能以非突然的方式阻止自动缓冲模式,但如果DMA处理器需要定期启动和停止时,这种工作方式的采用就没有什么实际意义。。
让我们先考察一下一个Autobuffer方面的例子。
例1
试考虑一个这样一个应用:其处理器一次对512个采样进行处理,而编码/解码器 A/D变换器)以音频时钟频率发送新的数据。自动缓冲DMA在这种情况下是绝妙的选择,因为数据传输是定期进行的。
考虑同一模型,让我们假设我们希望对输入的音频数据进行“双缓冲”。也就是说,我们希望,在我们对某个缓冲器进行处理时,DMA控制器将另一个缓冲器填满数据。处理器必须在DMA控制器回溯到某个特定的数据缓冲器的起始点时结束对该缓冲器数据的处理,正如图2所示的那样。使用自动缓冲器时,配置工作简单易行。
图2 双缓冲
图中:Count——计数,Memory Buffers——内存缓冲,Peripheral fills one buffer——外设将一个缓冲器充满。Interrupt——中断,Process first 512 bytes of buffer——处理前512个字节的缓冲数据,Processor works on other buffer——处理器对其他缓冲器进行处理,Interrupt——中断,Process second 512 bytes of buffer——处理另外的512byte的缓冲数据,Registers reload and DMA starts over again——寄存器重新载入,DMA再次从头开始。
自动缓冲DMA的总计数值必须包含通过2D DMA来实现的两个数据缓冲器的规模。缓冲器的数量对应于外循环。于是,我们让XCOUNT保持为512。假设音频
您可能关注的文档
- 公文要素-备考资料.ppt
- 公文概說A公文寫作的基本認識-雲林科技大學.ppt
- 公用数据元目录.ppt-国家人口与健康科学数据共享平台.ppt
- 公文写作与处理-北京理工大学.ppt
- 六设备管理-计算机与电子信息学院.ppt
- 六、图书资料-厦门大学东南亚研究中心.doc
- 六、基本焊缝坡口形式.ppt
- 关于分布智能火灾报警系统产品的探讨-88消防网.doc
- 关于《英语单词拼读规则表》的几点说明.doc
- 关于情境导入的案例与认识.doc
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 数学物理方程(谷超豪)课后习题完整解答.pdf VIP
- 索尼rx100说明书介绍.pdf VIP
- pdv-100使用手册数字便携式激光测振仪.pdf VIP
- 剖宫产手术专家共识2023(最新版)---副本.pptx VIP
- 挚驱S2系列伺服说明书V220.pdf
- RAZ-K英语绘本I'D LIKE TO BE(带练习册).pdf VIP
- 关于2025年度组织生活会谈心谈话记录(书记对委员、班子主要负责人与成员)+组织生活会一对一谈心谈话记录(支委之间).pdf VIP
- 农业大棚用光伏系统设计、施工与验收导则.docx VIP
- 材料成形技术基础 第2版.ppt VIP
- 高中生物与生态环保项目式学习跨学科整合课程设计教学研究课题报告.docx
原创力文档

文档评论(0)