• k64 datasheet学习笔记21--Direct Memory Access Multiplexer (DMAMUX)


    0.前言 

    本章主要介绍DMA MUX的相关内容

    1.简介

    1.1 概述

    用来路由DMA源到16DMA通道:

    1.2 特性

    1.52个外设slot10个常开slot可以路由到16DMA通道

    2.16个独立的可选的DMA通道路由,其中前4个通道提供周期触发功能

    3.每个DMA通道可以路由指定给52slot10个常开slot的任意一个

    1.3 操作模式

    1.disable模式

    DMA通道被禁用

    2.normal模式

    一个DMA源被路由到一个特定的DMA通道

    3.周期触发模式

    一个DMA源只能请求一个DMA传输,周期性配置在PIT寄存器中配置,这种模式只适用于通道0~3

    外部信号描述

    无外部信号

    内存映射/寄存器定义

    通道配置寄存器(DMAMUX_CHCFGn):每个DMA通道可以独立的使能禁用,在改变触发或源设置前必须通过CHCFGn[ENBL]来禁用相关通道

    功能描述

    DMAMUX通道可以分为两类:

    实现通常的路由功能+周期触发;

    只实现通常路由功能

    4.1 带有周期性触发功能的DMA通道

    通过配置PIT来配置周期性触发。

     

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

     

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

     

    triggering可以用于任何支持DMA传输的外设,大部分包含两种类型:

    (1) 通过总线周期性轮询外部设备

    SPI可实现每隔5us自动将内存的数据通过DMA搬移到SPI中,也可以每隔5usSPI接收到的数据通过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来完成再激活

    初始化/应用信息

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

  • 相关阅读:
    Git更新或提交出错的解决办法
    webpack简单学习的入门教程
    CentOS源码安装QT
    后台程序在向tty/串口写数据的时候stop了
    Linux signal 处理
    Linux C 获取 文件的大小
    Microsoft Excel 标题栏或首行锁定
    Socket连接何时需要断开
    Windows MFC 打开文本
    动态库的生产和调用
  • 原文地址:https://www.cnblogs.com/smartjourneys/p/8489103.html
Copyright © 2020-2023  润新知