簡介
SMBus 為系統和電源管理這樣的任務提供了一條控制匯流排,使用 SMBus 的系統,設備之間傳送和接收訊息都是通過 SMBus,而不是使用單獨的控制線,這樣可以節省設備的管腳數。
使用 SMBus,設備還可以提供它的生產信息,告訴系統它的型號,部件號等,針對掛起事件保存它的狀態,報告不同類別的錯誤,接收控制參數,並返回它的狀態等。
SMBus器件存在現有7層OSI網路模型中的前3層,即物理層,數據鏈路層和網路層。
SMBus最初的目的是為智慧型電池,充電電池和與其他系統通信的微控制器之間的通信鏈路而定義的。SMBus也被用來連線各種設備,包括電源相關設備,系統感測器,EEPROM通訊設備等等。
SMBus 最適用於筆記本電腦上,檢測各元件狀態並更新硬體設定引腳 (pull-high 或 pull-low)。例如,將不存在的 DIMM 時鐘關閉,或檢測電池低電壓狀態。 SMBus 的數據傳輸率只有 100Kbit/s;這允許單一主機與 CPU 和多個主從硬碟通訊並收發數據。SMBus 也可用於免跳線設計的主機板上。
SMBus 是 System Management Bus 的縮寫,譯為系統管理匯流排,SMBus是一種二線制串列匯流排,1996年第一版規範開始商用。它大部分基於I2C匯流排規範。和 I2C一樣,SMBus不需增加額外引腳,創建該匯流排主要是為了增加新的功能特性,但只工作在100kHz且專門面向智慧型電池管理套用。它工作在主/從模式:主器件提供時鐘,在其發起一次傳輸時提供一個起始位,在其終止一次傳輸時提供一個停止位;從器件擁有一個唯一的7或10位從器件地址
與I2C的差別
SMBus與I2C匯流排之間在時序特性上存在一些差別。首先,SMBus需要一定數據保持時間,而 I2C匯流排則是從內部延長數據保持時間。SMBus具有逾時功能,因此當SCL太低而超過35 ms時,從器件將復位正在進行的通信。相反,I2C採用硬體復位。SMBus具有一種警報回響地址(ARA),因此當從器件產生一個中斷時,它不會馬上清除中斷,而是一直保持到其收到一個由主器件傳送的含有其地址的ARA為止。SMBus只工作在從10kHz到最高100kHz。最低工作頻率10kHz是由SMBus逾時功能決定的