tvp2n7002 pdf可以输出lp7.9的屏吗

再问一个TVP7002的DE信号与数据对齐的问题 - 接口/时钟 - 德州仪器在线技术支持社区
再问一个TVP7002的DE信号与数据对齐的问题
发表于2年前
<input type="hidden" id="hGroupID" value="23"
TVP7002有没有设置DE和数据自动对齐的功能(即分辨率最左边的第一个像素与DE对齐)?&/p>
&p>现在发现有个别分辨率的数据提前于DE信号几个时钟周期;&/p>
&p>如果VGA信号经过VGA分配器等设备,在接入TVP7002后,则大部分都存在有效数据相对于DE信号有延迟。&/p>
&p>现在的应用需要根据DE信号采集有效数据,如果无自动对齐功能,那就需要针对不同分辨率,不同应用场手动校准对齐,很麻烦。&/p>&div style=&clear:&>&/div>" />
再问一个TVP7002的DE信号与数据对齐的问题
此问题有建议答案
All Replies
TVP7002有没有设置DE和数据自动对齐的功能(即分辨率最左边的第一个像素与DE对齐)?
现在发现有个别分辨率的数据提前于DE信号几个时钟周期;
如果VGA信号经过VGA分配器等设备,在接入TVP7002后,则大部分都存在有效数据相对于DE信号有延迟。
现在的应用需要根据DE信号采集有效数据,如果无自动对齐功能,那就需要针对不同分辨率,不同应用场手动校准对齐,很麻烦。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
榜眼48865分
你的这个问题很可能是同步没做好,跟HSYNC和VSYNC的设置有关,楼主可参考下面这个帖子,这个帖子几乎包含了所有TVP51xx系列以及高清AD TVP7200和DA THS8200经常遇到的问题,相信你看了之后一定有所收获,有关TVP7002常遇到的问题,可参考5楼的贴:
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
状元26586分
完全值得参考&&&&&
TI的忠诚粉丝!
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
HSYNC和VSYNC都是参考你们的推荐设置的,具体是哪儿的同步没做好?
您推荐的帖子关于自动分辨率判别,我已实现,没问题。
但是我还是没看到任何关于DE和数据自动对齐的设置,麻烦您详解一下。
一般来说,VGA信号经过分配器或矩阵之类的,会产生RGB信号与VSYNC和HSYNC延迟不一致的问题,所以接入TVP7002后,会产生DE信号和数据未对齐的情况,我是想有没有自动对齐的设置?
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
榜眼48865分
你的意思是目前DE 信号对齐的并非是有效数据,是那些没用的消隐信号,你可以看下TVP7002的寄存器,0x17h,bit[6:4]设置成001,为Data Enable output,bit[0]output enable 配置成0使其使能,这时候data enable对应的输出便是有效的数据。请看下面注释:
NOTE: Data Enable output is equivalent to the internal active video signal that is controlled by the AVID start/stop pixelvalues and the VBLK offset/duration line values.&
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
但是VGA信号经过VGA分配器或矩阵后,DE信号对齐的的确并非完全是有效数据。
看了您给的解释,如果没有别的方法,只能使用手动校准对齐(修改不同分辨率的推荐AVID和VBLK设置)。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.3652人阅读
DaVinci(21)
DM6467的VPIF接口支持BT.1120和SMPTE 296M两种高清&#26684;式,其中BT.P(1080I)分辨率,SMPTE296M是720P分辨率。我们这里直接测试BT.;式的高清视频。
我们开发板上的高清视频AD芯片是TVP7002,TVP7002支持的视频&#26684;式如图 1所示。可以看出,要测试BT.;式的视频输入,只能使用80P60、80I50,而1080P30不行。考虑到DM6467的处理能力,我们暂不测试1080P60,最终决定测试的视频&#26684;式为1080I60。
1 TVP7002支持的视频&#26684;式
1&&&&&&&&BT.1120标准简介
BT.1120是世界电信联盟制定的一套高清视频&#26684;式规范,与BT.601类&#20284;。BT.1120标准定义了高清视频传输过程中的信号&#26684;式、接口规范等协议。对于BT.1120我们只需关注以下几点:
1,& 每行1920个像素点,每帧1125行,其中1080有效行。
2,& 图像频率包括60、50、30、25和24Hz,可以逐行、隔行和分段传输。
3,& YCbCr传输时使用20bit,Cb和Cr复用;RGB传输时使用30bit。
4,& 视频的帧同步采用SAV(Start ofActive Video)和EAV(End of Active Video)机制。
5,& 在测试684;式的视频时,亮度取样信号频率(像素点频率)为74.25MHz,如图 2所示。
6,& 对于隔行扫描系统,BT.1120规定的场/段定时关系如图 3所示;针对684;式的视频,具体的参数如图 4所示。
2 BT.1120采样频率表
3 隔行扫描中场/段定时关系
4 隔行扫描中场/段定时参数
在我们设计的电路中,TVP7002输出视频采用YCbCr编码,并且只传输高8位。TVP7002的时钟采用内部时钟,同时TVP7002也向VPIF提供参考时钟。另外,视频的同步信号时内嵌在RGB三个通道中的G通道,也即需要将G通道接到TVP7002的SOG(Sync on Green)引脚,电路原理图如图 5所示。
5 TVP7002输入信号电路原理图
2&&&&&&&&CCS中调试TVP7002
高清视频信号进入DM6467的过程是:RCA高清插座-&THS7353钳位放大器-&TVP7002高清视频AD转换-&SN74CBT16214DGGR总线切换-&FPGA视频预处理-&DM6467的VPIF视频接口,另外,DM6467通过CPLD管理整个系统的逻辑控制。
2.1&&&&&&&&&&CPLD程序修改
CPLD主要负责输入视频的通道选择,选通标清输入或者高清输入。需要根据CPLD程序中的reg1各个bit的定义来设置正确的&#20540;。
&&& ------------------------------- Reg1 (0x3b) -----------------------------
&&& --&&&&&&&&&&&&&&&&&&&&&&&&& [=0]&&&&&&&&&&&&&&&&&&&& [=1]
&&& -- BIT 0&&& TVP5147_RST& &&&*TVP5150 Normal&&&&&&&&& TVP5150 Reset
&&& -- BIT 1&&& TVP5147_PWD&&&& *TVP5150 Normal Mode&&&& TVP5150 Power Down
&&& -- BIT 2&&& TVP7002_RST&&&& *TVP7002 Normal&&&&&&&&& TVP7002 Reset
&&& -- BIT 3&&& TVP7002_PWD&&&& *TVP7002 Normal Mode&&&& TVP7002 Power Down
&&& -- BIT 4&&& TVP_SELECT&&&&& *Select TVP5150&&&&&&&&& Select TVP7002
&&& -- BIT 5&&& VID_IN_MODE&&&& *Standard Def In&&&&&&&& High Def In
&&& --&&&&&&&&&&&&&&&&&&&&&&&&& (CV/SV)&&&&&&&&&&&&&&&&& (HD_Y/HD_C)
&&& -- BIT 6&&& VID_OUT_MODE&&& *Standard Def Out&&&&&&& High Def Out
&&& --&&&&&&&&&&&&&&&&&&&&&&&&& (ADV_S)&&&&&&&&&&&&&&&&& (ADV_Y/ADV_C)
-- BIT 7&&& -&&&&&&&&&&&&&& TVP5150/TVP7002&&&&&&&&& CMOS INPUT
其中最重要的bit4和bit5,bit4使能TVP7002或者TVP5150,bit5切换标清输入或者高清输入的数据信号,由于没有高清显示器,暂时bit6无意义。所以最终需要设置reg1的&#20540;为0x30。
另外,由于我们在开发板上添加了OV5642数字摄像头扩展板,所以需要略微修改逻辑控制,以兼容OV5642的程序。
&&& -- Pin Control
&&& VID_INLO_S0&&&&&&&& &= '0' when Enable_CV&& = '1' else '1'; -- CV
&&& VID_INLO_S1&&&&&&&& &= '0' when Enable_CMOS_LO = '1' else '1'; -- HD_Y
&&& VID_INLO_S2&&&&&&&& &= '1' ;
&&& VID_INHI_S0&&&&&&&& &= '1' ;--when Enable_SV&& = '1' else '0'; -- SV
&&& --VID_INHI_S1&&&&&&&& &= '1' when Enable_HD_C = '1' else '0'; -- HD_C
&&& VID_INHI_S1&&&&&&&& &= '0' when Enable_CMOS_HI = '1' else '1'; -- HD_C
VID_INHI_S2&&&&&&&& &= '1' ;
& TVP5150_I2Cn&&&&&&& &= '0' when Reg1(4) = '0' else '1';
TVP7002_I2Cn&&&&&&& &= '0' when Reg1(4) = '1' else '1';&&&& -- [U7] :TVP7002
2.2&&&&&&&&&&FPGA程序修改
对于FPGA部分,暂时仍然是采用直连,不做任何视频预处理。在通过高清视频信号时,需特别注意TVP7002传过来的时钟信号,该信号频率比较高,为74.25MHz。要使Cyclone III FPGA输出与输入信号相同频率的时钟信号,需要使用锁相环,并将锁相环的默认时钟频率设置为大于等于74.25MHz。如果要处理684;式的视频,则需要将锁相环的默认频率配置为148.5MHz。暂时我们只需要处理1080I60的视频,所以设置为74.25MHz就可以了,如图 6所示。
6 锁相环模块参数配置
2.3&&&&&&&&&&VPIF寄存器参数配置
对于VPIF寄存器配置,重点是其中的通道控制寄存器(CH0_CTRL,CH1_CTRL)和与line format相关的各个寄存器。
VPIF的line format示意图如图 7所示。
7 VPIF的line format示意图
针对684;式的视频,其中各个参数的&#20540;如图 8所示。
8 684;式的各个参数
根据图 8,VPIF各寄存器的配置情况如下所示。
&&&&&&& VPIF_CHCTRL0 = 0&&&& &&&&&&&// Capture Parameters
&&&&&&&&&&& | ( 0 && 12 )&&&&&&&&&& // Input Field
&&&&&&&&&&& | ( 0 && 10 )&&&&&&&&&& // Interlaced Format
&&&&&&&&&&& | ( 0 && 9 )&&&&&&&&&&& // No Vertical Ancillary
&&&&&&&&&&& | ( 0 && 8 )&&&&&&&&&&& // No Horizontal Ancillary
&&&&&&&&&&& | ( 1 && 6 )&&&&&&&&&&& // [2] Interrupt on Bottom Field
&&&&&&&&&&& | ( 0 && 4 )&&&&&&&&&&& // Raster
&&&&&&&&&&& | ( 0 && 3 )&&&&&&&&&&& // Y/C on seperate byte streams
&&&&&&&&&&& | ( 0 && 1 )
&&&&&&&&&&& | ( 0 && 0 );&&&&&&&&&& // Channel Disabled
&&&&&&& channel0-&regs-&IMG_LINE_OFFSET = 1920;
&&&&&&& channel0-&regs-&HSIZE_CFG&& = ( 272 && 16 ) | ( 1920 && 0 );
&&&&&&& channel0-&regs-&VSIZE_CFG0& = (&& 1 && 16 ) | (&& 21 && 0 );
&&&&&&& channel0-&regs-&VSIZE_CFG1& = ( 561 && 16 ) | (& 564 && 0 );
&&&&&&& channel0-&regs-&VSIZE_CFG2& = ( 584 && 16 ) | ( 1124 && 0 );
&&&&&&& channel0-&regs-&VSIZE_CFG3& = ( 1125 );
&&&&&&& VPIF_CHCTRL1 = 0&&&&&&&&&&& // Capture Parameters
&&&&&&&&&&& | ( 0 && 10 )&&&&&&&&&& // Interlaced Format
&&&&&&&&&&& | ( 0 && 9 )&&&&&&&&&&& // No Vertical Ancillary
&&&&&&&&&&& | ( 0 && 8 )&&&&&&&&&&& // No Horizontal Ancillary
&&&&&&&&&&& | ( 1 && 6 )&&&&&&&&&&& // [2] Interrupt on Bottom Field
&&&&&&&&&&& | ( 0 && 4 )&&&&&&&&&&& // Raster
&&& &&&&&&&&| ( 0 && 3 )&&&&&&&&&&& // Y/C on seperate byte streams
&&&&&&&&&&& | ( 0 && 1 )
&&&&&&&&&&& | ( 0 && 0 );&&&&&&&&&& // Channel Disabled
&&&&&&&&&&&&&&&&&& channel1-&regs-&IMG_LINE_OFFSET = 1920;
&&&&&&& channel1-&regs-&HSIZE_CFG&& = ( 272 && 16 ) | ( 1920 && 0 );
&&&&&&& channel1-&regs-&VSIZE_CFG0& = (&& 1 && 16 ) | (&& 21 && 0 );
&&&&&&& channel1-&regs-&VSIZE_CFG1& = ( 561 && 16 ) | (& 564 && 0 );
&&&&&&& channel1-&regs-&VSIZE_CFG2& = ( 584 && 16 ) | ( 1124 && 0 );
&&&&&&& channel1-&regs-&VSIZE_CFG3& = ( 1125 );
2.4&&&&&&&&&&TVP7002寄存器配置
对于TVP7002的配置比较复杂,需要参考TI官网上TVP7002的配置例程。在配置TVP7002之前,需要通过CPLD选通TVP7002的I2C通道并使能芯片,然后通过I2C配置TVP7002的各个I2C寄存器使其正常工作。在配置TVP7002为某种工作模式之前,需要先将TVP7002进行软件复位然后才开始配置。
TVP7002的寄存器配置如下所示。
&&& /* TVP7002 - 1080i@60Hz - 33.75 Khz - 74.25Mhz - 20bit 4:2:2 - Embedded Syncs */
&&& errors |= tvp7002_rset( 0x01, 0x89 );&& // PLL DIVMSB&& 2200
&&& errors |= tvp7002_rset( 0x02, 0x80 );&& // PLL DIVLSB
&&& errors |= tvp7002_rset( 0x03, 0x98 );&& // PLL CONTROL
&&& errors |= tvp7002_rset( 0x04, 0x80 );&& // PHASE SEL(5) CKDI CKDI DIV2
&&& errors |= tvp7002_rset( 0x05, 0x32 );&& // CLAMP START
&&& errors |= tvp7002_rset( 0x06, 0x20 );&& // CLAMP WIDTH
&&& errors |= tvp7002_rset( 0x07, 0x60 );&& // HSYNC OUTPUT WIDTH - 96
&&& //errors |= tvp7002_rset( 0x0e, 0x20 );&& // SYNC CONTROL&&& HSout&#43;
&&& errors |= tvp7002_rset( 0x0e, 0x1b );
&&& errors |= tvp7002_rset( 0x0f, 0x2e );&& // PLL and CLAMP CONTROL
&&& errors |= tvp7002_rset( 0x10, 0x5d );&& // SOG Threshold-(YPbPr Clamp)
&&& errors |= tvp7002_rset( 0x11, 0x47 );&& // SYNC SEPERATOR THRESHOLD
&&& //errors |= tvp7002_rset( 0x12, 0x00 );&& // PRE_COAST
&&& errors |= tvp7002_rset( 0x12, 0x01 ); && // PRE_COAST
&&& errors |= tvp7002_rset( 0x13, 0x00 );&& // POST_COAST
&&& errors |= tvp7002_rset( 0x15, 0x47 );&& // Output Formatter, 64-960, embedded syncs
&&& errors |= tvp7002_rset( 0x16, 0x01 );&& // MISC Control
&&& errors |= tvp7002_rset( 0x17, 0x00 );&& // Outputs enabled
&&& errors |= tvp7002_rset( 0x18, 0x01 );&& // T-SW disabled, blank off, CSC disabled, FID, SOG, CLK polarity=invert
&&& errors |= tvp7002_rset( 0x19, 0x00 );&& // INPUT MUX SELECT&&& CH1 selected (BNC )
&&& errors |= tvp7002_rset( 0x1a, 0x67 );&& // SOG Filter(10Mhz) and CLP, INT REF CLK, INPUT MUX SELECT &HSYNC_B and VSYNC_B selected
&&& errors |= tvp7002_rset( 0x21, 0x08 );&& // HSOUT START
&&& errors |= tvp7002_rset( 0x22, 0x00 );&& // Macrovision support
&&& errors |= tvp7002_rset( 0x26, 0x80 );&& // ALC Enable
&&& errors |= tvp7002_rset( 0x28, 0x53 );&& // AL FILTER Control
&&& errors |= tvp7002_rset( 0x2a, 0x07 );&& // Enable FINE CLAMP CONTROL
&&& errors |= tvp7002_rset( 0x2b, 0x00 );&& // POWER CONTROL-SOG ON
&&& errors |= tvp7002_rset( 0x2c, 0x50 );&& // ADC Setup
&&& errors |= tvp7002_rset( 0x2d, 0x00 );&& // Coarse Clamp OFF
&&& errors |= tvp7002_rset( 0x2e, 0x80 );&& // SOG Clamp ON
&&& errors |= tvp7002_rset( 0x31, 0x5a );&& // ALC PLACEMENT
&&& errors |= tvp7002_rset( 0x34, 0x02 );&& // Macrovision Stripper Width
&&&&&&&& //errors |= tvp7002_rset( 0x3e, 0x04 );
&&& errors |= tvp7002_rset( 0x3f, 0x01 );&& // Input B/W
&&& errors |= tvp7002_rset( 0x40, 0x06 );&& // AVID Start& 262 (236&#43;26) 27-1 for SOG filter differnence
&&& errors |= tvp7002_rset( 0x41, 0x01 );&& // AVID Start
&&& errors |= tvp7002_rset( 0x42, 0x8a );&& // AVID Stop& 2186 (AVID start &#43; 1920 &#43; 4)
&&& errors |= tvp7002_rset( 0x43, 0x08 );&& // AVID Stop
&&& errors |= tvp7002_rset( 0x44, 0x02 );&& // VBLK F0 Offset
&&& errors |= tvp7002_rset( 0x45, 0x02 );&& // VBLK F1 Offse
&&& errors |= tvp7002_rset( 0x46, 0x16 );&& // VBLK F0 Duration
&&& errors |= tvp7002_rset( 0x47, 0x17 );&& // VBLK F1 Duration
3&&&&&&&&使用Matlab显示高清视频图像
在CCS中运行程序,当VPIF把一帧视频数据存储到DDR2SDRAM中之后,可以通过CCS的Load/Save Utility功能将该帧数据传输到上位机,然后通过Matlab显示出来,以判断采集到的视频数据是否正确。
在使用Matlab读取存储到上位机的视频帧数据时,特别需要注意数据存储的顺序,否则会读取出混乱的图像。VPIF存储到DDR2上数据&#26684;式如下所示。
YYYYYY……YYYYYY
CbCrCbCr……CbCrCbCr
YYYYYY……YYYYY
bottom field
CbCrCbCr……CbCrCbCr
bottom field
最开始是top field的亮度信号,然后是色度信号,接下来是bottom field的亮度信号和色度信号。所以在读取的时候需要按照以下顺序来读。
for i = 1:ver_t
&&& yt(i,:) = fread(fid, hor, 'uint8' );
for i = 1:ver_t
&&& ct(i,:) = fread(fid, hor, 'uint8' );
for i = 1:ver_b
&&& yb(i,:) = fread(fid, hor, 'uint8' );
for i = 1:ver_b
&&& cb(i,:) = fread(fid, hor, 'uint8' );
最终,使用Matlab显示的图像如图 9和图 10所示。
9 高清图像示例1
10 高清图像示例2
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:58257次
排名:千里之外
原创:29篇
评论:134条君,已阅读到文档的结尾了呢~~
TVP7002的输入信号模式识别模式识别
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
TVP7002的输入信号模式识别
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口TVP70025IPZP中文资料_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
TVP70025IPZP中文资料
||暂无简介
电子元器件行业,实体市场,全程保障|
总评分0.0|
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩52页未读,继续阅读
你可能喜欢

我要回帖

更多关于 2n7002k 的文章

 

随机推荐