【【VDMA彩条显示实验之二】】

VDMA彩条显示实验之二

这一篇紧接上一篇文章
我们添加一个 VID_out 的 IP核
【【VDMA彩条显示实验之二】】_第1张图片
其实 相对来说 就是我们把 传进来的串行信号 转化成并行输出各个信号 (把 Stream 的 输出信号流转化成在 RGB上 输出的 格式 )
下面是对IP核的简介
AXI4-Stream to Video Out IP核 被用来设计成 连接 AXI-Stream 接口 和 video sourse(包含了关于视频的一系列数据) 接口
video out IP 核 在视频处理和 视频之间提供了一个桥梁
这个 IP核 一般来说是和 VTC 一起使用的
我们先来讲述一下 video out这个 IP的 使用方法
但是在 系统里面 视频通常使用 独立的 消影 同步信号进行传输的
这个 说的是 在 xilinx IP之间用的是 AXI stream 接口的 协议
但是在 系统 内部 使用的 独立的 消影 同步信号进行传输的
AXI Stream video out IP 核 作用是 把 AXIstream 协议的数据转化成 独立 的 视频所能用的 数据输出形式

输入我们了解了 现在我们了解一下 视频的输出
这是转化成 视频 所能 接收的 格式

这个IP被设计出来是个 VTC - generator一起使用的
VTC 给我们 的 video提供了一个 video的时序信息
在整个 IP中 其实有一个 异步FIFO 用来实现 跨时钟域的输出
【【VDMA彩条显示实验之二】】_第2张图片
内部还有一个同步系统
同步系统的作用是把传递的 AXI Stream 接口 本来有的 eol sof 接口全部同步到 VTC 接口的 行列 信号
因为最后 输出的 是行 列 标志 来指示最后一个输出

AXI 4 Stream Video out 有两种时序模式 一个是 slave 另一个是 master 模式
这个 Slave 和 master是相对于 VTC来说的
举例 : 如果在 slave模式下 就可以控制 AXI stream 和 VTC 之间的相位差
我们从 stream 输入进来的视频流的时间 最终要同步于 VTC 提供的时间 它们之间会存在一个相位差
如果我们需要同步的话 就需要想方法 更合理的控制相位差 控制视频什么时候输入 VTC的时序什么时候产生 就现在来说 如果用Video out IP 核 控制 VTC 这样 VTC 就是 在 slave模式下

VTC 工作在 master 模式 就相当于 VTC放飞自我了 我们要尽量去贴近 VTC的 输出时序
所以 通常模式 下 我们推荐使用 slave模式 的 VTC 去减小 缓冲和延时
实际上的控制信号是 vid_gen ce 这个信号拉高VTC 才输出 信号
【【VDMA彩条显示实验之二】】_第3张图片
Hysteresis Level 表示的是 缓存的数 我们 缓存了多少数后才开始同步

下面介绍 Buffer Requirements 这是 buffer缓冲的大小
我们先来学一下 RGB LCD的屏幕时序信息
【【VDMA彩条显示实验之二】】_第4张图片
行同步 低电平的同步时间 然后是 消影 时间 中间一部分是 像素的有效时间
在这里插入图片描述
整个像素的有效时间 也可以用 DE 信号来表示 在DE信号拉高的时候 整个数据DATA 才会传输
当DE拉低的时候 DATA 不会传输

我们举例出现的一个问题
当DE信号拉高的时候 数据 必须 源源不断的输入过去
但是 FIFO会有 空和满 的 不同情况
我们先考虑 FIFO是 空的情况下 输入进来的数据跟不上
FIFO 为满的情况下 是 告诉前面 ready 不要传了
所以我们更需要注意的 是 FIFO 为 空的情况
buffer 主要考虑 上游输出的速率 和下游输出的速率 让其 大致上相等

你可能感兴趣的:(SOC学习,FPGA学习,fpga开发)