I2C总线

一、I2C 总线特征:

      I2C总线_第1张图片

1、总线空闲是,2 根线都被上拉电阻拉高,保持高电平;

2、I2C 总线上的每个设备都可以作主/从设备,每个设备有唯一地址:

I2C 设备地址:由 7 位地址和 1 位 R/W 读写位组成

如:DA3  DA2  DA1  DA0  A2  A1  A0  R/W

  • 其中 DA3 DA2 DA1 DA0 这 4 位是器件生产出来就订好了,查手册
  • 用户可以自定义的地址码有 3 位:A2 A1 A0 
  • 最低位为 R/W 位,”0“ 表示主机向从机写数据 ,”1“ 表示主机向从机读数据
  • 所以 I2C 设备的地址表示方法有时是不加读写位,读写其他地方定义; 有时是有写地址和读地址2个
3、I2C 总线上可以挂接的设备数量受总线的最大电容 400 pF 限制;
(这个其实不是很严格,主要是因为引脚的驱动电流和带宽限制,当线路上负载电容很大时,方波的上下沿斜率变小,
  方波畸变,同时有振铃现象,会影响数据通信。但事实上 400pF 时,仍可正常通信,只是误码风险增大)

4、I2C 总线数据传输速率:
Standard mode : 100kbit/s

Fast mode : 400kbit/s

High-Speed mode:3.4Mbit/s

5、I2C 上拉电阻问题:

由于 SDA 和 SCL 都是集电极开路或漏极开路结构,只能输出“0”,不能输出“1”,所以必须接上拉电阻,

一般上拉电阻可以是 1.5k 、2.2K 、4.7K


二、I2C 总线协议:

1、总线空闲时都为高,SDA:由高到低, 为其实条件

         SCL 为高时,SDA:由低到高,为结束条件

I2C总线_第2张图片


2、按字节传送,一次 8 bit

I2C总线_第3张图片

I2C总线_第4张图片

3、数据操作方式:

主往从写数据:

I2C总线_第5张图片

去从读数据:

I2C总线_第6张图片

先去R/W,重启其实条件,再去R/W:

I2C总线_第7张图片



你可能感兴趣的:(硬件设计)