RISC-V MCU中文社区

【分享】 VDMA IP核简介

发表于 全国大学生集成电路创新创业大赛 2021-07-10 21:48:10
0
3048
0

一、团队介绍

大家好,我们是293小分队,报名编号为CICC1363。本次我们将分享VDMA IP核的基础知识。水平有限,如果有错误希望大家多多批评指正。

二、VDMA端口信号


S_AXI_LITEPS端可以通过AXI_LITE协议对IP核进行控制;

S_AXIS_S2MM:视频流(AXI STREAM)输入到IP核的FIFO中;

S_AXIS_MM2SIP核的FIFO生成视频流(AXI STREAM)输出到后端;

S_AXI_S2MMIP核的FIFO中的像素数据存入memory

S_AXI_MM2Smemory中的像素数据输出到IP核的FIFO中;

s_axi_lite_aclks_axi_mm2s_aclks_axis_mm2s_aclks_axi_s2mm_aclks_axis_s2mm_aclk分别为上述端口的控制时钟,一般采用同一频率时钟。

mm2s_introuts2mm_introut分别为MM2SS2MM通道完成后的中断信号输出。

三、VDMA基础设置


Address Width:地址宽度,与memory一致;

Frame Buffers:帧缓存数量,当选择1时,则输入输出皆在同一块内存中;当选择2及以上时,则输入输出操作不同内存区域,且交替进行;

Memory Map Data WidthS_AXI_S2MMS_AXI_MM2S通道的数据位宽,且必须大于视频流数据位宽;

Burst SzieAXI猝发传输大小,一般设置为16

Stream Data Width:视频流数据位宽,一般由VDMA前端输入自动确定;

Line Buffer DepthS_AXIS_S2MMS_AXIS_MM2S通道FIFO,当输入输出视频帧率相当时,可以适当选择较小深度,当输入输出视频帧率差别较大时,需要加大FIFO深度。


对于写通道,同步选项选择s2mm tuser,即当一帧视频的第一个像素到来时,s2mm tuser被拉高,VDMA开始写入memory

对于读通道,同步选项选择None,即只要后端准备好接受数据,ready信号为1时,VDMA即开始输出像素点;

至于GenLock Mode,写通道和读通道分别选择Dynamic-MasterDynamic-Slave,即写通道依次写入0,1,2···,而读通道每次读取写通道上一帧数据,并且写通道和读通道都可以跳过对方正在操作的帧。

四、VDMA寄存器设置

       主要有以下几个重要寄存器:


注意:HSIZESTRIDE都是以Byte为单位,且VSIZE设置必须放置在所有寄存器设置的最后。







喜欢0
用户评论

未通过实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板