Verilog:I2C读操作

时间:2012-10-13 00:35:00

标签: verilog i2c

在verilog仿真中,我将不得不与Microchip的64K I2C EEPROM进行通信。每次从奴隶获得一个ack,我在给定的时钟周期内将SDA驱动到高阻抗。现在,为了从slave获取数据,我是否必须遵循相同的SDA?简单地说,SDA端口是否必须被驱动到高阻抗状态?

2 个答案:

答案 0 :(得分:2)

在物理I2C电路中,有一些上拉电阻使SCL和SDA在输出处于高阻态时变为高电平。相当于上拉电阻的Verilog是TRI1。当信号处于高阻抗状态时,这将使线路定义而不是浮动。

答案 1 :(得分:1)

一般来说,如果SDA行具有open-drain设计,则无需将其置于高阻抗状态(可能您不能),但您应将其设置为逻辑' 1。但是,如果它是tri-state IO引脚然后是,则应将其置于高阻态,否则可能会损坏电路。