軟件復位廣播是 I2C 總線上的控制器發出的命令,指示所有支持該命令的器件復位為上電默認狀態。要確保按預期運行,I2C 總線必須能夠正常工作,并且任何器件都不能掛起總線。
軟件復位廣播定義為以下步驟:
- I2C 總線控制器發送一個啟動條件。
- 使用的地址是保留的通用廣播 I2C 總線地址“0000 0000”,其中 R/W 位設置為 0。發送的字節為 0x00。
- 任何支持通用廣播功能的器件都將 ACK。如果 R/W 位設置為 1(讀取),器件將 NACK。
- 通用廣播地址得到確認后,控制器僅發送等于 0x06 的 1 字節數據。如果數據字節是任何其他值,器件將不會確認或復位。如果發送的數據超過 1 字節,則不會再確認更多字節,并且器件將忽略 I2C 消息,將其視為無效。
- 發送 1 字節數據 (0x06) 后,控制器發送一個停止條件來結束軟件復位序列。器件將忽略重復的啟動條件,并且不執行復位。
成功完成上述步驟后,器件將執行復位。這會將所有寄存器值恢復為上電默認值。