图像处理之Video In to AXI4-Stream教程

免责声明:

本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下,作者不对因使用本文内容而导致的任何直接或间接损失承担责任,包括但不限于数据丢失、业务中断或其他经济损失。

读者在使用本文信息时,应自行验证其准确性和适用性,并对其使用结果负责。本文内容不构成专业技术咨询或建议,具体的技术实现和应用应根据实际情况和需要进行详细分析和验证。

本文所涉及的任何商标、版权或其他知识产权均属于其各自的所有者。若本文中引用了第三方的资料或信息,引用仅为学术交流目的,不构成对第三方内容的认可或保证。

若有任何疑问或需进一步信息,请联系本文作者或相关专业人士。


前言

小编最近项目中涉及到ISP,而xilinx的ISP架构中视频流是以AXI4-Stream接口输入输出,本期教程将讲述Video In to AXI4-Stream的使用。


一、时序信号

注:不管视频信号是使用哪一组时序信号,核都可以正确地接受视频输入并转换为 AXI4-Stream 格式。

二、AXI4-Stream信号

      输出端使用 AXI4-Stream 接口,该接口以主模式(master mode)工作。

  • tdata:并行视频数据。这个信号携带实际的视频像素数据。
  • tvalidtready:握手信号,用于管理数据传输。tvalid 表示数据有效,当 tvalid 和 tready 同时为高时,表示数据传输成功。
  • tlasttuser:标志信号,用于标识视频流中特定的像素

由于 AXI4-Stream 总线上没有同步或消隐信号,仅传输有效像素数据,因此需要 tlast 和 tuser 标志来标识像素的位置。

  • tlast 用于标识每行最后一个有效像素的位置(EOL)。
  • tuser 用于标识每帧第一个有效像素的位置(SOF)。

三、Latency

1.典型延迟

  • 当 AXI4-Stream 总线上下游的处理模块能够以像素速率或更快的速率接收数据时,通过 Video In to AXI4-Stream 核的典型延迟是 6 个 vid_io_in_clk 时钟周期 + 3 个 aclk 时钟周期。
  • 这是在理想情况下,即下游模块能够快速处理数据而不会造成瓶颈时的延迟。

2.使用 FIFO 平衡速率不匹配

  • 如果下游模块以较慢的速率接收像素数据,那么 FIFO 会用来平衡输入和输出速率之间的不匹配。
  • FIFO 的作用是缓冲输入数据,以确保即使下游处理速度较慢,数据流也能平稳进行。

3.额外延迟

  • 当使用 FIFO 时,由于存储像素数据,这会增加延迟。
  • 这种额外的延迟取决于数据流入和流出核心的速率,可能会随行和帧的变化而变化。

四、Throughput

额外的 FIFO 深度需求

  • 需要额外的 FIFO 深度来平滑瞬时速率的不匹配。这是为了处理输入视频像素时钟(Fvclk)和 AXI4-Stream 时钟(Faclk)之间的速率差异。

时钟速率限制

  • Fvclk 和 Faclk 的速率受限于整体的最大时钟频率(Fmax)。

Faclk ≥ Fvclk 的情况

  • 如果 Faclk 等于或大于 Fvclk,只需要最小的缓冲区大小(32 个位置)。
  • 这假设 Video In to AXI4-Stream 核下游的核能够以全视频速率接收数据。例如,下游核可以以几乎连续的流方式接受数据,仅在 EOL(行结束)之后有间隙,每行连续接受数据,行之间的间隙仅在 SOF(帧开始)之前出现。在这种情况下,FIFO 在每行的 EOL 之后会清空。

Faclk 小于 Fvclk 的情况

  • 当 Faclk 小于 Fvclk 时,需要额外的缓冲来处理视频时钟和 AXI4-Stream 时钟之间的速率差异。
  • 具体来说,FIFO 必须足够大,以处理像素在视频时钟速率(Fvclk)下进入,而在较慢的 AXI4-Stream 总线时钟速率(Faclk)下输出的差异。

输入 FIFO 深度计算

  • 对于 Faclk 频率高于平均行频率但低于 Fvclk 的情况,输入 FIFO 的最小深度(FIFO depth min)计算公式如下:

FIFO depth min = 32 + Active Pixels * Fvclk / Faclk

下游处理核心的速率低于 aclk

  • 如果下游处理核心接受数据的速率低于 aclk,那么需要额外的缓冲以防止 FIFO 在帧传输期间溢出。
  • 这种情况下,FIFO 的深度需要足够大,以保证即使在传输整帧数据时,FIFO 也不会溢出。

五、Core Interfaces

六、General Design Guidelines

七、Customize IP

Pixels Per Clock:该参数指定每个时钟周期并行输出的像素数量。

Video Format: Specifies the video format used. 

Native Video Input Component Width: Specifies the video component bit width over 

the input video data bus.
AXI4S Video Output Component Width: Specifies the video component bit width 
over the output AXI4-Stream TDATA bus.
FIFO Depth: Specifies the number of locations in the input FIFO. The options for FIFO 
depth are 32, 1024, 2048, 4096, and 8192.
Clock Mode: The clock mode is used to specify whether the AXI4-Stream output and 
Video input signals are clocked using common or independent clocks.


总结

以上就是Video In to AXI4-Stream的重点内容,读者可根据自己的理解进行验证。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值