Xilinx UG934——AXI4-Stream Video IP(一)

        最近的项目中用到Xilinx FPGA做视频处理(主要是缩放和帧率转换),搜索一下官方资料,UG934算是一个总体介绍,学习一下。

接口和信号

看模块先看接口,下面是模块接口图和信号描述表,都是很直白的东西。

关键的握手信号,帧起始信号(使用TUSER)。

行结束信号(使用TLAST),一个有效传输时钟宽度,与最后一个像素同时发送。

数据格式和AXI4-S的参数

随后介绍了数据是如何在AXI4-S总线上进行数据映射和传输的,对于不直接操作AXI4-S接口的场景,这部分可以大致了解一下,无需细究。

系统设计指南

这部分简单介绍了一些使用范例,没有过多的细节,却是需要好好研究的东西,可以了解常规的视频处理流程、涉及的相关IP。

视频时序信息

AXI4-S包含了视频像素、帧起始、行结束信息,不包含视频时序信息。

Video Timing Detector可以检测视频时序信息,Video timing generator可以根据视频时序信息生成需要的视频时序。(Video Timing Controller,简称VTC,可以选择时序检测、时序生成功能,或者同时包含两者)。

指南中强调了不要使用TUSER传输同步信息,可以这么理解,如果是自己实现主从AXI4-S接口,我们可以传输和接收TUSER中的信息,但是其他包含AXI4-S接口的IP不能包含或者接收TUSER中的视频同步信息。即这么使用是非标准操作,不能保证兼容性。

以帧头/水印的形式将时序信息嵌入视频数据中(类似于BT656等)也是不允许的,在传输和转换的过程中可能会产生预期之外的结果。例如,缩放相关IP没有检测和改变嵌入的时序信息的功能。

复位要求

硬件复位

(本条与实现AXI4-S接口IP有关)模块的复位应当是独立的,不依赖于相连的其他IP。模块设计时应确保AXI4-S接口的任何重置都会重新初始化IP,减少对输出的干扰。简而言之,模块应当可以在任意时刻复位和从复位状态恢复,不受前后级IP的影响。

指南建议保持复位信号,确保所有IP正确重新初始化。尽管AXI接口可以组成多个互相隔离的网络,支持部分复位。即使用全局复位,持续超过所有IP中最长复位要求时长。

IP会丢弃SOF信号之前的数据。

AXI4-S接口复位时必须取消VALID和READY输出,无需在复位时立即实现,但是要在相关联的IP取消复位之前达到稳定的复位状态。这有助于实现模块内部复位输入的流水线,包括跨时钟域的同步。

软件复位

在数据链中,按从视频输出开始到视频输入的顺序复位、取消复位。

如果应用允许,为视频IP提供与视频帧边界同步的软件复位。如果帧和帧之间的时间足够长,在帧结束后的软件复位可以复位单个IP不影响整个系统。

输入/输出接口-自动延迟匹配

1.周期性输入流、无约束输入流、无帧缓冲(并不是无缓冲,只是不需要一帧及以上的缓存)

这个很容易实现,之前也写过很多类似的工程,熟悉流水线处理就行,配合FIFO进行单独实现可能更方便、高效,毕竟不需要像官方IP一样要实现很多“兼容性”功能。

2.从帧缓冲中生成输出流

这边提到了AXI-VDMA和Video Scaler,是比较常用的视频处理IP,后面会单独研究。

这个示例系统主要解决的问题有:输出时钟与输入时钟不同;输出时序要与外部同步信号同步;外部同步信号驱动AXI-VDMA读取(数据输出要与外部同步信号同步)

输出时钟与输入时钟不同,解决方案为帧缓冲和预读取;

输出时序与外部同步信号同步,解决方案为配置video timing generator与外部同步信号同步;

外部同步信号驱动AXI-VDMA读取,解决方案其实就是预读取(使用重新生成的时序信号而不是直接使用外部信号或其同步信号)。

失去同步

停止发送数据,直到重新同步。

时序信息错误

以SOF或EOL信号为准。

视频流输入连接

讲到了Video In to AXI-S以及VTC可选的时序信号配置。

建议使用VTC的锁定状态控制VID-IN的axis_enable,保证VTC锁定前VID-IN不会输出。

建议在下游处理核心初始化和使能后使能VTC。

对于需要时序信息进行配置的下游处理核心,在从VTC读取到所需信息后,复位VTC,配置下游核心,使能下游核心,重新使能VTC。

外部帧缓冲

AXI-VDMA方案

(此处涉及的几个概念比较生疏,等后面补充)

时序信息错误会产生错误中断。

多连接

不建议使用流组合器组合不同的流,在没有TID和TDEST字段时无法辨别像素源。

建议使用IP到IP的单独接口。

辅助数据

音频、字母等辅助数据需要使用单独的信道处理或传输。

隔行视频

Xilinx视频IP通过独立于AXI4S-Video接口的field_id或fid接口支持隔行视频。

去隔行功能是VPSS的一部分,详见PG231。

相关IP(支持隔行视频):

AXI4-Stream to Video Out

Video In to AXI4-Stream

Frame Buffer Read/Write

Video Test Pattern Generator

隔行视频系统如下(不含buffer和包含buffer):

去隔行处理(上面提到去隔行器属于VPSS的一部分)

  • 21
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值