×
接口总线驱动 > 总线 > 详情

I2C总线的读操作的流程

发布时间:2020-05-16 发布时间:
|
  M24Cxx的读操作模式及其各种模式的操作流程如图1、图2所示。

  1.  当前地址读
 
  EEPROM内部具有保持当前地址的寄存器。读取当前地址的数据时,不需要指定地址。只要单纯给出读指令就可读出数据。读取完毕后,内部所保持的当前地址将自动进位。

  图1 I2C存储器的读操作(1)

  图2 I2C存储器的读操作(2)

  数据读操作后的ACK/NoACK信号由主机返回,但必须返回NoACK信号。

  2.  随机读
 
  随机读是由主机指定任意的地址读取的。利用写指令设定地址,如果赋予读指令则可以读出当前地址。所以,与字节写操作时相同,在第1字节的数据后面给出地址。在这里,一旦发送出数据就成为写操作,在此设置开始条件,取消向写操作的迁移而发出读指令,将从事先设定的地址中读出数据。
 
  此时,DEVSEL数据(前7位数据)必须设定与最初写指令所发送的相同的值。

  3.  顺序读
 
  在当前地址读操作之后,如果主机返田ACK信号,则为顺序读模式,器件将准备下一个地址的数据,主机取回该数据。一旦到达要读出的最终地址,主机将返回NoACK信号,通知器件这已是最后的数据。

  4.  顺序随机读
 
  当指定任意地址、希望由此连续读出数据时,可利用该模式。只要认为这是与对应于当前读的顺序读相同的模式即可。
 
  顺序随机读模式与随机读同样进行读操作,接收到数据后如果是ACK应答,则器件将准各下一个地址的数据;如果是最终数据,则返回NoACK信号,结束数据的传输。
 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
RS232与RS485谁才是UART中的高速公路