首页 > 技术文章 > Video to SDI Tx Bridge模块video_data(SD-SDI)处理过程

chensimin1990 2017-08-08 16:33 原文

Video to SDI Tx Bridge模块video_dataSD-SDI)处理过程

1.Top Level Block Diagram of Video to SDI TX Bridge 

Video_data首先进入Data Formatter模块

Input [19:0]video_data

打入Data Formatter模块的video_data数据首先是判断上下限,(004,3FC,3FB).然后video_data10位存入v1寄存器,低10位存入v0寄存器。

Hblank_1vblank_1信号对vid_a_cvid_a_y进行填充。

v1v0寄存器中的数据分别存入vid_a_cvid_a_y两个寄存器。需要注意的是:y_mux_sel信号来选择v1,v0传递到vid_a_y,也就是说当源是SD-SDI模式的时候,vid_a前十位和后十位是一样的数据。

 然后,vid_a_c,vid_a_y信号融合,存入vid_a信号中。

video_datavid_a需要两个时钟周期。

Vid_a信号会进入fifo中,现在暂且不分析fifo:

对于SD-SDI模式的信号,不用分析fifo:

3G-SDI模式的数据需要通过fifo,但是SD-SDI模式的数据直接通过tx_ds2a,tx_ds1a输出。

tx_ds2a,tx_ds1a数据进入了Sync and line Number Embedder模块。

进入embedder模块的数据先延时两个时钟周期

 为什么会需要这么处理,需要继续研究。

TRS信号的生成:

output_ce使能时,接收hblank,vblank信号

hblank,vblank存入hblank_del,vblank_del,当信号为SD-SDI模式信号时,hblank_del,vblank_del存入vblank_mux,hblank_muxvblank_mux,hblank_mux存入hblank_1vblank_1(为什么需要这样做延时处理)

程序中对hblankvblank进行上升沿检测和下降沿检测。

XYZ序列的产生逻辑:

TRS状态计数器(需要hblank的边沿触发)

SAVEAV的初始化:

trs_type的值确定数据是SAV还是EAVsav_active,sav_xyz代表当前传入的trs_data数据是哪一部分的,是放在XYZ位上还是3FF,或是000上。

trs_type==0时,对SAV序列进行填充,先前传入了3FF,下面依次传入000,000XYZ的数据,这样就构成了trs_data数据序列。

trs_type==1时,对EAV序列进行填充,3FF,000,000,再加上一些其它的序列。

视频数据的输出:

当标志位sav_active或者eav_active,高电平时,trs_data数据传给tx_video_a_y,tx_video_a_c

SAVEAV之间的数据用tx_ds1a_2,tx_ds2a_2填充来传递给tx_video_a_y,tx_video_a_c.

tx_video_a_y,tx_video_a_c即是最终需要传递给SDI播出的数据流。

推荐阅读