No video issues for Sony BDP360

前几天QA报了一个bug说是 当上游信号源为BDP360 DVD时,下游TV没有图像显示。

先简单介绍下我们平台的情况,如右所示。 上游信号源(DVD) ----------》 Our Chip( Rx+Tx) ----------》 下游TV

 

设备兼容性测试是视频接口产品(如HDMI Rx)中非常麻烦的一个环节。 QA或客户随时都可能从哪个角落里找出一个device来测试产品的兼容能力。 又由于HDMI spec不可能把上、下游设备的行为规定得非常详细,所以在规则允许范围内,设备的行为就可能千差万异。 这也是为什么有的设备在我们产品work的很好,而换成别的设备就会出现问题。

 

回到上面这个问题,我看到的现象是, 下游TV在不停的toggle我们chip,从而导致chip的Rx不停的去toggle 上游DVD的HPD。  粗看上去是HPD 的issue。 期间还犯了一个错误,就是用万用表来测量hpd pin上有voltage变化,结果是电压值非常稳定。  为此还纠结了很久,以为是chip本身的问题。 后来用scope来trigger就能看到下游TV的确在toggle hpd。 这里需要申明下, 就是极少数TV和monitor在没有收到稳定video时会不停的toggle上游的hpd。

 

后来用I2C monitor来观察dvd和chip见的DDC 数据,发现EDID data checksum wrong。 经同事提醒,sony dvd如果读到错误的EDID就不会发送图像出来。到这个阶段,我们终于明白了, 原来是dvd读到我们错误的EDID 了。  那我们chip 的edid实际上就是读下游TV的edid然后存放到SRAM里面供上游dvd来读。 

我又做了一个测试,直接用874链接下游tv,经特定pattern检测,TV EDID是正确的。然后我又在程序里面把SRAM存放的edid打印出来,结果和前面完全一样。 那为什么DVD会读错呢?

 

百思不解中,幸好有硬件同事提示,我们板子上有2处EDID, normally上电时chip读下游EDID然后存放在sram供上游读;但没电时,上游会读板子上eeprom的缺省edid。 这里面有个gpio在控制。 当上电后,应该把它拉高,以便eeprom i2c 地址改成0xA4,使上游能读sram edid。在fw init上加上这个拉高动作,上游就能读到sram的edid,图像正常显示。 估计eeprom里面的edid是坏的。

 

难的问题往往有很多表象来迷惑我们,而且这里面device有些不同的行为,才导致这个问题解起来比较费时(花了一天)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ltshan139

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值