关于DMA环通学习笔记(ps-pl间读写数据)

一、DMA传输操作

      DMA(Direct Memory Access,直接内存存取) ,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU对于其他的工作来说就无法使用。

1、处理器设置DMA传输的地址、长度、中断等。启动DMA传输。

2、处理器从事其他任务,DMA进行传输。

3、DMA传输结束,发送中断。DMA传输结束。

二、DMA结构

1、读写接口

a、AXI4 Memory Map ,内存映射。

b、AXI4-Lite  配置DMA内寄存器。

2、外设接口(右侧)

MM2S: Memory Map to Stream,写数据到外设。

S2MM: Stream to Memory Map,从外设读数据。

3、DMA寄存器

a、控制寄存器:(CR0~CR3)用于控制和确定处理器的操作模式以及当前执行任务的特性。

b、状态寄存器:又名条件码寄存器,状态寄存器用来存放两类信息:一类是体现当前指令执行结果的各种状态信息条件码),如有无进位(CF位)、有无溢出(OV位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(P位)等;另一类是存放控制信息PSW:程序状态字寄存器),如允许中断(IF位)、跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器FR(Flag Register

c、Scatter/Gather (SG模式):指的在多个缓冲区上实现一个简单的I/O操作,比如从通道中读取数据到多个缓冲区,或从多个缓冲区中写入数据到通道。

三、设计构造

1.设计框架

 AXI_HP是Zynq平台上的AMBA (Advanced Microcontroller Bus Architecture)总线部件之一。该接口提供了两个独立的通道,Master和Slave。Master 可以读取外部存储器或设备中的数据,并将其传输到FPGA中的寄存器或存储器中;Slave可以将FPGA 中的数据写入到外部存储器或设备中。AXl_HP 接口还可以通过DMA 实现内存到内存、内存到设备、设备到内存之间的数据传输。

IP核设置:

其中ila模块是fifo模块中S_AXIS,M_AXIS,wr_data,rd_data选中debug可查看信号,如想看中断信号,可添加两个探针连接中断信号。

四、SDK部分

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值