This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

tvp7002 720p@60输入画面静止

Other Parts Discussed in Thread: TVP7002, THS8200

你好,

      如题,vga输入720p@60hz(电脑1280*720)经过tvp7002输出20bit,YCbCr 4:2:2 , ES

       通过配置寄存器选择外部行、场同步信号作为内部同步时序,现在图像基本能显示出来但是只能显示一帧静止的图像,
当我用镊子去触输入HSYNC时(手需要触GND),视频才能正常显示。同样的配置下使用1080p作为输入能显示正常。
      寄存器我已经参考官方的配置列表,配置成720p输入了。
      我怀疑同步720p的时序未被tvp7002识别,也就是同步信号时序有问题。
      我想请问下tvp7002内部有配置输入同步信号相关的寄存器吗?或者您能给我们一些建议?
部分配置:
write_byte(0xB8, 0x0E,0x35);//
write_byte(0xB8, 0x04,0x80);// H-PLL Phase Select (default), 0 degrees, CKDI, CKDI, DIV2

write_byte(0xB8, 0x05,0x06);// Clamp Start
write_byte(0xB8, 0x06,0x10);// Clamp Width
write_byte(0xB8, 0x0F,0x2E);// H-PLL and Clamp Control (default)
write_byte(0xB8, 0x10,0x58);// SOG门限 Sync On Green Threshold, RGB clamp
write_byte(0xB8, 0x11,0x40);// Sync Separator Threshold
write_byte(0xB8, 0x12,0x01);// H-PLL Pre-Coast
write_byte(0xB8, 0x13,0x00);// H-PLL Post-Coast (default)
write_byte(0xB8, 0x1A,0xC2);// Input Mux Select 2, SOG LPF bypassed, 4.8MHz CLP LPF, EXT REFCLK, HSYNC_A and VSYNC_A selected
write_byte(0xB8, 0x26,0x80);// ALC Enable (default)
write_byte(0xB8, 0x28,0x53);// ALC Filter (default)
write_byte(0xB8, 0x2A,0x87);// Fine Clamp Control, CM offset enabled, fine clamp enabled
write_byte(0xB8, 0x2B,0x00);// Power Control (default), SOG ON
write_byte(0xB8, 0x31,0x5a);// ALC Placement
write_byte(0xB8, 0x34,0x07);// Macrovision Stripper Width use 07h if internal REFCLK is used
write_byte(0xB8, 0x35,0x10);// VSYNC Alignment
write_byte(0xB8, 0x36,0x00);// Sync Bypass (default)
write_byte(0xB8, 0x3D,0x06);// Line Length Tolerance (Pixel Tolerance)
write_byte(0xB8, 0x3F,0x00);// Video Bandwidth Control (default), maximum B/W selected

读取相关寄存器

Line per frame : 0x2EE
Progressive video detected
Clock per line : 0x94
sync control : 0x35
sync detect status : 0x93

  • 请问你用的到底是ES,还是DS...

  • 内嵌的,上面的问题已经解决。

    但是显示的话貌似少显示了一些行,见下面图片描述

    输出未把任务栏显示出来

     ^  图一,是笔记本(输入源)的显示效果

    ^ 图二, 是输出的效果,未显示出任务栏

    这个不知道啥问题

  • 1. 这个显示器似乎右边还有黑边?

    2. 这个显示器上的字符是否是点对点显示,比较清楚,未经缩放的样子?

    3。 是否laptop输出直接接到显示器确认过源本身没有问题?

    4.  显示器有个选项一般叫做 auto adjust, 就是自动调整显示和居中对齐去黑边的,可以手动设置尝试一下?

    5. TVP7002是采集芯片,是否有查过输出芯片有没有问题?

    6. 基于5,如果TVP7002后面有个主芯片的话,完全可以吧YUV图导出来看采集有没有问题。

  • 2,感觉输出图像在上下方向被拉伸(拉长),上方齐平

    4,笔记本输出直接接到显示器能正常显示,所以确定源没问题

    5,我们使用另外一块板子作为输入源,输出正常,所以tvp7002以及输出通路正常

    6,我抓过一帧图像,发现采集与显示无异

  • 你看看你抓到图像的分辨率?没有道理说哪里给它进行了拉伸吧,TVP7002不具备这样的功能,原理上是行不通的。

    另外你可以尝试看看显示器这里是否能够平移图像,看看能不能把下方的图像移上来。

    怀疑的重点仍然是软件部分。建议你通过I2C把寄存器表整个dump出来和  slec029a中的参考值做一下对比。

  • dear eason:

         在使用内部6.5Mhz参考时钟,如果输入720p 下方两个值应该是多少?

    --- Hsync width [0x3b]

    --- Vsync width  [0x3c]

  • Hi,

    我手头暂无TVP7002的板子,需要拿到板子给你验证下。

    BR,

    Eason

  • 3B  0x0B

    3C 0x03

    用我笔记本的VGA输出口测得

  • 你好,王工:

           为什么选择电脑源(1280*720)与通用720p的源输入tvp7002后现象不一样,通用720p能正常输出,但是为什么电脑源却不行?

    电脑源有什么不同吗,请问tvp7002针对电脑源需要修改哪些寄存器?

           

  • 对于VGA来说每个图像分辨率/帧率下,时序要求都是有一定规范的不能偏出太多不然是采不到的。

    http://www.ti.com/cn/lit/zip/slec029   这里面有个xls,可以输入时序参数来算得寄存器值。

    but,即使是你能够采集电脑的源,那么很有可能其他的720p源就不行了。所以你还是需要搞清楚是否你的电脑源是符合要求的。请参考VESA标准,和电脑源的时序进行比对。

  • 你好,王工:

              对比了通用和PC 720p的源,发现确实存在一些不同,通用输入源与slect029(下图)参数吻合,

    但是PC 720p输入源:帧率为59.81HZ,水平同步频率是44.6kHz, 像素时钟为73.62。

    比较之后参数也相近,但为什么PC源无法被采到?我需要tvp7002能同时兼容这些输入,我该怎么处理,配置寄存器有何方向?

  • Hi,

    1.首先,你应该先确保在已知信号是这种不那么标准的时候,能够让TVP7002把他采到(虽然我也不能保证)。 请按照我之前帖子说的, 实际测量该信号的参数,填写到excel里面生成寄存器表,配置到7002,看能不能正常采到。

    2. 在确保你能采集之后,再考虑怎么去做检测的问题。  通过检测Sync Detect Status可以知道是否有源接入, Lines Per Frame Status, Clocks Per Line Status可以看到每个帧的行数和列数。      Line Length Tolerance  对提升兼容性有一定帮助。

  • Hi, Eason:

            现在PC源可以被采集到,但是因为两个源时序差异,导致现象不同。在使用同一组寄存器的情况下,PC源正常显示,而通用源水平方向

    丢失部分数据(整体画面左边移动,左边部分丢失,右边部分缺失),后来用示波器量抓了下输入HSYNC与RGB时序发现,HSYNC脉冲宽度不同

    ADC采集数据不对。时序如下:

     ^ 上图为PC源时序,CH1-HSYNC, 

    ^ 通用源时序。

    看似通用源RGB数据延后半个,导致在相同的位置ADC采集有一截是空数据。我该如何调整,兼容这个两个时序。

  • 个人觉得这两个偏得太多(HS极性都不一样啊!)还是想办法拆成2组寄存器来做为妙。

    左右移动,其实还分了两种情形:

    1. THS8200去采集前面给过来的YUV数据,这里数据左右移动,可能出现了数据截断或者黑边。

    2. THS8200的输出时序出现了左右移动导致该问题产生。

    建议你进一步看看输出的波形如何是否合规。

    如果要左右移动的话, 尝试调整这几个寄存器:

    所以对于情形1, DTG horizontal delay

    情形2,HS_OUT delay,HS_OUT duration

  • 但是将这两个源接到显示器上是不会有黑边何截断的,都能正常显示。

    是不是有需要检测某个值来做相应的计算啊?

  • 显示器的去黑边,无非几种机制:

    先按照一个时序来采集,采完发现有黑边,那么就换个时序采。。。(也有是采个大的,然后去截取一个中间没有黑边的框)

    EDID。。。就是VGA线上走了个类似I2C的东西,两边直接协商用的是什么分辨率帧率,那么时序参数也就互相知道了

    所以你这边就需要去看我前面的帖子里讲到的几个寄存器去看能不能靠那些个参数找到特征,来给这个PC出来的格式做单独的检测。

  • 请问您上面的问题是如何解决的?

  • 十分建议你新开一个帖子。都不知道你要问什么