【ZYNQ】IP核_关于视频IP核的详细介绍

这篇具有很好参考价值的文章主要介绍了【ZYNQ】IP核_关于视频IP核的详细介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

接口信号的含义

在ZYNQ的设计中一般视频数据的传输遵循AXI4-Stream协议,视频处理的IP核的AXI4-Stream接口如下图所示:【ZYNQ】IP核_关于视频IP核的详细介绍
当传输的是视频数据时,部分接口也有了新的含义,如下图所示:【ZYNQ】IP核_关于视频IP核的详细介绍
例如:tuser信号的另一层含义是一帧的起始信号(SOF),SOF信号可用于帧同步信号;而tlast信号的另一层含义是一行的结束信号。为了传输视频数据

数据格式及编码

为了传输视频数据,AXI4视频模块之间的流接口可以使用不同的精度(例如每个彩色通道8位、10位或者12位),或者是不同的格式(RGB、YUV420)以及每个像素拍不同的像素数。数据位使用[N-1:0]位编号来表示,DATA隐式字段组件应紧密封装在一起。举例来说,一个数据位宽为10位的RGB数据会被封装成30位,高位用0填充,应便于最后的位宽是8的整数,如图所示:
【ZYNQ】IP核_关于视频IP核的详细介绍
下表则列出了更为详细的表示:
【ZYNQ】IP核_关于视频IP核的详细介绍
注意:对于4:2:2\4:2:0格式的数据,Cb(或U)和Cr(V)采样会被分割成两个数据节拍,但是每个时钟只能分割一个采样,第一个数据节拍保持Cb(或U),第二个数据节拍保持Cr(V)。换句话讲,帧的第一个有效像素包含[Cb0:Y0],下一个有效像素包含[Cr0:Y1]。
Bayer传感器数据也被称为RAW数据,通常采用RAW8\RAW10\RAW12等格式。
当AXI4-Stream数据位宽携带有多个样本数据时,会有以下两种情况:
1、静态TDATA配置
当AXI4-Stream数据位宽携带有多个样本数据时,应将像素从最低有效位(LSB)压缩至最高有效位(MSB),换句话说,最低有效位应该与最早捕获的像素相对应,假如我每个数据节拍发送四个样本,即四个像素点数据,那么第一个样本位于最低有效位,第四个样本位于最高有效位,来看图:
【ZYNQ】IP核_关于视频IP核的详细介绍
如图所示,一个数据节拍捕获了两个样本,则低位是最早捕获的样本数据,高位是随后捕获的样本数据,二者紧密的贴合在一起,然后高位用0填充。
【ZYNQ】IP核_关于视频IP核的详细介绍
2、动态TDATA配置
对于视频IP可以动态更改颜色组件宽度,视频格式或者每个数据牌的像素数,像素和组件应保持在由通用参数确定的静态位置,以便进行实例化,例如,如果在每个数据节拍最多支持两个像素的接口上仅传输一个像素,则采样像素应与最低有效像素位置对齐。其次,如果每个组件只有8位通过为每个组件10位生成的接口传输,则活动位应与最高位(MSB)对齐,并且用0填充LSB。
【ZYNQ】IP核_关于视频IP核的详细介绍
还有一种情况,就是规定“每个组件的最大位数为12”,但是实际位数超过了12,那么实际组件将被截断为每个组件的最高位数,剩余的最低有效位被丢弃。

视频时序

AXI4-Stream仅在组件接口之间传输视频像素数据、SOF信号和EOL信号。信号借口不携带消隐或同步信号,不需要严格的信号周期。除了从输入流提取视频像素数据并将其发送给后续模块外,接口模块在从DVI、HDMI、SDI或图像传感器等标准周期性视频源接收视频时,还必须测量时序信息(包括每条扫描线的像素数、每帧的有效行数等)。输入接口模块将此信息提供给视频处理和输出接口模块,然后再创建周期性时序信号,并入视频处理系统,已重新创建周期性输出流,如DVI,
【ZYNQ】IP核_关于视频IP核的详细介绍
上图说明了时序信息的提取和传输。视频输入到AXI4-Stream输入接口和视频时序检测器测量时序信息,并提取视频像素数据,时序信息通过可选的AXI4-Lite接口传输。AXI4-Lite主机会从时序检测器中读取测量的时序信息,并对后续程序进行编程。如果说没有AXI4-L控制寄存器接口的时序生成器,那么实例化时,只能处理IP核配置界面里指定的固定视频格式/分辨率。

视频时序的进一步说明

禁止使用tuser信号与视频数据一起传输周期性同步信息,例如hsync或vsync,换句话说,他们都可以作为同步信号使用,但是不能同时用,因为无法保证IP延迟一致性(非周期性),以及data和tuser位之间通过IP核的延迟匹配。此外,当从帧缓冲区写入和检索视频数据时,不会恢复来自tuser的同步信息。

自动延迟匹配

  • 当同步信号丢失时
    当输出接口内核与帧缓冲区结合使用时,如图所示
    【ZYNQ】IP核_关于视频IP核的详细介绍
    无论是否存在外部帧同步脉冲,都应在时序确定后立即开始生成输出时序信号。当接收到不同步的外部帧同步脉冲时,应当重新初始化输出时序生成。应为AXI-VDMA生成一个新的fsync脉冲,并应丢弃现有帧的输入像素,直到SOF脉冲到来。输入接口不应发送不完整的帧。如果时序视频源断开或者重新连接,又或者当系统从复位或通电恢复时,输入AXI4-Stream接口核心应等到时序确定后的第一帧开始,然后再通过AXI4-Stream接口发送和数据。
  • 当时序信号丢失时
    例如AXI-VDMA帧尺寸、或输出接口的时序参数的任何驱动配置不正确,就会出现这种情况。基于EOL和SOF位置测量的帧尺寸与通过IP核GUI配置或者AXI4-Lite寄存器接口缇欧刚给时序生成器的帧尺寸之间可能就会存在差异。如果SOF和EOL帧信号提前出现,处理核心应立即开始处理新行或者新帧,如果帧信号延迟,则处理核心应通过丢弃像素来清除部分帧,直到收到预期的SOF或EOL信号。

视频子系统软件指南

每个构建的视频系统都包括一个或者多个视频流通道。视频流管道是从视频输入开始到视频输出结束的任何视频IP核心的连接链。对于构建的视频系统而言,必须从输出(后端)开始向输入(前端)重置、配置、重新配置、启用或禁用每个管道,这里所说的重置,配置都是指通过AXI4-Lite接口对视频IP核配置。以下是典型的操作顺序:

  • 视频管道重置:重置管道内所有IP核心
  • 视频管道配置:重置后配置所有IP核心。在此步骤内不要启用核心
  • 视频管道动态重新配置:配置所有IP核心而不重置,例如帧大小更改
  • 视频管道启用:启用管道中的所有IP核心
  • 视频管道禁用:禁用管道中的所有IP核心

通常,要初始化视频管道,应按以下顺序执行操作:

  • 初始化所有驱动
  • 从后端开始重置所有IP核心,向前移动
  • 从后端开始配置所有IP核心,向前移动
  • 从后端开始启用所有IP核心,向前移动

总结起来,就是你在PL端用的那些视频IP,等到PS端来配置时,不能瞎搞,要讲究个顺序,诶,规矩一堆,就是玩儿你,还有就是把上面数据格式那一节好好看看,不然你对着红色照,结果这边显示屏显示蓝色,跟你闹呢。文章来源地址https://www.toymoban.com/news/detail-402538.html

到了这里,关于【ZYNQ】IP核_关于视频IP核的详细介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA固核、硬核与软核的详细介绍以及之间的区别和联系

    注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料 ,将在公众号 CTO Plus 发布,请关注公众号: CTO Plus FPGA固核、硬核与软核的详细介绍以及之间的区别和联系 FPGA(Field-Programmablex0aGate Array)是一种可编程逻辑器件,可以通过编程实现 https://m

    2024年02月08日
    浏览(32)
  • 【二】SPI IP核的使用

    【一】SPI IP核使用:传送门 一、实验平台与实验的目的: ​ 正点原子开拓者、芯片型号:EP4CE10F17C8;还需要一张sd卡。 ​ 该实验主要是利用SPI IP核驱动SD卡来实现读写实验,在这个实验中我们要了解spi使用方法核学习sd卡的读写操作方法。 二、系统的搭建: (1)nios 处理器

    2024年02月13日
    浏览(45)
  • 【FPGA】七、IP核的调用

    文章目录 前言 1、PLL简介 2、PLL工作原理 3、PLL实验 3.1、PLL的调用 3.2、程序与仿真 总结 前言         在我们进行FPGA项目设计中,简单的工程我们可以自己手动去设计与编写,但是如果工程较为复杂,我们完全自己去设计编写的话效率就太低了。所以在进行FPGA设计当中,常

    2024年02月08日
    浏览(41)
  • 【Vivado】ram ip核的使用

    ​ ram 的英文全称是 Random Access Memory,即随机存取存储器, 它可以随时把数据写入任一指定地址的存储单元,也可以随时从任一指定地址中读出数据, 其读写速度是由时钟频率决定的。 ram 主要用来存放程序及程序执行过程中产生的中间数据、 运算结果等。 ​ rom为只读存储

    2024年02月02日
    浏览(33)
  • 【Vivado】clock ip核的使用

    ​ Clock在时序逻辑的设计中是不可或缺的,同时对于Clock的编写和优化也能体现一个FPGA工程师的技术水平,Clock的分频,倍频在设计项目时都有可能用到,对于分频,可以通过代码的方式进行实现,而倍频,就要用到我们今天的主角——Clock IP核。熟练使用Clock IP核是学习FPG

    2024年01月16日
    浏览(55)
  • vivado中时钟ip核的调用

    时钟ip核(MMCM PPL),MMCM(混合模式时钟管理)和PPL(锁相环)是FPGA内部的时钟资源。 作用:对时钟网络进行一个系统级的时钟管理和偏斜控制,具有时钟倍频、分频、相位偏移等功能 一、7系列FPGA高层次时钟结构视图     Clock Region :区域时钟。 Clock Backbone :全局时钟线

    2024年01月19日
    浏览(42)
  • IP地址、子网掩码、网络号、主机号、子网号的计算

    构成:网络号+主机号 分类 IP地址分类 网络号 主机号 A类 8位 24位 B类 16位 16位 C类 24位 8位 有效主机位:2 主机号 -2个.其中第一个地址为子网地址, 最后一个为广播地址不可用因此省略,但在计算所有主机位的时候不要忽略要加上 如何区分A、B、C类 类别 第一字节范围 最大主

    2024年02月04日
    浏览(59)
  • 小程序绑定跳转视频号的三种方式

    一、跳转方式 小程序绑定视频号需要用户打开视频号助手channels.weixin.qq.com,复制视频号ID username,和需要绑定的视频ID feedId,两者缺一不可。 关键代码: 二、内嵌视频号视频 从基础库版本2.25.1至2.31.1,小程序需与视频号视频相同主体或关联主体 从基础库版本2.31.1开始,非

    2024年02月03日
    浏览(49)
  • Matlab中几种关于如何求矩阵最大值并返回其行列号的方法

    几种关于如何求矩阵最大值并返回其行列号的方法: %     [r,c]=find(min(dis(:))==dis)%返回dis矩阵最小值的行和列 第一种: clear;clc; A=[0 17 50;-12 40 3;5 -10 2;30 4 3] [C,I]=max(A(:)) [m,n]=ind2sub(size(A),I) 第二种: clear;clc; A=[0 17 50;-12 40 3;5 -10 2;30 4 3] [M,I]=max(A) [N,J]=max(M) [I(J),J] 第三种: clear;

    2023年04月09日
    浏览(50)
  • IP核的使用之FIFO(Vivado)

    在开始介绍 FIFO IP核 之前,我们先设想这么一个 实际场景 :FPGA内部有个16位计数器,以50MHz的频率计数,此时,我们希望随机截取计数器连续256个计数周期的值发到电脑上进行分析处理。用串口发送到电脑上。( 数据产生速率大于数据使用速率 ),此时需要使用存储器先将

    2024年01月18日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包