Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 Verilog 仿真中,我必须与 Microchip 的 64K I2C EEPROM 通信。每次从从机获得确认时,我都会在给定的时钟周期内将我的 SDA 驱动到高阻抗。现在,为了从从站获取数据,我是否必须对 SDA 遵循相同的操作?简而言之,是否必须将 SDA 端口驱动到高阻抗状态?
在物理 I2C 电路中,当 SCL 和 SDA 的输出处于高阻抗状态时,有上拉电阻使 SCL 和 SDA 变为高电平。与上拉电阻等效的 Verilog 是 TRI1。当信号处于高阻抗状态时,这将使线路定义而不是浮动。
一般来说,如果SDA线路具有开漏设计,则无需将其置于高阻抗状态(可能不能),但应将其设置为逻辑“1”。但是如果它是一个三态IO 引脚,那么是的,你应该把它置于高阻抗状态,否则你可能会损坏你的电路。
SDA