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输出时钟,或内/外部参考时钟 ...
随机推荐
- 六招轻松搞定你的CentOS系统安全加固
Redhat是目前企业中用的最多的一类Linux,而目前针对Redhat攻击的黑客也越来越多了.我们要如何为这类服务器做好安全加固工作呢? 一. 账户安全 1.1 锁定系统中多余的自建帐号 检查方 ...
- Centos6.6安装docker
今天在虚拟机上体验一下docker, 操作系统:Centos6.6 内核版本:2.6 1. https://download.csdn.net/download/dujiaoyang000/10872 ...
- Python——使用Pycharm连接数据库
- Spring MVC 使用介绍(八)—— 类型转换
一.概述 spring类型转换有两种方式: PropertyEditor:可实现String<--->Object 之间相互转换 Converter:可实现任意类型的相互转换 类型转换的过 ...
- BATCH+VBS脚本自动执行命令
打开cmd,然后执行run.bat s 1就会执行tmpsw.vbs的内容,1是作为id传进去的参数. run.bat: @echo off set type=%1 set id=%2 :打开一个te ...
- 洛谷P1258 小车问题(题解)
https://www.luogu.org/problemnew/show/P1258(题目传送) 看题的第一眼就把题归为二分题,一直向着二分的方向走,却忽略了数学的推理.推理一番后(看了题解),发现 ...
- 分布式监控系统开发【day37】:填充表配置项目(三)
一.注册站点初始化数据库 1.目录结构 2.初始化数据库 python3 manage.py makemigrations python3 manage.py migrate #django2.0之前 ...
- CMDB服务器管理系统【s5day88】:采集资产之Agent、SSH和Salt模式讲解
在对获取资产信息时,简述有四种方案. 1.Agent (基于shell命令实现) 原理图 Agent方式,可以将服务器上面的Agent程序作定时任务,定时将资产信息提交到指定API录入数据库 优点: ...
- 金融量化分析【day112】:股票数据分析Tushare2
目录 1.使用tushare包获取某股票的历史行情数据 2.使用pandas包计算该股票历史数据的5日局限和60日均线 3.matplotlib包可视化历史数据的收盘价和历史均线 4.分析输出所有金叉 ...
- 第一次连接数据库mongodb踩的坑
类型匹配错误,参数要写对了,name与age一一对应. 如果没找到错误就把异常打印出来. await person.save(function(err) { if(err) console.log(e ...