打印
[PIC®/AVR®/dsPIC®产品]

DMA配置技能入门

[复制链接]
458|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
玛尼玛尼哄|  楼主 | 2023-8-13 16:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
直接存储器访问(Direct Memory Access,DMA)外设是一个以字节为单位传输数据的系统,可以将数据从闪存程序存储器、数据 EEPROM、通用寄存器(General Purpose Registers,GPR)和特殊功能寄存器(Special FunctionRegisters,SFR)复制到通用或特殊功能寄存器。传输对 CPU 而言是透明的,可以配置为将传输与处理器操作交错进行,或暂停处理器的操作,直到 DMA 传输完成。
DMA 传输可以通过软件和各种 CIP 触发信号来触发,包括时钟、定时器输出、比较器、通信外设以及 CLC。DMA 传输可以只执行一次,也可以配置为连续执行,直到通过软件干预或基于硬件 CIP 的中止触发而停止。配置 DMA 外设涉及几个步骤,这对于不熟悉外设的设计人员来说,可能会有些困惑。本技术简介将涵盖通用配置过
程,并重点说明多个可用选项。
要配置 DMA 外设,需要配置以下段:
• 源和目标存储器地址
• 源和目标报文大小
• DMA 触发事件
• DMA 中止事件(可选)
• DMA 自动化
• DMA 中断(可选)
• DMA 优先级和整个 DMA 外设的使能
此外还有一个结束段,其中包含可用于监视 DMA 进度的各种状态位和寄存器。
源和目标存储器地址包括地址和存储器类型;EEPROM、闪存程序存储器或 SFR/GPR 数据存储器。

配置 DMA 外设.pdf (431.22 KB)

使用特权

评论回复
沙发
玛尼玛尼哄|  楼主 | 2023-8-13 16:40 | 只看该作者
源和目标大小是一条报文中的字节数。每个字节被视为一个事务,响应触发信号而发生的一组事务视为一条报文,一
组报文被视为 DMA 操作。大小变量是指构成一条报文的事务数量。例如:
• 从串口 Rx 寄存器向数据缓冲区传输数据,源大小为 1,目标大小等于缓冲区大小。
• 从数据缓冲区向串行 Tx 寄存器传输数据,源大小等于缓冲区大小,目标大小为 1。
• 从数据缓冲区向 16 位 PWM 占空比寄存器传输数据,源大小等于缓冲区大小,目标大小为 2。
DMA 触发事件既可以是软件触发,也可以是基于 CIP 的硬件触发,例如定时器计满返回、比较器输出或利用 CLC 功
能实现的组合信号。DMA 中止事件也是如此,它同样有软件和基于 CIP 的硬件选项。

使用特权

评论回复
板凳
forgot| | 2023-8-15 08:48 | 只看该作者
DMA外设是一个以字节为单位传输数据的系统,可以将数据从闪存程序存储器、数据 EEPROM、通用寄存器和特殊功能寄存器复制到通用或特殊功能寄存器。

使用特权

评论回复
地板
lcczg| | 2023-8-17 11:01 | 只看该作者
本帖最后由 lcczg 于 2023-8-17 11:06 编辑
xxrs 发表于 2023-8-13 19:43
DMA 中止事件是什么?

传输数据个数达到,例如传输8个字节。传输完毕结束。另外硬件中断信号也可以停止DAM。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

179

主题

3127

帖子

2

粉丝