SMBus
SMBus Specifications 跟 I2C 很像的協議
SMBus vs I2C
- I²C 匯流排可在任何時刻停滯(時鐘靜止),而不影響數據傳輸。主設備或從設備皆可將時鐘線保持在低電位,直到完成數據處理。
- SMBus 匯流排要求時鐘線不低於 10kHz,且不高於 100kHz,並設有 35ms 超時機制,若時鐘線維持低電位超過 35ms,則從設備將自動重置其介面。
- 由於 SMBus 要求時鐘不能靜止,因此 SMBus 需要一個最小時鐘速率,而 I²C 則沒有此限制
- 資料持留時間
的要求,SMBus 規定 SMBCLK 線路的準位下降後,SMBDAT 上的資料必須持續保留 300nS,但 I2C 卻沒有對此有相同的強制要求。 - I²C 允許從設備
在地址階段回應 NACK,當設備無法接收數據時 ,可以拒絕通信。此時,主設備 可以發送 STOP 信號 或 重啟 START 信號 以重新傳輸;SMBus 要求設備始終應答 自己的地址,以確保能夠偵測到 可移除設備 是否仍然連接至匯流排。
Address
- 0000 1xxx = I2C HS-mode master code; SMBus reserved for future use.
- 0101 000x = SMBus reserved for ACCESS.bus host.
- 0110 111x = SMBus reserved for ACCESS.bus default address.
- 001 100x = SMBus Alert Response address.
- 1100 001x = SMBus Device Default address.