请选择 进入手机版 | 继续访问电脑版

芯虎论坛

 找回密码
 立即注册
查看: 2218|回复: 0

华大单片机HC32F460 系列的 DMA 控制器(一)

[复制链接]

34

主题

34

帖子

138

积分

虎头虎脑

Rank: 2

积分
138
发表于 2021-11-1 10:13:41 | 显示全部楼层 |阅读模式
1摘要
本篇应用笔记主要介绍如何使用 HC32F460 系列芯片的 DMA 模块传输数据。
2DMA 简介
什么是 DMA
DMA(直接内存访问控制器)功能块可以不通过 CPU 高速传输数据。使用DMA 能提高系统性能。
DMA 的重要特征?
DMA 独立于 CPU 总线的总线,所以即便是在使用 CPU 总线的时候, DMA 也可进行传输操作。
3、华大HC32F460 系列的 DMA
3.1 简介
HC32F460 系列 MCU 内部集成 DMAC 模块,能够在 CPU 不参与的情况下实现存储器之间,存储器和外围功能模块之间以及外围功能模块之间的数据交换。
3.2 说明
DMAC 总线独立于 CPU 总线,按照 AMBA AHB-Lite 总线协议传输。
拥有 2 DMA 控制单元,共 8 个独立通道,可以独立操作不同的 DMA 传输功能。两个控制单元受不同处理器控制,可以同时独立使用。每个通道的启动资源通过独立的触发源选择寄存器配置。每次请求传输一个数据块,数据块最小为1 个数据,最多为 1024 个数据。每个数据的宽度可配置为 8bit16bit32bit。源地址和目标地址可以独立配置为固定、自增、自减、循环或偏移量的跳转。可产生 3 种中断:块传输完成中断,传输完成中断,传输错误中断。每种中断都可配置是否屏蔽。其中块传输完成,传输完成可作为事件输出,作为其他外围模块的触发源。支持连锁传输功能,可实现一次请求传输多个数据块。支持外部事件触发通道重置。不使用时可设置进入模块停止状态以降低功耗。
3.2.1 寄存器介绍
1) DMA_ENDMA 使能寄存器,使能或关闭 DMA 模块。
2) DMA_CHEN:通道使能寄存器,使能或关闭 DMA 通道,bit0~3 分别对应一个通道。
3) DMA_INSTAT0~1:中断状态寄存器(传输请求溢出错误中断、传输错误中断、块传输完成中断、传输完成中断)。
4) DMA_INTMASK0~1:中断屏蔽寄存器,配置各中断是否屏蔽。
5) DMA_INTCLR0~1:中断复位寄存器,清空中断状态标志位。
6) DMA_RCFGCTL:通道重置寄存器,配置 DMA 重置后的相关参数,包括:剩余传输次数计数方式、目标/源地址重置方式、通道选择、链式传输等。
7) DMA_CHSTAT:通道状态观测寄存器。
8) DMA_TRGSEL0~3:触发源选择寄存器,配置各通道启动传输的触发源,配置前需打开PWR_FCG0 寄存器的 AOS 位。
9) DMA_TRGSELRC:通道重置触发源选择寄存器,配置启动通道重置的触发源。
10) DMA_SAR0~3:源地址寄存器,配置传输源地址。
11) DMA_DAR0~3:目标地址寄存器,配置传输目标地址。
12) DMA_DTCTL0~3:数据控制寄存器,配置传输次数和数据块大小。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|芯虎论坛 ( 辽ICP备18019618号 )

GMT+8, 2022-8-13 01:32 , Processed in 0.170929 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表