本笔记不记录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。

xilinx DMA IP核(二) —— 文档阅读的更多相关文章

  1. xilinx DMA IP核(一) —— loop测试 代码注释

    本篇笔记中的代码来自:米联科技的教程“第三季第一篇的DMA_LOOP环路测试” 硬件的连接如下图所示: 图:DMA Loop Block Design 橘色的线就是DMA加FIFO组成的一个LOOP循 ...

  2. PCIE xilinx v5 IP核使用前的研究

    外带一个月前啃的一个星期,加本星期心无旁骛,啃出些心得,广惠后人.但愿有用. trn信号是数据链路层的信号 TLP包是数据链路层传给transaction层的包 解包需要一个transaction的协 ...

  3. 从Xilinx FFT IP核到OFDM

    笔者在校的科研任务,需要用FPGA搭建OFDM通信系统,而OFDM的核心即是IFFT和FFT运算,因此本文通过Xilinx FFT IP核的使用总结给大家开个头,详细内容可查看官方文档PG109.关于 ...

  4. Django文档阅读-Day2

    Django文档阅读 - Day2 Writing your first Django app, part 1 You can tell Django is installed and which v ...

  5. Node.js的下载、安装、配置、Hello World、文档阅读

    Node.js的下载.安装.配置.Hello World.文档阅读

  6. 我的Cocos Creator成长之路1环境搭建以及基本的文档阅读

    本人原来一直是做cocos-js和cocos-lua的,应公司发展需要,现转型为creator.会在自己的博客上记录自己的成长之路. 1.文档阅读:(cocos的官方文档) http://docs.c ...

  7. 转:苹果Xcode帮助文档阅读指南

    一直想写这么一个东西,长期以来我发现很多初学者的问题在于不掌握学习的方法,所以,Xcode那么好的SDK文档摆在那里,对他们也起不到什么太大的作用.从论坛.微博等等地方看到的初学者提出的问题,也暴露出 ...

  8. Keras 文档阅读笔记(不定期更新)

    目录 Keras 文档阅读笔记(不定期更新) 模型 Sequential 模型方法 Model 类(函数式 API) 方法 层 关于 Keras 网络层 核心层 卷积层 池化层 循环层 融合层 高级激 ...

  9. Django文档阅读-Day1

    Django文档阅读-Day1 Django at a glance Design your model from djano.db import models #数据库操作API位置 class R ...

随机推荐

  1. 安卓开发解决android.os.NetworkOnMainThreadException异常方法(主线程不能直接调用webservice)

    安卓开发解决android.os.NetworkOnMainThreadException异常方法 2013-01-07 14:01:04|  分类: 技术 |  标签:安卓  技术  java  | ...

  2. java可视化

    1.java关闭窗口代码. ft.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); IE打开  Weiler-Atherton任意多边形裁剪 http:/ ...

  3. WebApi参数传递总结(转)

    出处:http://www.cnblogs.com/Juvy/p/3903974.html 在WebAPI中,请求主体(HttpContent)只能被读取一次,不被缓存,只能向前读取的流. 举例子说明 ...

  4. arpspoof+ettercap嗅探局域网HTTP/HTTPS账号密码

    开转发 arpspoof -i eth0 -t 192.168.110 192.168.1.1 ettercap -Tq -i eth0 /etc/ettercap/etter.conf /Linux ...

  5. swift 学习之 UIAlertViewController

    // //  PushViewController.swift //  tab // //  Created by su on 15/12/7. //  Copyright © 2015年 tian. ...

  6. Shell编程-02-Shell变量

    目录 什么是Shell变量 变量类型 环境变量初始化及其对应文件的生效顺序 什么是Shell变量     在初等数学数学方程式中,我们会经常碰到类似于这样的方程式:y=x+1 ,等号左右两边的x和y称 ...

  7. 团队博客第三周(Running Duck队)

    代码链接:Tetris 码云链接 一.需求&原型改进 1.原型改进 汉字方块每次可生成一个并逐渐下落 可通过触摸左右下滑动实现方块的左右移动和快速下滑 左上角按钮可对汉字进行暂时保存和替换 右 ...

  8. [label][Chrome-Extension] How to start Chrome Extension's development

    Firstly , you should read these two pages.  https://developer.chrome.com/extensions/overview https:/ ...

  9. Anti-Anti dylib(反 反-dylib钩子(Anti-tweak))

    版主提供了 anti dylib 的文章,http://bbs.chinapyg.com/thread-76158-1-1.html原理很简单,看下面源代码即可~  在Build Settings中找 ...

  10. Oracle ERP View - fnd_global.apps_initialize

    在ORACLE APPLICATION FORM中已存储了数据,在客户端TOAD中查找其TABLE找到相关数据行,但当查找其VIEW时就无法找到数据. 原因ORACLE的权责及OU安全机制屏蔽问题. ...