资讯专栏INFORMATION COLUMN

DW_axi_dmac控制器(概述)

jone5679 / 1583人阅读

摘要:控制器概述遵循标准和协议标准。支持通道挂起和恢复。每个块可以对控制信号进行编程,例如缓存和保护。对每个握手接口独立的启用和关闭。通过控制寄存器,软件可以控制握手模式。对主设备接口上每个通道进行未完成操作数量限制。

DW_axi_dmac控制器(概述)

        DW_axi_dmac遵循AMBA2.0标准和AMBA AXI协议2.0标准。DW_axi_dmac逻辑的外部信号主要包括:

  1. AHB信号(我的理解:主要是作为从设备接口部分,供AHB总线上的其他主设备来访问自身控制寄存器)
  2. 主设备接口信号(我的理解:DMA作为AHB总线主设备,访问内存和其他AHB总线上的从设备)
  3. 硬件握手信号(我的理解:带外信号部分,用于和QSPI的DMA接口逻辑进行流控)
  4. 中断信号
  5. 调试信号
  6. 时钟和复位信号

 基本特征

  1. 独立的核心、从设备接口和主设备接口时钟,即分为三个时钟域。
  2. 从设备接口时钟关闭:当调试接口信号slvif_busy无效为低时,表示从设备接口处于空闲状态,CPU可以关闭从设备接口时钟;在访问从设备接口之前,CPU可以重新启动时钟。
  3. DMA接口逻辑关闭时(例如QSPI),主设备接口时钟可以独立关闭。
  4. 可以配置8个通道,每个通道是一个源和目的对。
  5. 每个通道只能单方向的数据传输。
  6. 支持两个主设备接口:两个主设备接口可以在多层结构上实现;因为允许外围接口(例如内存或QSPI)在不同的AXI上进行互连,因此可以提高总线带宽;不同的AMBA层次结构允许采用不同的ACLK时钟。
  7. 数据传输有四种:内存到内存,内存到QSPI,QSPI到内存,QSPI到QSPI。
  8. 主设备接口遵循AMBA 3 AXI和AMBA 4 AXI标准。
  9. 从设备接口用于对DMA控制器进行编程,即控制寄存器访问,遵循AHB标准:该逻辑仅仅支持AHB从设备接口;AHB从设备接口仅仅支持SINGLE传输。
  10. AXI主设备的数据总线最大宽度为512位,可编程配置。
  11. AXI主设备接口的大小端模式可以静态配置或者动态配置,可编程配置。
  12. 也可以通过信号(dmac_endian_format_mstif_m)动态配置大小端模式。
  13. 针对主设备接口上链接访问,可以通过编程独立控制大小端模式。
  14. 编程可选择ID寄存器。
  15. 通道锁支持。主设备总线接口在不同的传输层级上使用内部通道仲裁的锁机制。
  16. DMAC状态输出:空闲/忙标记位
  17. DMA占有功能
  18. 在DMA传输层,有专门的输出信号管脚用于标记最后写传输。
  19. DMA传输具有分层:DMA传输分为transaction, block和完整的DMA传输三个层次。

通道缓冲

  1.  每个通道有一个FIFO缓冲
  2.  FIFO缓冲长度可以编程配置
  3. 为了满足FIFO宽度,数据可以自动被打包/解包处理。

通道控制

  1.  对每个通道进行传输类型编程:内存到内存,内存到QSPI,QSPI到内存,QSPI到QSPI。
  2. 支持单个或多个DMA操作。
  3. 每个通道可以对DMA操作的长度进行编程。
  4. 每个通道可以对最大AMBA突发传输长度进行编程。
  5. 通道关闭不会造成数据丢失。
  6. 支持通道挂起和恢复。
  7. 通道优先级可编程。
  8. 针对不同传输层级,主设备总线接口可以使用内部通道仲裁器的锁机制。
  9. 可编程多块传输,通过链接目录,连续地址,自动加载和影子寄存器等方式。
  10. 链接目录可动态扩展(我理解,链接目录是DMA描述链表)
  11. 多块传输类型的源地址/目的地址,可独立配置。
  12. 每个通道的源地址/目的地址都有一个多状态机。
  13. 数据访问和LLI访问具有各自独立状态机。
  14. 每个DMA块可以对控制信号进行编程,例如缓存和保护。
  15. 可编程传输块长度。
  16. 错误状态寄存器,用于调试。

流控

在DMA传输层次上,可编程实现流控:

  1. 如果块传输长度在DMA初始化之前就已知,DMA控制就在DMA块传输层次上进行流控;
  2. 如果如果块传输长度在DMA初始化QSPI之前还是未知的,对于未定义的DMA块传输,源或目的来进行流控。

握手接口

  1.  对于非内存类外设(这里说的好像是QSPI),可编程软硬件握手接口。
  2. 最大支持16个硬件握手接口。
  3. 对每个握手接口独立的启用和关闭。
  4. 可对外设和通道的映射进行编程;在多对一的映射时,只能有一个外设被激活。
  5. 通过控制寄存器,软件可以控制握手模式。

中断输出

  1.  支持混合和独立中断输出。
  2. 中断触发源包括:DMA传输完成、块传输完成、单个或多个操作完成、出错、通道挂起或者关闭。
  3. 支持中断使能和屏蔽。

总线接口

  1. 主设备接口遵循AMBA 3 AXI和AMBA 4 AXI协议;从设备接口遵循AHB、AXI4-Lite和APB 3协议。
  2. 主设备接口的数据总线宽度最大512位,可配置。
  3. 主设备接口上允许存在未完成的操作。
  4. 对主设备接口上每个通道进行未完成操作数量限制。
  5. AXI传输宽度可配置。
  6. 针对同一个主设备接口上不同的通道,允许乱序操作。一个专用通道的操作通常初始化为顺序操作。
  7. 主设备接口支持递增和固定地址数据传输。
  8. 源地址和目的地址必须和传输宽度对齐。
  9. 从设备接口数据宽度为32/64位,编程可配。
  10. 从设备接口传输的宽度必须和数据宽度一样。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/118975.html

相关文章

  • 无线网络技术学习总结

    摘要:通过通信线路连入通信子网终端是用户访问网络的界面网络操作系统是相对于主机操作系统而言的。接收方使用同一扩频码进行扩解。 目录 一、计算机网络 1.计算机网络技术概述 2.计算机网络分类 3.无线网络分类 二、无线通信和网络仿真技术基础 1.基本概念 2.调制 (1)、概述 (2)、常用方式 ...

    animabear 评论0 收藏0
  • 功能简介 智能大数据平台 USDP

    摘要:功能简介功能简介功能简介本篇目录一功能点概述一功能点概述二支持的大数据生态服务二支持的大数据生态服务一功能点概述一功能点概述一功能点概述支持友好的浏览器管理控制台支持集群节点管理,如节点监控资源使用率节点状态等支持集群大数据服务的服 功能简介本篇目录一、功能点概述二、支持的大数据生态服务一、功能点概述支持友好的Web浏览器管理控制台;支持集群节点管理,如节点监控、资源使用率、节点状态等;支持...

    ernest.wang 评论0 收藏2278
  • Spring Framework5.0.7【一】- 概述

    摘要:简单明了,如果婚介给我们的人选不符合要求,我们就会抛出异常。的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。切点通过一个条件来匹配要拦截的类,这个条件称为切点。 特点 1. IOC/依赖注入 IOC就是一个负责控制管理对象生命周期和对象间关系的容器。IOC让程序员用关注怎么去创建对象,不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,而是关注对象创建之后的...

    aaron 评论0 收藏0
  • AngularJS 风格指南 (ES2015)

    摘要:风格指南的最佳实践涵盖体系结构文件结构组件单向数据流和生命周期。模块概述模块的设计直接反应了我们的文件结构从而保持了可维护性和可预测性。指令不应再声明模板和控制器,或者通过绑定接收数据。指令应该只是用来和互交。 # AngularJS 风格指南 (ES2015) AngularJs1.6.x的最佳实践.涵盖体系结构,文件结构,组件,单向数据流和生命周期。 目录 模块化体系结构 ...

    JaysonWang 评论0 收藏0
  • java学习(十) —— java中的多线程概述

    摘要:进程一般由程序数据集进程控制块三部分组成。线程概述线程的出现是为了降低上下文切换的消耗,提高系统的并发性。线程突破了一个进程只能干一件事的缺陷,使到进程内并发成为可能。进程与线程的关系进程是计算机中的程序关于某数据集合上的一次运行活动。 进程概述 进程:正在运行的程序,是系统进行资源分配和调用的独立单位。 进程就是一个程序在一个数据集上的一次动态执行过程。 进程一般由程序、数据集、进...

    Sanchi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<