如何从adv7513 i2c获得响应

时间:2019-05-23 19:10:05

标签: vhdl fpga i2c hdmi

我想将HDMI监视器与旋风V GX板一起使用,但是在i2c总线上没有收到adv7513的确认。

我认为我在i2c交易开始时发送的地址有问题(我没有得到地址的确认),我找不到有关PD / AD是低还是高的信​​息。另外,我不确定我应该使用7位还是8位地址,因此我需要一些解释。

我使用了我在网上找到的i2c控制器: https://www.digikey.com/eewiki/pages/viewpage.action?pageId=10125324

signaltap result

1 个答案:

答案 0 :(得分:1)

我认为您尚未阅读ADV7513 Programming Guide

  

ADV7513使用四个I2C寄存器映射。 SDA / SCL编程   主寄存器映射的地址是0x72还是0x7A,具体取决于   PD / AD被拉高(10KΩ电源电阻= 0x7A)或被拉高   通电时为低(10KΩ电阻到GND = 0x72)   耗材。用户应等待200毫秒才能确定地址,   电源高电平后,尝试进行通信之前   通过I2C与ADV7513一起使用

I2C地址是7位或10位而不是8位。在这种情况下,它是7位。 参见I2C Specification。因此,如果PD / AD为高电平,则7位地址为0x7A。二进制形式的7位将是:1111010。 R / W位是第一个I2C“地址”字节的最后一位,但是您发布的vhd代码不需要将其作为地址的一部分,这是单独完成的。

addr      : IN     STD_LOGIC_VECTOR(6 DOWNTO 0); --address of target slave
rw        : IN     STD_LOGIC;                    --'0' is write, '1' is read

如果仍然有问题,请检查pull-ups I2C SCL时钟速率,确保主机允许时钟延长。您发布的VHDL代码包含很多有关如何使用的信息,因此请重新阅读。

或者质疑Electrical Engineering Stack Exchange,并从示波器上读取一些SDA / SCL。