在verilog模拟中,我将不得不与Microchip的64K I2C EEPROM进行通信。每次为了从从机获取ack,我都会在给定的时钟周期内将我的SDA驱动到高阻抗。现在,为了从slave获取数据,我是否必须对SDA执行相同的操作?简单地说,SDA端口是否必须驱动到高阻抗状态?
发布于 2012-10-23 01:18:57
在物理I2C电路中,当输出处于高阻抗状态时,上拉电阻会使SCL和SDA变为高电平。相当于上拉电阻的Verilog是TRI1。当信号处于高阻抗状态时,这将使线路限定而不是浮动。
发布于 2012-10-13 09:03:09
一般来说,如果SDA线路采用open-drain设计,则不需要将其设置为高阻抗状态(可能也不会),但应将其设置为逻辑“1”。但是如果是tri-state IO引脚,那么可以,您应该将其置于高阻抗状态,否则可能会损坏您的电路。
https://stackoverflow.com/questions/12868878
复制相似问题