当前位置:首页 > 单片机 > 单片机
[导读] 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.使用:

设置触发源

源地址

目的地址

传输单元个数


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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭