I2C协议与EEPROM( 二 )

  • 想输出低电平,就驱动三极管 。
  • 从下面的例子可以看看数据是怎么传的(实现双向传输),比如:主设备发送(8bit)给从设备 1.前8个clk
    • 从设备不要影响,从设备不驱动三极管;
    • 主设备决定数据;
    2.第9个clk,由从设备决定数据
    • 主设备不驱动三极管;
    • 从设备决定数据;
    从上面的例子,就可以知道,怎样在一条线上实现,双向传输的办法 。这就是为什么在SDA,SCL上放上拉电阻的原因 。
    在第9个时钟之后,如果有某一方处于繁忙状态,它可以一直把SCL拉低当SCL为低电平时候,大家都不应该使用IIC总线,只有当SCL从低电平变为高电平的时候,IIC总线才能被使用 。
    从前图我们也可以知道ACK信号应该是低电平 。主设备不驱动三极管,如果从设备不驱动三极端的话SDA应该是高电平,当从设备接收数据之后,发出回应信号的时候,就会驱动三极管,让SDA变为低电平 。所以说:ACK信号是低电平 。
    对于IIC协议它只能规定怎么传输数据,数据什么含义它完全不能够控制,数据的含义有从设备决定 。

    【I2C协议与EEPROM】


    推荐阅读