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源,主要用于如下情形:

  1. DMA传输GPIO信息
  2. DMA传输从内存到内存
  3. DMA传输从内存到外部总线
  4. 允许软件激活的DMA传输

可以通过软件激活或DMAMUX来开始一个新的传输:

  1. 在单个的minor loop传输所有数据;
  2. 使用明确的软件激活
  3. 使用常开的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)的更多相关文章

  1. k64 datasheet学习笔记1---概述

    1.前言 k64 datasheet描述了Freescale MCU的特性.架构和编程模型,主要是面向使用MCU的系统架构和软件应用开发人员. 2.模块划分 datasheet主要按功能对模块进行划分 ...

  2. k64 datasheet学习笔记45---10/100-Mbps Ethernet MAC(ENET)之功能描述

    1.前言 本文是对K64 datasheet 之ENET部分的功能描述,将对每个部分进行详细说明 2.Ethernet MAC frame formats MAC帧组成格式 (1)7字节前导码:如按最 ...

  3. k64 datasheet学习笔记4---Memory Map

    1.前言 本文主要介绍K64地址空间的映射 2. System Memory Map 3. K64地址映射 4. Armv7m地址映射 4.1 Armv7M.System地址段(0XE0000000~ ...

  4. k64 datasheet学习笔记22---Direct Memory Access Controller (eDMA)

    0.前言 本文主要介绍DMA相关内容 1.简介 DMA模块包含: 1.一个DMA引擎 源和目的地址的计算 数据搬移 2.本地存储的传输控制描述TCD,对于16个传输通道中的每一个各对应一个TCD 1. ...

  5. k64 datasheet学习笔记45---10/100-Mbps Ethernet MAC(ENET)之概述

    1.前言 k64 ENET CORE 实现了10M/100Mbps的Ethernet MAC,与IEEE802.3-2002标准兼容. MAC层与全双工/半双工的10M/100Mbps以太网兼容: M ...

  6. 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 ...

  7. k64 datasheet学习笔记4---Clock distribution

    1.前言 本文主要讲述K64时钟配置相关的内容. 2.clock overview 2.1 clock diagram 2.2 对clock diagram的信号说明 (1)MCG决定哪个clock ...

  8. k64 datasheet学习笔记3---Chip Configuration之Analog

    1.前言 本文主要讲述K64芯片配置,关于模拟部分的内容,主要包括:ADC, CMP, DAC, VREF 2.16bit SAR ADC 从上图可以看出ADC主要挂在外设总线0上,由于ADC的输入引 ...

  9. k64 datasheet学习笔记25--Multipurpose Clock Generator (MCG)

    0.前言 MCG模块为MCU提供了几种可选时钟源.模块包含一个FLL和一个PLL.FLL使用内部或外部参考时钟是可控的,PLL受外部参考时钟控制 模块可以选择FLL或PLL输出时钟,或内/外部参考时钟 ...

随机推荐

  1. sqlServer:行列转换之多行转一行

    1.建表:学生表(姓名,学科,成绩) CREATE TABLE teststudent(    stuname varchar(50) NULL,    subjects varchar(50) NU ...

  2. SpringCloud(9)使用Spring Cloud OAuth2保护微服务系统

    一.简介 OAth2是一个标准的授权协议. 在认证与授权的过程中,主要包含以下3种角色. 服务提供方 Authorization Server. 资源持有者 Resource Server. 客户端 ...

  3. 好的LCT板子和一句话

    typedef long long ll; const int maxn = 400050; struct lct { int ch[maxn][2], fa[maxn], w[maxn]; bool ...

  4. photoshop快速把新照片制作成老照片教学

    原图 步骤1 在photoshop中找开需要处理的图片,Ctrl+J复制图片,得到图片1. 步骤2 单击图层面板底部的创建新的填充或调整图层图标,添加色调/饱和度调整图层.调整它的饱合度和明度. 步骤 ...

  5. Django缓存机制--rest_framework中节流源码使用的就是django提供的缓存api

    一.配置缓存   https://www.jb51.net/article/124434.htm 二.缓存全站.页面.局部   三.自我控制的简单缓存API API 接口为:django.core.c ...

  6. Notepad++ PluginManager安装常用插件

    参考: https://blog.csdn.net/u014611492/article/details/80849211

  7. "unexpected console statement” in Node.js

    .eslintrc.js module.exports = { rules: { 'no-console': 'off', }, };

  8. CSS代码检查工具stylelint

    前面的话 CSS不能算是严格意义的编程语言,但是在前端体系中却不能小觑. CSS 是以描述为主的样式表,如果描述得混乱.没有规则,对于其他开发者一定是一个定时炸弹,特别是有强迫症的人群.CSS 看似简 ...

  9. python之面向对象初识

    一.面向对象初识 1.结构上 面向对象分成两部分:属性.方法 class A: name = 'xiaoming' # 静态属性.静态变量.静态字段. def func1(self): # 函数.动态 ...

  10. ubuntu16.04下sublime text3安装和配置

    ubuntu16.04下sublime text3安装和配置 2018年04月20日 10:31:08 zhengqijun_ 阅读数:1482 1.安装方法 1)使用ppa安装 sudo add-a ...