在读取事务期间,主设备读取从设备内位于指定地址处的寄存器中的数据。如图 6-3 所示,读取事务以开始位开始,以 ACK 位结束。
- 器件编号 这是所存取 LM95010 器件的地址。地址“000”是一个广播地址,可由所有从设备器件进行响应。LM95010 在读取事务期间忽略广播地址。
- 内部地址 LM95010 中所读取寄存器的地址。
- 读取/写入 (R/W) “1”表示读取事务。
- 数据位 在读取事务期间,数据位由 LM95010 驱动。串行传输数据时,最高有效位优先。这允许基于需要读取的信息优化吞吐量。
- LM95010 支持 8 位或 16 位数据字段,如节 7所述。
- 偶校验 (EP) 此位基于所有先前位(器件编号、内部地址、读取/写入和数据位)和奇偶校验位本身。对所有先前位进行奇偶校验(1 的数量)并且奇偶校验位必须为偶数,即结果必须为 0。在一个读取事务期间,LM95010 将 EP 位发送至主设备,以便允许主设备在使用接收的数据之前对其进行检查。
- 确认 (ACK) 在读取事务期间,主设备发送 ACK 位,指示接收到正确的(与之前的数据进行比较)EP 位,并且在总线上未检测到冲突(不包括注意请求 — 请参阅节 6.3.13)。仅当接收到 ACK 位时,才会将读取传输视为“完成”。LM95010 不会将非肯定确认的事务视为“完成”,并执行以下操作:
- LM95010 器件状态寄存器中的 BER 位置位
- LM95010 在下一个事务之前,或与下一个事务的开始位一起生成注意请求
主设备也不会将非肯定确认的事务视为“完成”(即不执行与事务相关的内部操作)。在检测到注意请求的来源(在器件状态寄存器中设置了 BER 位的 LM95010)后,主设备可以重复此事务。请注意,SensorPath 协议既不强制也不自动由主设备重新执行事务。ACK 位的值为: