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输出时钟,或内/外部参考时钟 ...
随机推荐
- 【Api】easy-mock在线api
解决 在使用easy-mock模拟post提交数据的情况中,我们有时需要对提交的数据进行简单逻辑处理.查阅文档发现可以使用"_req.body.keyname"来获取相应的值,但是 ...
- 基于 HTML5 WebGL 的 3D 工控裙房系统
前言 工业物联网在中国的发展如火如荼,网络基础设施建设,以及工业升级的迫切需要都为工业物联网发展提供了很大的机遇.中国工业物联网企业目前呈现两种发展形式并存状况:一方面是大型通讯.IT企业的布局:一方 ...
- AttributeError: Got AttributeError when attempting to get a value for field `password2` on serializer ` UserSerializer`...
Error_msg: AttributeError: Got AttributeError when attempting to get a value for field `password2` o ...
- 30分钟了解Springboot整合Shiro
项目结构截图: 项目在结构上没有任何特殊之处,基本就是MVC的传统结构重点需要关注的是3个Entity类.2个Controller类和1个Config类. 首先,提供pom的完整文档结构: <p ...
- 家庭记账本小程序之改(java web基础版五)
实现修改消费账单 1.main_left.jsp中该部分,调用Servlet中的list方法 2.Servlet中的list方法,调用Dao层的list方法,跳转到list.jsp页面 3.Dao层的 ...
- docker(七) 使用dockerfile-maven-plugin插件构建docker镜像
在dockerfile-maven-plugin插件出现之前,还有一个maven插件是docker-maven-plugin,是由同一个作者创造,作者明确表示推荐使用dockerfile-maven- ...
- Flutter之Color
color:颜色Colors.green ,系统默认了几种颜色,分别如下: red, pink, purple, deepPurple, indigo, blue, lightBlue, cyan, ...
- poj3436(拆点最大流)
题意:给你p和n,p代表每台计算器需要几个部分组成,n代表有几个组装机器,接下来n行,每行第一个数代表这台机器能够每小时组装几台,剩下前三个数字表示使用这台机器需要的前置条件(0代表当前组装不能有这个 ...
- linux服务端日志中截取自己所需要的部分
近期开发一个图片处理的业务,涉及base64字符串解析的问题,为方便与友商间接口调试,日志中保存Base64.日,想想就肝儿疼,记录下来容易,取的时候难.为准确提取,配合两条命令即可. 1.获取日志所 ...
- 平衡树splay学习笔记#1
这一篇博客只讲splay的前一部分的操作(rotate和splay),后面的一段博客咕咕一段时间 后一半的博客地址:[传送门] 前言骚话 为了学lct我也是拼了,看了十几篇博客,学了将近有一周,才A掉 ...