天天看点

ATSHA204A(五)——唤醒,休眠1. 数据包2.唤醒3.休眠

1. 数据包

在 I2C 写数据包期间,ATSHA204A 会将发送的第二个字节解释为字地址,表示数据包功能,如下表所述。

ATSHA204A(五)——唤醒,休眠1. 数据包2.唤醒3.休眠

2.唤醒

当器件唤醒时,它将遵循下列条件:

  • 0:如果 SDA 为低电平且保持稳定,而 SCL 由低电平变为高电平再变为低电平,则将在总线上传输一个 0 位。当 SCL 为低电平时,SDA 可发生变化。
  • 1:如果 SDA 为高电平且保持稳定,而 SCL 由低电平变为高电平再变为低电平,则将在总线上传输一个 1 位。当 SCL 为低电平时,SDA 可发生变化。

I2C总线上数据位传输:

ATSHA204A(五)——唤醒,休眠1. 数据包2.唤醒3.休眠
  • :必须将 SDA 从高电平转换为低电平且 SCL 为高电平作为优先于所有命令的启动条件。
  • :SDA 线从低电平转换为高电平且 SCL 为高电平为停止条件。器件收到此条件后,当前的I/O 事务结束。在输入端,如果器件有足够的字节来执行命令,则器件转换到繁忙状态并开始执行。

I2C总线的启动停止条件:

ATSHA204A(五)——唤醒,休眠1. 数据包2.唤醒3.休眠

唤醒到数据传输之间的延时: 

ATSHA204A(五)——唤醒,休眠1. 数据包2.唤醒3.休眠
ATSHA204A(五)——唤醒,休眠1. 数据包2.唤醒3.休眠

3.休眠

当器件休眠时,它将忽略除唤醒状态以外的所有状态。

如果 SDA 保持低电平的时间超过 tWLO,此器件将退出低功耗模式,并且在 tWHI 的延时后,它将准备好接收 I2C 命令。当器件空闲或休眠时,在 tWLO 期间,器件将忽略 SCL 引脚上的任何电平或转换。在 tWHI 期间的某个时刻,将使能 SCL 引脚,并且将遵循 一节中列出的条件。

唤醒条件要求系统处理器手动将 SDA 引脚驱动为低电平并持续 tWLO,或者以足够低的时钟速率传输 0x00数据字节以使 SDA 的低电平时间持续最短周期 tWLO。当器件唤醒时,正常的处理器 I2C 硬件和/或软件可用于器件通信,直至包括所需的 I/O 序列,从而使器件回到低功耗(例如休眠)模式。

当总线上有多个 ATSHA204A 器件时,I2C 接口运行在 133KHz 或更低频率下,传输某些数据类型(例如0x00)将导致总线上的所有 ATSHA204A 器件唤醒。由于沿总线传输的后续器件地址将只匹配所需的器件,因此未使用的器件将保持无效,不会引起任何总线冲突。

继续阅读