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.

TVP5150: 请问为什么通过I2C设置芯片后视频数据无法正常输出?

Part Number: TVP5150

如题,我通过FPGA产生一个视频源,通过ADV7393转化成PAL视频输出,ADV7393是通过I2C设置为8位625i,YCrCb输入、YPrPb输出模式,另外ADV7393设置为低功耗模式,其输出的视频信号经过一个SGM8062运放,并且能够在显示器上显示视频,ADV7393的I2C设置如下。

现在需要将输出的PAL视频通过TVP5150接收,将视频信号连接到AIP1A脚,I2C设置为0x03为0x8F,0x0D为0x40,0x0F为0x12,其余保持默认值。但是用FPGA采集输出数据却不正常,vsync、hsync、vblk、fid、avid均为高电平,输出数据一直为0xff,而且修改I2C配置输出也没有变化,如下图所示。

所以想请问一下这种情况是什么原因造成的,应该如何解决?谢谢!

  • 您好,首先TVP5150 现在处于NRND状态,不再推荐使用其参与新的设计。所以建议您使用TVP5150AM1替换。

    就您目前的问题来看,TVP5150的I2C 从机地址设置的多少?通常如果从机地址不对的话,也会收到都是FF的值。

  • 我目前是11脚YOUT7加上拉电阻,所以I2C地址应该是0xBA,应该是能够配置寄存器的,然后配置完以后读取0x88、0x89、0x8C寄存器值,前面几秒钟读取的值不稳定,过几秒钟相对稳定一些,0x88 有时候是0x16,有时候是0x12,0x89有时候0x50有时候0x40,0x8C 为0x81,这里我用了Autoswitch mode,ADV7393输出应该是PAL的但是他识别出来是NTSC的,这又是怎么回事呢?

  • 您好,I2C的时序正确吗?可以将I2C的时序附上我这边看下,是否每次读取之后有收到ACK信号?

  • 我现在能够配置进去了,应该是我上电复位完马上就配置所以0x03这里没正常配置进去吧,现在先等待一下再配,配置完了再读这些寄存器的值就是我配置的值,并且有数据输出了。但是数据不太对,因为我现在给了一个亮度值为250的灰度图像,亮度和色度应该保持不变才对分别为0xfa和0x80,但是一直在变,而且我视频源是27m的时钟,用同样的时钟采数据应该是一个时钟亮度一个时钟色度,但是这里同一个值持续了20多个时钟周期。vsync并不是50mhz,hsync太长了,读了一下0x89,Weak signal detection显示为1

  • 我输出的视频源和示波器采集的I2C信号是这样的

  • 开始配置不进去可能是上电时序的问题,Power on reset电路要等复位起来完全稳定之后再去配置。

    后面您说的情况,hysnc太长,vsync的问题,您读取状态寄存器0x88,看hysnc和vsync 都lock了吗?

    ,Weak signal detection我需要再看下。

  • 我试了一下,发现0x88寄存器读出来的值为0x72,也就是hsync lock了而vsync没有。0x89寄存器一直在0x40、0x50、0x60、0x70之间跳变。我ADV7393输出格式为PAL I,现在把0x28寄存器配置为0x04,如果不配置使用Autoswitch mode的话他就无法正确识别视频格式,会识别成NTSC。

  • 如果不配置使用Autoswitch mode的话他就无法正确识别视频格式,会识别成NTSC

    是不是ADV7393输出的不是标准的PAL I制式。标准的PAL或者NTSC制式如下,如果输入满足比如 (M) PAL ITU−R BT.601,那则可以配置为0110. 如果输入时特殊的制式,则需要配置为autoswitch mode。

  • 试了一下还是不行,只有更换一个视频源试试看了。那我想问一下如果在TVP5150的硬件设计连接没有问题且视频源正常的情况下,一般基本的PAL视频接收解码只需要I2C设置0x00,0x03,0x0D,0x0F,最多再强制设置一下视频格式0x28这几个寄存器就可以了吗?

  • 一般基本的PAL视频接收解码只需要I2C设置0x00,0x03,0x0D,0x0F,最多再强制设置一下视频格式0x28这几个寄存器就可以了吗

    嗯是的,还有0x04,NTSC443 或PAL-M,PAL-N制式覆盖auto switch mode,也就是说,如果是这几种制式,即使配置为autoswitch模式也不会切换到这几种制式,需要将其配置为0。

  • 好的,谢谢!昨天又仔细看了一下,我的ADV7393配置确实有点问题,不应该是YPrPb输出模式,而是CVBS/Y-C输出,现在显示器能够显示是PAL制式,按照手册上是输出PAL I,所以应该不用配置04这位了吧。现在TVP5150的hsync和vsync lock了,auto模式下也识别出PAL视频了,时序上看起来没问题了。但是为啥avid有效数据部分值和我实际送的差异有点大呢?我还是送纯色灰度图,cr,cb均为128,y为250,但是解析出来不太对。

  • 现在发现是在avid有效的前5个像素值差得比较大,后面就很接近了

  • 我的ADV7393配置确实有点问题,不应该是YPrPb输出模式,而是CVBS/Y-C输出,现在显示器能够显示是PAL制式,按照手册上是输出PAL I,所以应该不用配置04这位了吧

    嗯是的,这时候就不用配置0x04了。

    但是为啥avid有效数据部分值和我实际送的差异有点大呢?我还是送纯色灰度图,cr,cb均为128,y为250,但是解析出来不太对。

    实际送的图片是逐行扫描还是隔行扫描,TVP5150是隔行扫描方式。要确认下TVP5150和信号源的扫描方式是不是匹配。

  • 好的,感谢感谢,我的输出是PAL I,应该也是隔行扫描的,我再试一下看看。