ZYNQ基础系列(三)VTC+VDMA+Vid_Out核 构建一个简单的显示通路的准备工作

本文介绍了如何利用VIVADO中的VTC、Vid_Out和VDMA核构建一个简单的视频输出通路。首先,VTC核作为时序发生器,简化了显示时序的处理;接着,Vid_Out核将AXI4-Stream格式的视频转换为视频接口,驱动显示屏;最后,VDMA核作为数据搬运工,实现了帧缓存和DDR之间的数据交换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

构建一个简单的显示通路的部件

在上一篇ZYNQ基础系列(二) IO口模拟HDMI中,介绍了VGA到HDMI输出的IP核的使用方法,本文将先介绍三个VIVADO自带的视频输出通路相关的重要IP核,搭建一个比较简单的视频通路,为不久之后的摄像头到显示屏通路打下基础:

1> Video Timing Controller
2> AXI4-Stream to Video Out
3> Video DMA

首先要对IP核的功能和配置有一个了解,才能做到肆无忌惮的去搭建通路

VTC核

这个IP核其实可以就看做是一个时序发生器,产生显示器输出所需要的时序信号,有了此核之后,那些各种显示消隐区也就不需要怎么考虑了,省心了很多
1>引脚
完整的引脚图如下:
这里写图片描述

Optional AXI4-Lite Control Interface : 用于通过AXI总线实时动态更换VTC核的参数
Detector Interface : 图中的Video Timing (input) Interface,探测器接口,用于捕捉视频时序然后处理
Generator Interface : 图中Video Timing (input) Interface,用于生成的视频时序

引脚 I/O 功能
clk I 核的工作时钟
clken I 时钟使能(高有效)
gen_aclken I 生成模式工作时钟使能(高有效)
det_aclken I 探测模式工作时钟使能(高有效)
resetn I 复位信号(低有效)
irq O 中断信号输出(高有效)
intc_if[31:0] O INTC接口:[31:8]和状态寄存器(0x0004)的[31:8]一样;[5:0]和异常寄存器(0x0008)的[21:16]一样;[7:6]为0
fsync_in I 帧同步输入
fsync_out[(fs-1):0] O 帧同步输出

如果需要通过AXI总线对核进行配置的话,还需要去查一下各个寄存器的功能,这里暂时不需要动态配置,配置过程仅通过GUI配置一次

2>GUI配置
第一页:
这里写图片描述
选项说明:

名称 功能
Include AXI4-Lite Interface 添加AXI控制
Include INTC Interface 添加intc_if接口
Interlaced Video Support 好像是支持视频混合吧,反正就是打了这个勾,输出就选择Field ID这个线了
Synchronize Generator to Detector or to fsync_in 时序生成自动同步到时序探测或帧同步
每行的最大时钟数和每帧的最大行数 决定GUI第二页数据的范围,在满足条件的前提下,要尽量小
Frame Syncs 帧同步的数量,同时决定了fsync_out的线宽
生成和探测的使能 就是生成和探测的使能

还是第一页:
这里写图片描述

现在只看时序生成的模式:

名称 功能
Field ID Generation 启用Field ID输出
Vertical Blank Generation 允许垂直空白输出
Horizontal Blank Generation 允许水平空白输出
Vertical Sync Generation 允许垂直同步输出
Horizontal Sync Generation 允许水平同步输出
Active Video Generation 视频active线输出
Active Chroma Generation 色度active线输出
Auto
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值