k64 datasheet学习笔记21--Direct Memory Access Multiplexer (DMAMUX)
0.前言
本章主要介绍DMA MUX的相关内容
1.简介
1.1 概述
用来路由DMA源到16路DMA通道:

1.2 特性
1.52个外设slot和10个常开slot可以路由到16路DMA通道
2.16个独立的可选的DMA通道路由,其中前4个通道提供周期触发功能
3.每个DMA通道可以路由指定给52个slot和10个常开slot的任意一个
1.3 操作模式
1.disable模式
DMA通道被禁用
2.normal模式
一个DMA源被路由到一个特定的DMA通道
3.周期触发模式
一个DMA源只能请求一个DMA传输,周期性配置在PIT寄存器中配置,这种模式只适用于通道0~3
2 外部信号描述
无外部信号
3 内存映射/寄存器定义
通道配置寄存器(DMAMUX_CHCFGn):每个DMA通道可以独立的使能禁用,在改变触发或源设置前必须通过CHCFGn[ENBL]来禁用相关通道
4 功能描述
DMAMUX通道可以分为两类:
实现通常的路由功能+周期触发;
只实现通常路由功能
4.1 带有周期性触发功能的DMA通道
通过配置PIT来配置周期性触发。

只有触发事件到来外设的DMA请求才能gate到DMA

如果外设无DMA请求,triggering将被忽略

triggering可以用于任何支持DMA传输的外设,大部分包含两种类型:
(1) 通过总线周期性轮询外部设备
如SPI可实现每隔5us自动将内存的数据通过DMA搬移到SPI中,也可以每隔5us将SPI接收到的数据通过DMA搬移到内存中
(2)使用GPIO来驱动波形或采集波形
4.2 不带有触发功能的DMA通道
4.3 总是使能的DMA源
除了外设DMA源,还有10路常开的DMA源,主要用于如下情形:
- DMA传输GPIO信息
- DMA传输从内存到内存
- DMA传输从内存到外部总线
- 允许软件激活的DMA传输
可以通过软件激活或DMAMUX来开始一个新的传输:
- 在单个的minor loop传输所有数据;
- 使用明确的软件激活
- 使用常开的DMA源,由MUX来完成再激活
5 初始化/应用信息
提供DMA初始化的信息
5.1 reset
reset后所有通道被禁用,使用前需要使能
5.2 使能配置源
为了使能带有周期触发的源,需要作如下操作:
1.决定DMA源采用哪个DMA通道(前4个才有周期触发功能);
2.通过清空CHCFG[ENBL] and CHCFG[TRIG] 禁用对应的DMA通道和DMA通道触发功能;
3.确保DMA通道在DMA相关寄存器中正确配置,此时DMA通道可以使能;
4.配置对应的定时器
5.选择与DMA通道关联的源,并使能DMA通道和DMA通道触发
k64 datasheet学习笔记21--Direct Memory Access Multiplexer (DMAMUX)的更多相关文章
- k64 datasheet学习笔记1---概述
1.前言 k64 datasheet描述了Freescale MCU的特性.架构和编程模型,主要是面向使用MCU的系统架构和软件应用开发人员. 2.模块划分 datasheet主要按功能对模块进行划分 ...
- k64 datasheet学习笔记45---10/100-Mbps Ethernet MAC(ENET)之功能描述
1.前言 本文是对K64 datasheet 之ENET部分的功能描述,将对每个部分进行详细说明 2.Ethernet MAC frame formats MAC帧组成格式 (1)7字节前导码:如按最 ...
- k64 datasheet学习笔记4---Memory Map
1.前言 本文主要介绍K64地址空间的映射 2. System Memory Map 3. K64地址映射 4. Armv7m地址映射 4.1 Armv7M.System地址段(0XE0000000~ ...
- k64 datasheet学习笔记22---Direct Memory Access Controller (eDMA)
0.前言 本文主要介绍DMA相关内容 1.简介 DMA模块包含: 1.一个DMA引擎 源和目的地址的计算 数据搬移 2.本地存储的传输控制描述TCD,对于16个传输通道中的每一个各对应一个TCD 1. ...
- k64 datasheet学习笔记45---10/100-Mbps Ethernet MAC(ENET)之概述
1.前言 k64 ENET CORE 实现了10M/100Mbps的Ethernet MAC,与IEEE802.3-2002标准兼容. MAC层与全双工/半双工的10M/100Mbps以太网兼容: M ...
- k64 datasheet学习笔记52---Universal Asynchronous Receiver/Transmitter (UART)
1.前言 UART实现与外设或CPU的通信 2. UART概述 2.1基本特性 (1)Full-duplex operation (2)Standard mark/space non-return-t ...
- k64 datasheet学习笔记4---Clock distribution
1.前言 本文主要讲述K64时钟配置相关的内容. 2.clock overview 2.1 clock diagram 2.2 对clock diagram的信号说明 (1)MCG决定哪个clock ...
- k64 datasheet学习笔记3---Chip Configuration之Analog
1.前言 本文主要讲述K64芯片配置,关于模拟部分的内容,主要包括:ADC, CMP, DAC, VREF 2.16bit SAR ADC 从上图可以看出ADC主要挂在外设总线0上,由于ADC的输入引 ...
- k64 datasheet学习笔记25--Multipurpose Clock Generator (MCG)
0.前言 MCG模块为MCU提供了几种可选时钟源.模块包含一个FLL和一个PLL.FLL使用内部或外部参考时钟是可控的,PLL受外部参考时钟控制 模块可以选择FLL或PLL输出时钟,或内/外部参考时钟 ...
随机推荐
- sqlServer:行列转换之多行转一行
1.建表:学生表(姓名,学科,成绩) CREATE TABLE teststudent( stuname varchar(50) NULL, subjects varchar(50) NU ...
- SpringCloud(9)使用Spring Cloud OAuth2保护微服务系统
一.简介 OAth2是一个标准的授权协议. 在认证与授权的过程中,主要包含以下3种角色. 服务提供方 Authorization Server. 资源持有者 Resource Server. 客户端 ...
- 好的LCT板子和一句话
typedef long long ll; const int maxn = 400050; struct lct { int ch[maxn][2], fa[maxn], w[maxn]; bool ...
- photoshop快速把新照片制作成老照片教学
原图 步骤1 在photoshop中找开需要处理的图片,Ctrl+J复制图片,得到图片1. 步骤2 单击图层面板底部的创建新的填充或调整图层图标,添加色调/饱和度调整图层.调整它的饱合度和明度. 步骤 ...
- Django缓存机制--rest_framework中节流源码使用的就是django提供的缓存api
一.配置缓存 https://www.jb51.net/article/124434.htm 二.缓存全站.页面.局部 三.自我控制的简单缓存API API 接口为:django.core.c ...
- Notepad++ PluginManager安装常用插件
参考: https://blog.csdn.net/u014611492/article/details/80849211
- "unexpected console statement” in Node.js
.eslintrc.js module.exports = { rules: { 'no-console': 'off', }, };
- CSS代码检查工具stylelint
前面的话 CSS不能算是严格意义的编程语言,但是在前端体系中却不能小觑. CSS 是以描述为主的样式表,如果描述得混乱.没有规则,对于其他开发者一定是一个定时炸弹,特别是有强迫症的人群.CSS 看似简 ...
- python之面向对象初识
一.面向对象初识 1.结构上 面向对象分成两部分:属性.方法 class A: name = 'xiaoming' # 静态属性.静态变量.静态字段. def func1(self): # 函数.动态 ...
- ubuntu16.04下sublime text3安装和配置
ubuntu16.04下sublime text3安装和配置 2018年04月20日 10:31:08 zhengqijun_ 阅读数:1482 1.安装方法 1)使用ppa安装 sudo add-a ...