目錄
系統管理總線
編輯系統管理總線(縮寫為SMBus或SMB)是一種用于輕量級通信的單端簡單雙線總線。 它最常見于計算機主板中,用于與電源進行開/關指令通信。
它源自 I2C,用于與主板上的低帶寬設備進行通信,尤其是與電源相關的芯片,例如筆記本電腦的可充電電池子系統(參見智能電池系統)。 其他設備可能包括溫度、風扇或電壓傳感器、蓋子開關、時鐘發生器和 RGB 照明。 PCI 附加卡可以連接到 SMBus 段。
設備可以提供制造商信息,指示其型號/部件號,保存其狀態以進行掛起事件,報告不同類型的錯誤,接受控制參數并返回狀態。 SMBus 通常不是用戶可配置或訪問的。 雖然 SMBus 設備通常無法識別它們的功能,但新的 PMBus 聯盟已經擴展了 SMBus 以包含允許這種功能的約定。
SMBus由英特爾和金霸王于1994年定義。它承載時鐘、數據和指令,基于飛利浦的I2C串行總線協議。 其時鐘頻率范圍為 10 kHz 至 100 kHz。 (PMBus 將其擴展到 400 kHz。)它的電壓電平和時序比 I2C 的電壓電平和時序定義更嚴格,但屬于這兩個系統的設備通常可以成功地混合在同一總線上。
SMBus 在多個平臺管理標準中用作互連,包括:ASF、DASH、IPMI。
SMBus 用于訪問 DRAM 配置信息,作為串行存在檢測的一部分。 SMBus 已經發展成為除電源管理之外的各種系統枚舉用例。
SMBus/I2C 互操作性
編輯雖然 SMBus 源自 I2C,但兩種總線的規范在電氣、時序、協議和操作模式方面存在幾個主要差異。
電氣
輸入電壓(VIL 和 VIH)
混合設備時,I2C 規范將輸入電平定義為電源電壓 VDD 的 30% 和 70%: 9 可能是 5 V、3.3 V 或其他一些值。 SMBus 沒有將總線輸入電平與 VDD 相關聯,而是將它們定義為固定在 0.8 和 2.1 V。SMBus 2.0 支持范圍為 3 至 5 V 的 VDD。SMBus 3.0 支持范圍為 1.8 至 5 V 的 VDD。
灌電流 (IOL)
SMBus 2.0 定義了一個“高功率”類別,其中包括 4 mA 灌電流,除非上拉電阻的大小適合 I2C 總線電平,否則不能由 I2C 芯片驅動。
恩智浦器件具有比 SMBus 1.0 更高的電氣特性功率集。 主要區別在于 VOL = 0.4 V 時的電流吸收能力。
- SMBus 低功耗 = 350 μA
- SMBus 高功率 = 4 mA
- I2C 總線 = 3 mA
如果上拉電阻的大小適合 3 mA,則 SMBus“高功率”設備和 I2C 總線設備將一起工作。
頻率(FMAX 和 FMIN)
SMBus 時鐘定義為 10–100 kHz,而 I2C 可以是 0–100 kHz、0–400 kHz、0–1 MHz 和 0–3.4 MHz,具體取決于模式。 這意味著以低于 10 kHz 的頻率運行的 I2C 總線將不符合 SMBus 標準,因為 SMBus 設備可能會超時。 然而,許多 SMBus 設備將支持較低的頻率。
SMBus 3.0 增加了 400 kHz 和 1 MHz 總線速度。
時機
- SMBus 定義了一個時鐘低電平超時,TIMEOUT 為 35 毫秒。 I2C 未指定任何超時限制。
- SMBus 將 TLOW:SEXT 指定為從設備的累積時鐘低電平延長時間。 I2C 沒有類似的規范。
- SMBus 將 TLOW:MEXT 指定為主設備的累積時鐘低電平延長時間。 同樣,I2C 沒有類似的規范。
- SMBus 定義了總線信號的上升和下降時間。 I2C 沒有。
- SMBus 超時規范不排除 I2C 設備在 SMBus 上可靠地協作。 設計人員有責任確保 I2C 設備不會違反這些總線時序參數。
協議
ACK 和 NACK 用法
NACK 總線信號的使用存在以下差異:在 I2C 中,允許從機接收器不確認從機地址,例如,如果它無法接收,因為它正在執行一些實時任務。
SMBus 要求設備始終確認自己的地址,作為檢測總線上可移動設備(電池、擴展塢等)存在的機制
I2C 指定從屬設備,盡管它可能會確認自己的地址,但可能會在傳輸的稍后時間決定它無法再接收任何數據字節。 I2C 指定設備可以通過在接下來的xxx個字節上生成不確認來指示這一點。
除了指示從機的設備忙狀態外,SMBus 還使用 NACK 機制來指示接收到無效命令或數據。 由于這種情況可能發生在傳輸的最后一個字節,因此要求 SMBus 設備有能力。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/195762/