当前位置:首页 > 单片机 > 单片机
[导读] 1.只有F15/16x具有DMA(Direct Memory Access是一种不经过CPU而直接从内存了存取数据的数据交换模式。)为数据告诉传输提供保证。(例如,利用DMA控制器可以直接将ADC转换存储器的内容传送到RAM中)处理

1.只有F15/16x具有DMA(Direct Memory Access是一种不经过CPU而直接从内存了存取数据的数据交换模式。)为数据告诉传输提供保证。(例如,利用DMA控制器可以直接将ADC转换存储器的内容传送到RAM中)处理数据,而非处理任务。

2.特性:

数据传送无需CPU

块传输可达到65536字节

提高片内外设吞吐能力,每个字或者字节仅需2个MCLK

处理数据是CPU处于低功耗

字节和字可以混合传输

四种传输寻址模式:固定地址到固定地址,固定地址到块地址,块地址到固定地址,块地址到块地址。

触发方式灵活:边沿或电平

单个、块、或突发块传输模式:每次触发DMA操作,可根据需要传输不同模式数据。

3.结构

三个独立的传输通道:0 1 2

可配置的通道优先权:

程序命令控制模块:每个DMA通道开始之前,CPU要编程给定的相关命令和模式控制,以决定DMA通道类型。

可配置的传送触发器:(触发源选择模块,DMAREQ软件触发,TimerA CCR2输出、Timer_BCCR2输出、I2C数据发送准备好、USART接收发送数据、DAC12IFG、AD12模块的ADC12IFGx/DMAxIFG、DMAxIFG、DMAE0外部触发源。触发源扩充能力)。

4.DMA控制器相关操作:

a.选择DMA触发源:

DMAREQ(软件触发,DMA传输开始后该位自动清零)

TACCR2 CCIFG (TACCR2的CCIFG标志位,触发DMA操作(前提CCIE不置位),DMA传输开始后该位自动清零)

TBCCR2 CCIFG(同上)

URXIFG0(UART或SPI)(USART0准备接收新数据时触发DMA操作(前提URXIE0不置位),DMA传输后该位自动清零)

RXTMAEN(I2C)(I2C模式只对USART0 有效,DMA传输后该位不能自动清零)

DAC12_0 DAC12IFG((前提DACIE不置位),该位可以自动清除)

ADC12IFGx (置位标志有模块自动选择,当ADC12单通道上执行单次或重复转换时,ADC12IFGx置位,触发DMA操作。DMA传输后

该位不能自动清零,只有对应的ADC12MEMx被访问该标志才自动清除。用软件置位ADC12IFGx标志不能触发DMA操作)

TACCR0 CCIFG((触发前提:CCIE不置位)DMA传输后该位自动清零)

TBCCR0 CCIFG(同上)

URXIFG0(URXIFG1置位触发,(前提:UTXIE1不置位)DMA传输后该位自动清零)

UTXIFG0(UTXIFG1置位触发,(前提:UTXIE1不置位)DMA传输后该位自动清零)

硬件乘法器准备好,触发DMA

DMAxIFG:(DMA0IFG触发DMA通道1,DMA1IFG触发DMA通道2,DMA1IFG触发DMA通道0,DMA传输后该位不能自动清零)

DMAE0:外部触发标志DMAE0.

b.确定触发信号方式:边沿(0),电平(1) DMALEVEL

c.DMA控制器的寻址:(每个通道寻址方式完全独立)DMASRCINCR源地址 DMADSTINCR目的地址

固定地址到固定地址

固定地址到块地址

块地址到固定地址

块地址到块地址

d.选择DMA传输模式:

单字或者单字节传输

快传输

突发块传输

重复单字或者单字节传输

重复块传输

重复突发块传输

e.CPU暂停传输 DMAONFETCH=0且DMA控制器接收到有效触发信号,CPU进入暂停状态,DMA开始传输。DMAONFETCH=1时在

DMA暂停CPU之前,CPU就结束当前正在进行的指令,开始DMA操作。DMA传输过程中,要完成地址和字节数的设置以及其他控制操作。

f.DMA操作停止方式

NMI中断:NMI中断可以结束DMA操作:设置DMACTL1的ENNMI位。(适用于单字或者单字节模式、块传输模式、突发块传输模式)

清除DMAEN位(突发快传输模式)

g.DMA通道的优先级 DMA0 1 2

(固定优先级:DMA传输过程中不可以被打断,有更高的通道请求时,只有先执行再响

(循环优先级:防止被某一通道单独垄断

(通过ROUNDROBIN设置:1:循环,0:固定、

h.DMA传输周期

DMA控制器可以最大限度的避免程序查询和中断方式中欧冠非数据传输时间,可满足传输率高的外设。

……传输之前需要一个或两个MCLK时钟周期来实现同步

……同步后,每个字或者字节传输仅需要2个MCLK

……每传输结束有一个周期等待时间

若MCLK处于活动状态,CPU关闭,DMA传输直接使用MCLK

若MCLK关闭,DMA用临时DCOCLK启动MCLK时钟源,结束后CPU仍处关闭,MCLK时钟源也关闭

DMA最大周期:表4-27 P211

i.DMA与中断

(1)DMA与系统中断

系统中断不能打断DMA中断。若ENNMI置位NMI中断可以打断DMA传输。DMA事件可以打断中断处理程序(前提:DMA控制

器打开)

(2)DMA控制器中断

条件:DMAxSZ内容减为零(相应的中断标志置位)并且DMAIE,GIE置位

注意:DMA只有一个中断向量,并且这个中断向量和DAC12模块公用。软件检查DMAIFG和DAC12IFG,这样才能判断中断源。

DMAIFG不能自动复位,有软件来

5.DMA寄存器:(硬件结构是字结构,必须用字指令来访问)

控制寄存器0 :选择触发源

控制寄存器1 :DMAONFETCH:传输开始时间。ROUNDROBIN:选择优先级管理方式。ENNMINMI:NMI是否中断DMA操作

通道0 1 2 控制寄存器(传输模式选择、目的地址增减控制位、传输源地址增减控制位、目的单元基本单位、源单元基本单位、触发源有效方式、模块使能、中断标志、中断允许、是否被NMI中断、DMA请求位)

通道0 1 2 源地址寄存器:存放起始源地址

通道0 1 2 目的地址寄存器:存放目的地址

通道0 1 2 传输长度寄存器:没传送一个字或者字节DMAxSZ减量,为零时自动装入初值

6.使用:

设置触发源

源地址

目的地址

传输单元个数


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

TrustFLEX 器件搭配可信平台设计套件,将简化从概念到生产的信任根启用过程,适用于广泛的应用领域

关键字: 控制器 闪存器件 SoC

为增进大家对压差控制器的认识,本文将对压差控制器、压差控制器原理、压差控制器的调试予以介绍。

关键字: 控制器 指数 压差控制器

无线双位充电设计通过单个控制器同时支持扩展功率协议(EPP)和磁功率协议(MPP)

关键字: 控制器 充电器 发射器

一直以来,单片机都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来单片机的相关介绍,详细内容请看下文。

关键字: 单片机 控制器

以下内容中,小编将对语音识别的相关内容进行着重介绍和阐述,希望本文能帮您增进对语音识别的了解,和小编一起来看看吧。

关键字: 语音识别 控制器

配套的支持工具生态系统可帮助简化电机控制系统的开发,并加快产品上市

关键字: 栅极驱动器 控制器 电机驱动器

【2024年2月21日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)宣布其SLI37系列汽车安全控制器获得了ISO/SAE 21434汽车网络安全管理体系认证。英飞凌是业内首家获...

关键字: 控制器 车联网 安全芯片

知行科技iDC High是一款最新的高性能被动冷却型域控制器,使高级驾驶和泊车的安全性和舒适性应用更适合大众车型

关键字: 控制器 人工智能 处理器

人工智能的快速发展正在引发数据中心的深入变革;计算密集型工作负载对CPU、加速器和存储之间的低延迟、高带宽连接提出了前所未有的高要求。Compute Express Link®(CXL®)互连技术为数据中心的性能和效率提...

关键字: 数据中心 控制器 人工智能
关闭
关闭