ZYNQ使用AXI VDMA搭建图像通路

本文介绍了如何在ZYNQ平台上利用AXI VDMA搭建图像通路,实现OV7725摄像头的视频输入和VGA显示器的输出。通过定制OVSensor2Axis IP核将摄像头时序转化为AXI Stream协议,再通过AXI VDMA进行高效数据传输,最后通过Axis2VGA IP将AXI Stream数据转换为VGA显示时序。文中详细阐述了AXI Stream协议、摄像头与VGA显示的时序处理以及VDMA的配置和使用技巧。
摘要由CSDN通过智能技术生成

本人大四小白最近尝试使用ZYNQ进行图像处理,第一步自然是实现输入输出,参考了南京米联电子等前辈的实现方法后,自己尝试实现了一种新方法,并实现了OV7725的视频输入输出,在此分享一下经验~

 

一、简介

ZYNQ包括一个Cortex A9双核处理器(ps)和外部FPGA(pl),两者之间除了少量EMIO相互连接外,PS提供了对外的几个AXI总线接口。

在ZYNQ体系中,DDR控制器处于PS部分,所以PL必须通过AFI接口来使用ddr资源。在图像系统中,帧缓存是必要的,但是PL部分可用的BRAM十分有限,且是实现其他逻辑的关键资源,不宜作为帧缓存使用,在图像分辨率高时,其大小也不够,所以一个完备的图像系统必然需要使用DDR作为帧缓存介质。

为了实现高效传输,对于大量数据通常使用DMA(Direct Memory Acces)进行,为了PL端与PS的通信,Xilinx官方提供了AXIDMA,AXI VDMA IP,使PL可以通过AFI接口直接访问DDR,这些DMA的IP对外部输入输出均为AXI Stream流协议,所以该系统的关键在于将OV系列摄像头与VGA显示器封装为AXIS协议接口以及其附加问题,VDMA的使用较为简单。

二、AXI Stream协议及视频流格式

AXI Stream关键的只有两根信号线,及tvalid核tready。tvalid是主设备驱动的信号,表示Stream上的数据是有效的,tready由从设备驱动,表示从设备下一个时钟到来时能够接收数据。AXI Stream的特点是这两个信号不存在互相等待的关系,及数据传输只发生再两者均有效的时候,从而效率很高,可以认为是连续传输,避免了死锁的情况。

AXI Stream还有一些附加信号,通常是伴随再数据中传输,主要包括tuser,tlast,tkeep等。t

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值