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)处理过程的更多相关文章

  1. 阅读<<SDI TX Bridge>>笔记

    阅读<<SDI TX Bridge>>笔记 1.Path from AXI4-Stream Video Processing to SDI 2.Top Level Block ...

  2. C#使用CH341 SPI模块读写SD卡

    SD卡相关CMD命令 ;//卡复位 ; ;//命令9 ,读CSD数据 ;//命令10,读CID数据 ;//命令12,停止数据传输 ;//命令16,设置SectorSize 应返回0x00 ;//命令1 ...

  3. FI模块与SD、MM的接口配置方法

    [转自 http://blog.itpub.net/195776/viewspace-1023910/] 1 FI/SD 借口配置FI/SD通过tcode VKOA为billing设置过帐科目,用户可 ...

  4. SD: 关于价格过程的确定

    在SD模块中,定价过程是一个非常重要的功能,在单据中使用哪个定价过程取决于三个因素 1)销售区域(sale Area) 该数据来自Sold-to Party的客户维护的销售数据. 2)客户主数据的定价 ...

  5. Nginx 模块开发(1)—— 一个稍稍能说明问题模块开发 Step By Step 过程

    1. Nginx 介绍        Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/S ...

  6. python之模块、包的导入过程和开发规范

    摘要:导入模块.导入包.编程规范 以My_module为例,My_module的代码如下: __all__ = ['name','read'] print('in mymodule') name = ...

  7. python中pygame模块的Linux下安装过程

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...

  8. SAP ERP SD模块中维护销售人员

    SAP ERP SD模块中维护销售人员信息并分配销售组织   分类: SAPHCM用户指南   在SAP ERP系统,销售和分销(SD)模块中需要创建销售人员(Sales Personnels)消息, ...

  9. GTP+SDI工程播出部分思路整理

    GTP+SDI工程播出部分思路整理 1.video_out_to_sdi模块 关于video_out_to_sdi模块的输出信号: tx_video_a_y[9:0] 这是要输入SDI IP核内的 t ...

随机推荐

  1. 【linux基础】linux远程登录

    可以用ssh命令行方式登录.对方需要开启ssh服务. 1. https://blog.csdn.net/zilaike/article/details/78922524 2. https://blog ...

  2. MySQL篇,第二章:数据库知识2

    MySQL 数据库 2 名词介绍 1.DB(Database) DB就是数据库,存储数据的仓库 2.DBMS(Database Management System) 数据库管理系统 管理数据库的软件, ...

  3. 20155208徐子涵 2016-2017-2 《Java程序设计》第2周学习总结

    20155208徐子涵 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 第三章 基础语法 3.1 类型.变量与运算符 • 关键字:在定义java文件名的时候要 ...

  4. java依赖注入(injection)

    和SpringSource分别通过其开源项目Guice及Spring Framework提供了依赖注入的功能.然而直到现在开发者也没有一种标准的.独立于供应商的方式从而无需修改其源文件就能在这些框架之 ...

  5. python中进制之间的转换

    参考于:http://www.360doc.com/content/14/0428/11/16044571_372866302.shtml  在此非常感谢! ~~~~~~~~~~~~~~~~~~~~~ ...

  6. CF使用TGP下载后,分卷文件损坏的解决方法

    首先从游戏的列表删除游戏(安装失败出现分卷文件损坏的游戏) 然后进入游戏重新,继续找到该游戏(安装失败的游戏) 点击下载游戏!不会重新下载的,之后下载一些失败的文件,不会花费多少时间,慢慢等待即可 之 ...

  7. Go Example--switch

    package main import ( "fmt" "time" ) func main() { i := 2 fmt.Print("write ...

  8. 【传输协议】TCP、IP协议族之数字签名与HTTPS详解

    文章转载出自:https://blog.51cto.com/11883699/2160032 安全的获取公钥 细心的人可能已经注意到了如果使用非对称加密算法,我们的客户端A,B需要一开始就持有公钥,要 ...

  9. Redux 学习笔记

    1:首先安装redux: npm install --save redux 2:引入redux : import { createStore } from 'redux'; //首先创建执行函数,Re ...

  10. Singer 学习八 运行&&开发taps、targets (三 开发tap)

    如何没有找到适合的tap,那么我们可以自己开发一个 hello world tap 仅仅是一个程序,我们可以使用任何语言进行编写,根据singer 指南,输出数据到stdout 即可,实际上一个简单的 ...