构建一个简单的显示通路的部件
在上一篇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 |