Video to SDI Tx Bridge模块video_data(SD-SDI)处理过程
Video to SDI Tx Bridge模块video_data(SD-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_data高10位存入v1寄存器,低10位存入v0寄存器。

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


从video_data到vid_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_mux,vblank_mux,hblank_mux存入hblank_1和vblank_1(为什么需要这样做延时处理)
程序中对hblank和vblank进行上升沿检测和下降沿检测。

XYZ序列的产生逻辑:

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

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

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

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

视频数据的输出:
当标志位sav_active或者eav_active,高电平时,trs_data数据传给tx_video_a_y,tx_video_a_c
SAV和EAV之间的数据用tx_ds1a_2,tx_ds2a_2填充来传递给tx_video_a_y,tx_video_a_c.
tx_video_a_y,tx_video_a_c即是最终需要传递给SDI播出的数据流。

Video to SDI Tx Bridge模块video_data(SD-SDI)处理过程的更多相关文章
- 阅读<<SDI TX Bridge>>笔记
阅读<<SDI TX Bridge>>笔记 1.Path from AXI4-Stream Video Processing to SDI 2.Top Level Block ...
- C#使用CH341 SPI模块读写SD卡
SD卡相关CMD命令 ;//卡复位 ; ;//命令9 ,读CSD数据 ;//命令10,读CID数据 ;//命令12,停止数据传输 ;//命令16,设置SectorSize 应返回0x00 ;//命令1 ...
- FI模块与SD、MM的接口配置方法
[转自 http://blog.itpub.net/195776/viewspace-1023910/] 1 FI/SD 借口配置FI/SD通过tcode VKOA为billing设置过帐科目,用户可 ...
- SD: 关于价格过程的确定
在SD模块中,定价过程是一个非常重要的功能,在单据中使用哪个定价过程取决于三个因素 1)销售区域(sale Area) 该数据来自Sold-to Party的客户维护的销售数据. 2)客户主数据的定价 ...
- Nginx 模块开发(1)—— 一个稍稍能说明问题模块开发 Step By Step 过程
1. Nginx 介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/S ...
- python之模块、包的导入过程和开发规范
摘要:导入模块.导入包.编程规范 以My_module为例,My_module的代码如下: __all__ = ['name','read'] print('in mymodule') name = ...
- python中pygame模块的Linux下安装过程
一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...
- SAP ERP SD模块中维护销售人员
SAP ERP SD模块中维护销售人员信息并分配销售组织 分类: SAPHCM用户指南 在SAP ERP系统,销售和分销(SD)模块中需要创建销售人员(Sales Personnels)消息, ...
- GTP+SDI工程播出部分思路整理
GTP+SDI工程播出部分思路整理 1.video_out_to_sdi模块 关于video_out_to_sdi模块的输出信号: tx_video_a_y[9:0] 这是要输入SDI IP核内的 t ...
随机推荐
- 使用Redis做为MySQL的缓存
OS: Ubuntu 16.04.4 x64 更新并安装必要的工具 apt update && apt upgrade -y && apt dist-upgrade - ...
- 2--linux命令--查看磁盘空间
du命令用来查看目录或文件所占用磁盘空间的大小.常用选项组合为:du -sh 二.du常用的选项: -h:以人类可读的方式显示 -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大 ...
- 二进制数值Byte [] 转Base64字符串
将二进制数据转换成Base64字符串: String base64String = new String(byteArray).replaceAll("\n","&quo ...
- JVM 自带性能监测调优工具 (jstack、jstat)及 JVM GC 调优
1. jstack:占用最多资源(CPU 内存)的Java代码 https://www.cnblogs.com/chengJAVA/p/5821218.html https://blog.csdn.n ...
- 强化学习基础算法入门 【PPT】
该部分内容来自于定期的小组讨论,源于师弟的汇报. ==============================================
- Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at xxxx/usr/bin/automake line 3939.
/********************************************************************** * Unescaped left brace in re ...
- [err]default argument given for parameter 3 of '***'
err ~/src/helper.cpp: In function ‘cv::Mat align_mean(cv::Mat, cv::Rect, float, float, float, float) ...
- Linux批量解压文件
最近下载了Imagenet2012的数据文件,训练数据下有很多tar文件,这些tar文件都在一个目录内,所以想批量解压到该目录下每个单独的文件夹内 批量解压的步骤是, 1.列出所有的以tar为后缀的文 ...
- Pycharm出现Segmentation fault...(interrupted by signal 11: SIGSEGV)的解决方法
众所周知,用pycharm远程服务器debug代码已经成为学习深度学习相关代码的有力工具,但是最近创建了一个虚拟环境,进行debug的时候,莫名会出现下面这个错误,看的我都抽风了 bash: line ...
- SQLI DUMB SERIES-4
less4 输入单引号发现回显正常,说明单引号被过滤了,输入双引号: ?id=1" 说明输入的Id被一对双引号和圆括号包围,因此闭合双引号和圆括号就行,其他方法跟less1差不多 例如:un ...