• xilinx DMA IP核(二) —— 文档阅读


      本笔记不记录DMA的Scatter/Gather特性。DMA上有三种总线:AXI4-LIte(对寄存器进行配置),AXI4-Memory Map(用于与内存交互)和AXI4 Stream(用于与外设交互)。在寄存器模式下,寄存器分为两部分:MM2S和S2MM,每个部分包括Control Register, Status Register, Source Address, 和Transfer Length四个寄存器部分。

    表:DMA在Direct Register模式下的Register Address Map

    其中Soure Addresss和Destation Address指的是内存地址。

      下图是控制寄存器MM2S_DMACR,bit0用来控制DMA的开启和关闭。

    图:MM2S_DMACR

    图:控制寄存器的bit0详细介绍

    该控制寄存器的第12,13和14bit是有关中断设置的,分别是完成中断,延迟中断和错误中断。

    表:控制寄存器有关中断的bit位

      下一个比较重要的寄存为状态寄存器MM2S_DMASR,如下图所示。

    图:DMA的状态寄存器(SR)

    其中第12,13和14bit位表示中断的状态,写1可以清除中断。从表格可以看出,这三个寄存器分别与控制寄存器中的三个中断一一对应的。

    表:DMA状态寄存器中用来表示中断状态的bit位

      另外两个寄存器MM2S_SA和MM2S_LENGTH分别表示地址和长度,如下图所示。

     在DMA的IP设置时,会设置Width of Buffer Length Register(8-23),默认的是14。这里设置的就是上面的MM2S_LENGTH Register,如果设置为23,那么最大传输就是2^23=8388608byte。

  • 相关阅读:
    .NET中26个优化性能方法
    通过纯真IP地址实现根据用户地址显示信息
    jQuery中json中关于带有html代码网页的处理
    gb2312提交的url编码转换成utf8的查询
    c# Bitmap byte[] Stream 文件相互转换
    WebClient 上传文件
    进程监控模块配置与使用 ------ACE(开源项目)
    boost配置
    C++学习总结3
    SAE云平台的使用
  • 原文地址:https://www.cnblogs.com/yiwenbo/p/10500060.html
Copyright © 2020-2023  润新知