參考:
1. https://blog.csdn.net/sprewel3260334/article/details/50447614
2. https://baike.911cha.com/ci/SMBus
The I²C bus and the SMBus are popular 2-wire buses that areessentially compatible( 兼容的;能共處的;可並立的) with each other.
Below,significantdifferences between the two buses.
|
I²C |
SMBus |
Timeout |
No |
Yes |
Minimum Clock Speed |
DC |
10kHz |
Maximum Clock Speed |
100kHz (400kHz and 2MHz also available) |
100kHz |
VHIGH |
0.7 × VDD, 3.0V Fixed |
2.1V |
VLOW |
0.3 × VDD, 1.5V Fixed |
0.8V |
Max I |
3mA |
350µA |
Clock Nomenclature |
SCL |
SMBCLK |
Data Nomenclature |
SDA |
SMBDAT |
General Call |
Yes |
Yes |
Alert# |
No |
Yes |
SMBus與I2C的差別
SMBus與I2C總線之間在時序特性上存在一些差別。首先,SMBus需要一定數據保持時間,而 I2C總線則 是從內部延長數據保持時間。SMBus具有超時功能,因此當SCL太低而超過35 ms時,從器件將復位正在進行的通信。相反,I2C采用硬件復位。SMBus具有一種警報響應地址(ARA),因此當從器件產生一個中斷時,它不會馬上清 除中斷,而是一直保持到其收到一個由主器件發送的含有其地址的ARA為止。SMBus只工作在從10kHz到最高100kHz。最低工作頻率10kHz是由SMBus超時功能決定的
SMBus
SMBus 是 System Management Bus 的縮寫,是1995年由Intel提出的,應用於移動PC和桌面PC系統中的低速率通訊。它主要是希望通過一條廉價並且功能強大的總線(由兩條線組成),來控制主板上的設備並收集相應的信息。
SMBus 為系統和電源管理這樣的任務提供了一條控制總線,使用 SMBus 的系統,設備之間發送和接收消息都是通過 SMBus,而不是使用單獨的控制線,這樣可以節省設備的管腳數。
使用 SMBus,設備還可以提供它的生產信息,告訴系統它的型號,部件號等,針對掛起事件保存它的狀態,報告不同類別的錯誤,接收控制參數,並返回它的狀態等。
SMBus器件存在現有7層OSI網絡模型中的前3層,即物理層,數據鏈路層和網絡層。
SMBus最初的目的是為智能電池,充電電池和與其他系統通信的微控制器之間的通信鏈路而定義的。SMBus也被用來連接各種設備,包括電源相關設備,系統傳感器,EEPROM通訊設備等等。
SMBus 最適用於筆記本電腦上,檢測各元件狀態並更新硬件設置引腳 (pull-high 或 pull-low)。例如,將不存在的 DIMM 時鍾關閉,或檢測電池低電壓狀態。 SMBus 的數據傳輸率只有 100Kbit/s;這允許單一主機與 CPU 和多個主從硬盤通訊並收發數據。SMBus 也可用於免跳線設計的主板上。