Verilog:简单的I2C读取操作

Verilog:简单的I2C读取操作,verilog,Verilog,我已经写了一个程序,从微芯片I2C EEPROM 24XX64读取数据。最初,我能够从从从机获得命令字节的确认,这表示读取操作。也许,我可以在模型模拟器中看到stL(写入驱动器低信号),而不是数据位。我想知道产生这种情况的原因,以及必须采取什么措施来克服这种信号。要从I2C从机读取数据,通常必须先写入寄存器地址。要读取的过程是: 开始 设备地址+写入 寄存器地址(字节数取决于从机) 重复启动 设备地址+读取 从属ACK 当有足够的数据时,Master读取字节和nack 停止 您是否进行了写操

我已经写了一个程序,从微芯片I2C EEPROM 24XX64读取数据。最初,我能够从从从机获得命令字节的确认,这表示读取操作。也许,我可以在模型模拟器中看到stL(写入驱动器低信号),而不是数据位。我想知道产生这种情况的原因,以及必须采取什么措施来克服这种信号。

要从I2C从机读取数据,通常必须先写入寄存器地址。要读取的过程是:

  • 开始
  • 设备地址+写入
  • 寄存器地址(字节数取决于从机)
  • 重复启动
  • 设备地址+读取
  • 从属ACK
  • 当有足够的数据时,Master读取字节和nack
  • 停止

您是否进行了写操作以设置读取的寄存器地址

要从I2C从机读取,通常必须先写入寄存器地址。要读取的过程是:

  • 开始
  • 设备地址+写入
  • 寄存器地址(字节数取决于从机)
  • 重复启动
  • 设备地址+读取
  • 从属ACK
  • 当有足够的数据时,Master读取字节和nack
  • 停止

您是否进行了写操作以设置读取的寄存器地址

给我们看一些波形,标出你认为哪里出了问题!谢谢你的回复。请在下面的链接中找到波形,向我们展示一些波形,并标记您认为哪里出了问题!谢谢你的回复。请在下面的链接中找到波形。数据16'b FFFF先前已写入。我正要执行一个当前读取操作,其中当前读取中的数据是预期的。您好,我刚刚编写了一个读取程序,如上所述,但我仍然可以从从从机看到写入驱动器0。是的。数据16'b FFFF先前已写入。我正要执行一个当前读取操作,其中当前读取中的数据是预期的。您好,我刚刚编写了一个读取程序,如上所述,但我仍然可以从从从机看到写入驱动器0。