Vhdl 如何从adv7513 i2c获得响应

Vhdl 如何从adv7513 i2c获得响应,vhdl,fpga,i2c,hdmi,Vhdl,Fpga,I2c,Hdmi,我想在cyclone V GX板上使用hdmi显示器,但我没有得到i2c总线上的确认 我认为我在i2c事务开始时发送的地址有问题(我没有收到地址确认),我找不到PD/AD是低还是高的信息。另外,我不确定我是否应该使用7位或8位地址,所以我想得到一些解释 我使用了我在网上找到的i2c控制器: 我想你还没有读过 ADV7513使用四个I2C寄存器映射。SDA/SCL程序设计 主寄存器映射的地址是0x72或0x7A,取决于 PD/AD被拉高(10KΩ 至电源的电阻器=0x7A)或牵引 低(10KΩ

我想在cyclone V GX板上使用hdmi显示器,但我没有得到i2c总线上的确认

我认为我在i2c事务开始时发送的地址有问题(我没有收到地址确认),我找不到PD/AD是低还是高的信息。另外,我不确定我是否应该使用7位或8位地址,所以我想得到一些解释

我使用了我在网上找到的i2c控制器:


我想你还没有读过

ADV7513使用四个I2C寄存器映射。SDA/SCL程序设计 主寄存器映射的地址是0x72或0x7A,取决于 PD/AD被拉高(10KΩ 至电源的电阻器=0x7A)或牵引 低(10KΩ 当电源施加到电源时,接地电阻=0x72) 补给。用户应等待200毫秒以确定地址, 电源电压高后,在尝试通信之前 使用I2C的ADV7513

I2C地址是7位或10位而不是8位。在这种情况下,它是7位的。 看见因此,如果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
如果仍然存在问题,请检查I2C SCL时钟频率,确保主机允许时钟拉伸。您发布的VHDL代码中有很多关于如何使用的信息,请重新阅读


或者,询问并获取SDA/SCL的一些示波器读数。

您自己尝试过什么来调试这个问题或找出应该使用哪个地址?我已经模拟了我的代码并使用了signaltap。我已将逻辑分析仪的波形添加到问题中。我的adv7513安装在cyclone v开发板上,因此我确信它与我的fpgaI正确连接。我已将地址更改为01111001,它开始工作