SMBUS與I2C


SMBUS(系統管理總線)基於I2C總線,主要用於電池管理系統中。它工作在主/從模式:主器件提供時鍾,在其發起一次傳輸時提供一個起始位,在其終止一次傳輸時提供一個停止位;從器件擁有一個唯一的7或10位從器件地址。

SMBus只工作在從10kHz到最高100kHz(I2C則有100K/400K/3.45MHZ)。最低工作頻率10kHz是由SMBus超時功能決定的,當SCL(主機提供)太低而超過35 ms時,從器件將復位正在進行的通信。相反,I2C采用主器件硬件復位。

SMBus需要一定數據保持時間(300nS),而 I2C總線則是從內部延長數據保持時間。

SMBus具有一種警報響應地址(ARA),因此當從器件產生一個中斷時,它不會馬上清除中斷,而是一直保持到其收到一個由主器件發送的含有其地址的ARA為止。

上拉電阻的區別:SMBus(14k ohm@5V Vdd,8.5k ohm@3V Vdd不過這個定義並非牢不可破,就一般實務而言,在SMBus上也可用2.4k~3.9k ohm范疇的阻值);而I2C(1.6k ohm@5V Vdd,1k ohm@3V Vdd)。

ACK與NACK:I2C可以ACK也可NACK;但SMBUS必須ACK,安全可靠性要求更高

命名的區別:I2C(SDL/SCL);

      SMBUS: SMBDat,SMBCLK;SMBSUS(OC門,需要上拉,終端提醒主設備,低有效)

電氣特性區別:

I2C的Hi/Lo邏輯准位有兩種認定法:相對認定與絕對認定(Vdd的電壓),Hi為0.7 Vdd,Lo為0.3Vdd,

                絕對認定則與TTL准位認定相同,直接指定Hi/Li電壓,Hi為3.0V,Lo為1.5V。

SMBus只有絕對認定,且准位與I2C有異,Hi為2.1V,Lo為0.8V,與I2C不全然吻合但也算部分交集。不過,SMBus后來也增訂一套更低電壓的准位認定,Hi為1.4V,Lo為0.6V,這是為了讓運用SMBus的裝置能更省成本而有的作法。

電流的區別:I2C(正常工作電流3mA,漏電流10uA);SMBUS(正常工作電流100uA,漏電流1~5uA)

SMBUS總線協議:

       數據在SMBCLK為高時必須穩定,在SMBCLK為低時才允許變化;

  1. 開始和結束條件並不總是由總線主器件產生的。在開始條件產生后,總線就被認為處於忙碌狀態。當出現結束條件或SMBCLK和XMBDAT兩條線維持在高電平的時間超過THIGH:MAX后,總線處於閑置狀態。
  2. 每個字節包含八個比特。在總線上每個字節傳輸完都必須緊跟一個確認比特。字節在傳輸時都都先傳送最高位(MSB)

  3. 為了確認一個字節,接收端必須在時鍾脈沖的高電平階段,根絕SMBus的時序規范,將SMBDAT拉到低

         4 SMBUS除了和I2C一樣具有0x00的廣播地址外,還有b0001000R/W來表示警報響應地址

 

                             數據有效性                                                                                                       4-2:開始和結束條件

4-4:SMBus的ACK和NACK信號

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM