i2c 工作原理

 在I2C总线的数据传输过程中,主控器和被孔器工作在两个相反的状态 并且在一次通信过程中一股不发生转换;
  
  1. 主控器为发送器(主控发送器)时被控器为接收器(被控接收器);
  
  2. 主控器为接收器(主控炫收器)时被控器为发送器(被控发送器)。
  
  图所下为一次完整的通信过程时序,在I2C总线上进行的每一次通信过程,都存在在如下规律:

i2c 工作原理_第1张图片

  图 一个完整通信过程的I2C总线信号时序

  1.  由主控器主动发起,并且以发送启动信号S和停止信号P分别来掌管总线和释放总线。
  
  2.  通信过程都是以启动信号S开始、以停止信号P结束。
  
  3.  传送的数据字节数没有限制。
  
  4.  主控器在启动信号后紧接着发送一个地址字节,其实包含7位被控器地址码和1位读/写控制位R/W。
  
  5.  读/写控制位R/W(或称作方向位)用于通知被控器数据传送的方向,0表示这次通信是由主控器向被控器写数据,1表示这次通信是主控器从被控器读数据。
  
  6.  每传送1个地址字节或数据字节共需要9个时钟脉冲, 其中第1~8个时钟脉冲对应的是由发送器向接收器发送的信息,笫9个脉冲对应的是由接收器句发送器反馈的一个应答位ACK。
  
  7.  所有挂接到I2C总线上的被控器件都接收启动信号后的地址字节,并且把接收到的7位地址码与自己的地址进行比较,如果相符即为主控器寻址的被控器,在第9个时钟脉冲期间反馈应答信号。
  
  8.  每个数据字节在传送时都是高位(MSB)在前。

你可能感兴趣的:(i2c 工作原理)