选择特殊符号
选择搜索类型
请输入搜索
有两类主要的DMA传输结构:寄存器模式和描述符模式。无论属于哪一类DMA,表1的几种信息都会在DMA控制器中出现。当DMA以寄存器模式工作时,DMA控制器只是简单地利用寄存器中所存储的参数值。在描述符模式中,DMA控制器在存储器中查找自己的配置参数。
(1)基于寄存器的DMA
在基于寄存器的DMA内部,处理器直接对DMA控制寄存器进行编程,来启动传输。基于寄存器的DMA提供了最佳的DMA控制器性能,因为寄存器并不需要不断地从存储器中的描述符上载入数据,而内核也不需要保持描述符。基于寄存器的DMA由两种子模式组成:自动缓冲(Autobuffer)模式和停止模式。在自动缓冲DMA中,当一个传输块传输完毕,控制寄存器就自动重新载入其最初的设定值,同一个DMA进程重新启动,开销为零。如果将一个自动缓冲DMA设定为从外设传输一定数量的字到 L1数据存储器的缓冲器上,则DMA控制器将会在最后一个字传输完成的时刻就迅速重新载入初始的参数。这构成了一个“循环缓冲器”,因为当一个量值被写入 到缓冲器的最后一个位置上时,下一个值将被写入到缓冲器的第一个位置上。
自动缓冲DMA特别适合于对性能敏感的、存在持续数据流的应用。DMA控制器可以在独立于处理器其他活动的情况下读入数据流,然后在每次传输结束时,向内核发出中断。
停止模式的工作方式与自动缓冲DMA类似,区别在于各寄存器在DMA结束后不会重新载入,因 此整个DMA传输只发生一次。停止模式对于基于某种事件的一次性传输来说十分有用。例如,非定期地将数据块从一个位置转移到另一个位置。当你需要对事件进 行同步时,这种模式也非常有用。例如,如果一个任务必须在下一次传输前完成的话,则停止模式可以确保各事件发生的先后顺序。此外,停止模式对于缓冲器的初 始化来说非常有用。
(2)描述符模型
基于描述符(descriptor)的DMA要求在存储器中存入一组参数,以 启动DMA的系列操作。该描述符所包含的参数与那些通常通过编程写入DMA控制寄存器组的所有参数相同。不过,描述符还可以容许多个DMA操作序列串在一 起。在基于描述符的DMA操作中,我们可以对一个DMA通道进行编程,在当前的操作序列完成后,自动设置并启动另一次DMA传输。基于描述符的方式为管理 系统中的DMA传输提供了最大的灵活性 。
DMAC可以在两种模式下运行:无描述符存取模式和描述符存取模式。模式的选取由DCSRx[NODESCFETCH]位决定。同样在同一时间内,不同的通道里可以分别使用这两种模式。通道在转换运行模式之前必须停止数据处理。如果出现错误,则通道停留在停止状态,等待程序处理。
(1)无描述符存取模式
在无描述符存取模式下,DDADRx被保留。程序不可以向DDADRx中写入数据,并且必须加载DSADRx、DTADRx和DCMDx寄存器。当运行位被设置,DMAC立刻运行以传输数据。无描述符存取在数据传输的开始时被执行。
一个典型的无描述符存取操作顺序如下。
1)复位后,通道处于未初始化状态。
2)设置DCSR[RUN]位为0,设置DCSR[NODESCFETCH]位为1。
3)程序将源地址写入DSADR寄存器,将目标地址写入DTADR寄存器,将命令写入DCMD寄存器。
4)向DCSR[RUN]位中写入1,然后无描述符存取被执行。
5)通道等待数据传输请求。
6)通道传输数据,数据量由DCMD[SIZE]和DCMD[LENGTH]较小者决定。
7)在DCMD[LENGTH]被设置为0之前,通道等待下一次数据请求。
8)DDADR[STOP]被设置为1,通道运行终止。
(2) 有描述符存取模式
在有描述符存取模式下,DMAC的寄存器用内存中的DMA描述符数据填充。多个DMA描述符可以被链成一个链表。这就允许DMA通道在一系列不连续的地址上进行数据传输。一个典型的有描述符存取模式的操作步骤如下。
1)复位后,通道处于未初始化状态。
2)程序将描述符地址(16字节对齐)写入DDADR寄存器。
3)程序向DCSR[RUN]中写入1。
4)DMAC从DDADR标记的地址中读取4字长的描述符,其中各字加载情况如下:
· Word [0] -> DDADRx寄存器;
· Word [1] -> DSADRx寄存器;
· Word [2] -> DTADRx寄存器;
· Word [3] -> DCMDx寄存器。
5)通道等待数据传输请求。
6)通道传输数据,数据量由DCMD[SIZE]和DCMD[LENGTH]较小者决定。
7)在DCMD[LENGTH]被设置为0之前,通道等待下一次数据请求。
8)DDADR[STOP]被设置为1,通道运行终止,否则继续运行 。
DMA既可以指内存和外设直接存取数据这种内存访问的计算机技术,又可以指实现该技术的硬件模块(对于通用计算机PC而言,DMA控制逻辑由CPU和DMA控制接口逻辑芯片共同组成,嵌入式系统的DMA控制器内建在处理器芯片内部,一般称为DMA控制器,DMAC)。
值得注意的是,通常只有数据流量较大(kBps或者更高)的外设才需要支持DMA能力,这些应用方面典型的例子包括视频、音频和网络接口 。
单片机里的DMA是什么意思啊,有款单片机说具有DMA控制器,中的DMA是什么意思啊?
DMA就是直接存储器访问的首字母缩写(Direct Memory Access)。CPU的总线上同时会挂着多几个存储器,如果想要将存储器1的内容复制到存储器2,如果不用DMA的话,就得靠CPU直接去操...
微控制器,简单来说就是微型或小型控制器。基本是指由单片机为核心的控制单元,及外部电路组成的控制器。单片机为核心的控制器优点就是开发流程短,可编程,成本低。适用于普通的工业控制,比如简单的信号、简单的逻...
ZN551只是个控制模块 给你个价格单吧,你看看是不是还得报其他东西,这个是全套的,里面有你要的价。 (单击一下图可放大看)
一般而言,DMA控制器将包括一条地址总线、一条数据总线和控制寄存器。高效率的DMA控制器将具有访问其所需要的任意资源的能力,而无须处理器本身的介入,它必须能产生中断。最后,它必须能在控制器内部计算出地址。
一个处理器可以包含多个DMA控制器。每个控制器有多个DMA通道,以及多条直接与存储器站(memory bank)和外设连接的总线,如图1所示。在很多高性能处理器中集成了两种类型的DMA控制器。第一类通常称为“系统DMA控制器”,可以实现对任何资源(外设和存储器)的访问,对于这种类型的控制器来说,信号周期数是以系统时钟(SCLK)来计数的,以ADI的Blackfin处理器为 例,频率最高可达133MHz。第二类称为内部存储器DMA控制器(IMDMA),专门用于内部存储器所处位置之间的相互存取操作。因为存取都发生在内部 (L1-L1、L1-L2,或者L2-L2),周期数的计数则以内核时钟(CCLK)为基准来进行,该时钟的速度可以超过600MHz。
每个DMA控制器有一组FIFO,起到DMA子系统和外设或存储器之间的缓冲器的作用。对于MemDMA(Memory DMA)来说,传输的源端和目标端都有一组FIFO存在。当资源紧张而不能完成数据传输的话,则FIFO可以提供数据的暂存区,从而提高性能。
因为你通常会在代码初始化过程中对DMA控制器进行配置,内核就只需要在数据传输完成后对中断做出响应即可。你可以对DMA控制进行编程,让其与内核并行地移动数据,而同时让内核执行其基本的处理任务—那些应该让它专注完成的工作。
DMA控制器是内存储器同外设之间进行高速数据传送时的硬件控制电路,是一种实现直接数据传送的专用处理器,它必须能取代在程序控制传送中由CPU和软件所完成的各项功能;它的主要功能是:
(1)DMAC同外设之间有一对联络信号线——外设的DMA请求信号DREQ以及 DMAC向外设发出的DMA响应信号DACK;
(2)DMAC在接收到DREQ后,同CPU之间也有一对联络信号线——DMAC向CPU 发出总线请求信号(HOLD或BUSRQ),CPU在当前总线周期结束后向DMAC发出总线响应信号(HLDA或BUSAK),DMAC接管对总线的控制权,进入DMA操作方式;
(3)能发出地址信息,对存储器寻址,并修改地址指针,DMAC内部必须有能自动加1或减1的地址寄存器;
(4)能决定传送的字节数,并能判断DMA传送是否结束。DMA内部必须有能自动减1的字计数寄存器,计数结束产生终止计数信号;
(5)能发出DMA结束信号,释放总线,使CPU恢复总线控制权;
(6)能发出读、写控制信号,包括存储器访问信号和I/O访问信号。DMAC内部必须有时序和读写控制逻辑。 有些DMAC芯片和模块在这些基本功能的基础上还增加了一些新的功能。如:在DMA传送结束时产生中断请求信号;在传送完一个字节数后输出一个脉冲信号,用于记录已传送的字节数、为外部提供周期性的脉冲序列;在一个数据块传送完后能自动装入新的起始地址和字节数,以便重复传送一个数据块或将几个数据块链接起来传送;产生两个存储器地址,从而实现存储器与存储器之间的传送以及能够对I/O设备寻址,实现I/O设备与I/O设备之间的传送以及能够在传送过程中检索某一特定字节或者进行数据检验等等。
一个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提出中断报告。
ddc控制器
HW-BA5201 控制模块 概 述 .HW-BA5201 DDC 控制模块是智能楼宇控制系统的一部分,它采用 LONWORKS 现场总线 技术与外界进行通讯, 具有网络布线简单、 易于维护等特点。 它可完成对楼控系统及各种工 业现场标准开关量信号与模拟量信号的采集,并且对各种模拟量以及开关量设备进行控制。 特 点 l 具有 11路通用输入端口, 可采集多种类型的模拟量信号与不同电平的开关量信号, 并对 其进行不同方式的处理: 对于模拟量信号输入, 可对其进行滤波以及非线性矫正; 对于开关 量信号输入,可通过软件将其配置成直接输入、延时 输入、触发输入、计时、计数、测频 率等模式。 l 具有 4路开关量输出端口,通过插针跳线和软件配置,可将各通道配置成直接输出、延 时输出、脉冲输出、单稳输出、触发输出、脉宽调制输出等多种形式的开关量控制信号。具 有手动强制输出按钮及输出指示
广域阻尼控制器和STATCOM控制器协调设计
为了改善互联电力系统阻尼,研究了广域阻尼控制器和静止同步补偿器(STATCOM)的控制器参数全局优化方法。首先介绍了广域阻尼控制器和STATCOM及其控制器数学模型,然后描述了改进的细菌觅食优化(BFO)算法。用Matlab编程,按BFO方法优化控制器参数以使ITSE型适应度值最小。适应度值是通过解电力系统微分-代数方程求得。10机39母线新英格兰系统被用于测试协调设计方法。仿真测试表明,广域阻尼控制器和STATCOM控制器的协调设计能增强电力系统动态稳定性。
--24个外部中断端口;
--多路输入/输出口。
--3个带DMA和中断的UART;
--支持5位、6位、7位、8位串行数据传送/接受;
--当传送/接受时支持双向握手;
--可编程波特率;
--支持IrDA1.0(115.2kbps);
--支持回环测试模式;
--每个通道由16字节TX FIFO和16字节RX FIFO。
--4录DMA控制器;
--支持I/O到存储器、存储器到I/O以及I/O到I/O;
--突发传送模式提高了FPDRAM、EDODRAM和SDRAM的传送率。
--8通道10位ADC;
--转换速率最大为500kbps。
--支持3种类型STN LCD:4位双扫描、4位单扫描和8位单扫描;
--STN LCD支持单色显示、4级灰度、16级灰度、256色彩色和4096色;
--彩色TFT支持1/2/4/8bpp(位每点)剪贴板彩色显示;
--最大支持24bpp模式16M彩色TFT;
--STN和TFT支持多种屏幕尺寸。
--1个带中断的多主机IIC总线;
--支持MSB数据格式。
--1个带DMA的音频IIS总线接口;
--支持MSB数据格式。
--与SD存储卡协议版本1.0兼容;
--与SDIO卡协议版本1.0兼容;
--与MMC存储协议版本2.11兼容;
--基于DMA或者中断的操作;
--支持TX/RX FIFO。
--2通道与SPI协议版本2.11兼容的SPI接口;
--TX/RX 2字节移位寄存器;
--基于DMA或者中断的操作。
第一章微型计算机接口技术基础
第一节微型计算机的组成
第二节微型计算机的接口
习题一
第二章微型计算机中断系统
第一节中断系统的基本概念
第二节D0s和B10s系统的中断功能调用
习题二
第三章输入/输出(I/O)接口技术
第一节I/0接口的基本概念
第二节I/0接口的编址方式与地址分配
第三节I/0接口的传送控制方式
第四节82C37ADMA控制器简介
习题三
第四章鼠标器接口技术
第一节鼠标器的基本概念
第二节鼠标器接口技术的应用
习题四
第五章键盘接口技术
第一节键盘的基本概念
第二节键盘接口技术的应用
习题五
第六章串行接口与打印机接口技术
第一节串行接口技术
第二节打印机接口技术
习题六
第七章视频显示接口技术
第一节视频显示接口的基本概念
第二节3D图形技术
第三节AGP显示接口技术
第四节视频采集卡和电视卡
习题七
第八章通用串行总线(USB)接口技术
第一节usB接口的基本概念
第二节usB接口技术应用
第三节网卡
习题八
第九章声卡接口技术
第一节声卡接口的基本概念
第二节常见声卡简介
习题九
参考文献
I/O接口的功能是负责实现CPU通过系统总线把I/O电路和外围设备联系在一起,按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类:
(1)I/O接口芯片
这些芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时计数器、中断控制器、DMA控制器、并行接口等。
(2)I/O接口控制卡
由若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。
按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。