器件 ID 是一个 24 位(3 字节)只读值,包含以下字段:
- 12 位:制造商标识符(每个制造商唯一,例如 TI)
- 9 位:器件型号(由制造商分配)
- 3 位:芯片版本(由制造商分配)
器件 ID 为硬接线并可通过以下步骤访问:
- 发送启动命令。
- 控制器在 R/W = 0(写入)的情况下发送保留的器件 ID I²C 地址 (1111 1000)。
- 控制器发送目标器件地址,LSB 为“无关”。仅确认匹配的器件。
- 发布重复启动条件。
- 停机命令后跟启动命令会复位目标状态机,并且无法读取器件 ID。此外,若在执行停机命令或重启命令后立即访问另一个目标器件,将重置目标状态机,此时无法读取器件 ID。
- 控制器发送保留的器件 ID I²C 地址 (1111 1001),其中 R/W = 1(读取)。
- 器件按以下顺序发送器件 ID:
- 第一个字节 + 第二个字节的 4 个 MSB:制造商 ID 位(12 位)
- 第二个字节的 4 个 LSB + 第三个字节的 5 个 MSB:器件标识(9 位)
- 第三个字节的 3 个 LSB:芯片版本(3 位)
- 控制器通过在最后一个字节后发送 NACK 来完成读取操作,同时复位器件的内部状态机,然后发出停机命令。
如果控制器在第三个字节之后发送了额外的确认信号,该器件将从第一个字节重新开始数据序列。