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通道触发

转载于:https://www.cnblogs.com/smartjourneys/p/8489103.html

k64 datasheet学习笔记21--Direct Memory Access Multiplexer (DMAMUX)相关推荐

  1. k64 datasheet学习笔记35---Analog-to-Digital Converter (ADC)

    0.前言 本文主要介绍K64的ADC部分的特性,内部架构,信号描述及操作接口等 1.简介 1.1.ADC模块特性 线性逐次逼近算法,达16bit分辨率 达到4对差分和24个单端模拟量输入 输出模式 差 ...

  2. k64 datasheet学习笔记12---System Integration Module (SIM)

    1.前言 Features of the SIM include: System clocking configuration (1)System clock divide values (2) Ar ...

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

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

  4. k64 datasheet学习笔记26--Oscillator (OSC)

    1.前言 OSC模块是一个晶体振荡器. 该模块使用晶体或谐振器与外部连接,为MCU产生一个参考时钟. 主要为下图红色框住的部分 2.特性和模式 Supports 32 kHz crystals (Lo ...

  5. k64 datasheet学习笔记3---Chip Configuration之System modules

    1.前言 本文主要介绍芯片配置的系统模块的内容 2.SIM配置 TODO 3.SMC配置 TODO 4.PMC配置 TODO 5.LOW-LEAKAGE WAKEUP单元配置 TODO 6.MCM配置 ...

  6. Xilinx AXI Central Direct Memory Access (CDMA)手册笔记

    官方手册地址:https://china.xilinx.com/support/documentation/ip_documentation/axi_cdma/v4_1/pg034-axi-cdma. ...

  7. ARMV8 datasheet学习笔记3:AArch64应用级体系结构

    1.前言 本文主要从应用的角度介绍ARMV8的编程模型和存储模型 2. AArch64应用级编程模型 从应用的角度看到的ARM处理器元素: 可见的元素(寄存器/指令) 说明 可见的寄存器 R0-R30 ...

  8. Remote Direct Memory Access (RDMA)

    前言 本博文主要是简单介绍RDMA的概念和与它相关的技术.实现RDMA需要许多其他技术的支持,包括硬件和软件.目前RDMA有多种实现方式,比如RoCE1.INFINIBAND2,不同的实现方式所考虑的 ...

  9. ARMV8 datasheet学习笔记5:异常模型

    1.前言 2.异常类型描述 见 ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(1)-EL/ET/ST 一文 3. 异常处理路由对比 AArch32.AArch64架 ...

最新文章

  1. 在使用postman中操作api接口测试403解决方法
  2. 浅谈Sharepoint权限
  3. 【LXC】 在 LXC 中使用 snap 包管理工具
  4. array_merge
  5. 链表表示八进制加法c语言,用单链表实现八进制加法操作,恳请大家看看Add( )函数的问题...
  6. 微软 rms服务器端,微软RMS服务器部署之准备篇
  7. 检测到磁盘可能为uefi引导_在本地硬盘安装WinPE系统,实现UEFI引导,摆脱U盘
  8. ionic ios查看大图报错 the file to show is not valid image,or could not be loaded
  9. 解决Pycharm里远程调试缺乏DISPLAY环境变量的TkAgg报错
  10. CentOS下配置redis允许远程连接
  11. java使用bks双向认证_客户端与服务器SSL双向认证(客户端:Android
  12. information_schema系列五(表,触发器,视图,存储过程和函数)
  13. python 打印皮卡丘_来简单聊聊python的装饰器呀~
  14. JAVA:eclipse文本中文支持
  15. 7-7Hadoop学习之常用Linux命令与集群配置
  16. 中国省份数据字典表---自用
  17. Linux下mysql数据恢复
  18. python身份证区域分割_python 身份证归属地解析
  19. 主动降噪ANC(Active Noise Control)
  20. bzoj1754[Usaco2005 qua]Bull Math*

热门文章

  1. xmlspy 不能载入具有目标命名空间_石墨烯最新“表亲”铅烯问世,有望成为具有实用价值的拓扑绝缘体...
  2. 基于ssm校园招聘管理系统获取(java毕业设计)
  3. STC89C52概念 ----- 自学笔记
  4. 仿生蛇形机器人02、Dynamixel MX-64AR舵机出现软件故障、无法调节角度
  5. 最新3D人脸技术综述
  6. python 科学计数法 转 字符串表述
  7. MSBCODE9.OCX
  8. c语言程序float的意思,c语言中的float表示什么意思?
  9. CATIA二次开发——自动导出BOM表
  10. 怎样把c语言软件卸载干净,系统软件怎样操作才能彻底卸载删除干净软件程序...