Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 SMBus/I²C Interoperability  



1.1  Electrical  



1.1.1  Input Voltage (VIL and VIH)  





1.1.2  Sink Current (IOL)  





1.1.3  Frequency (FMAX and FMIN)  





1.1.4  Timing  







1.2  Protocols  



1.2.1  ACK and NACK usage  





1.2.2  SMBus protocols  





1.2.3  Address Resolution Protocol  





1.2.4  Time-out feature  





1.2.5  Packet Error Checking  





1.2.6  SMBALERT#  









2 Support  





3 See also  





4 References  





5 External links  














System Management Bus






العربية
Català
Čeština
Dansk
Deutsch
Español
Français

Italiano
Português
Română
Русский
Українська

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


The System Management Bus (abbreviated to SMBusorSMB) is a single-ended simple two-wire bus for the purpose of lightweight communication. Most commonly it is found in chipsets of computer motherboards for communication with the power source for ON/OFF instructions. The exact functionality and hardware interfaces vary with vendors.

It is derived from I²C for communication with low-bandwidth devices on a motherboard, especially power related chips such as a laptop's rechargeable battery subsystem (see Smart Battery System and ACPI). Other devices might include external master hosts, temperature sensor, fan or voltage sensors, lid switches, clock generator, and RGB lighting. PCI add-in cards may connect to an SMBus segment.

A device can provide manufacturer information, indicate its model/part number, save its state for a suspend event, report different types of errors, accept control parameters, return status over SMBus, and poll chipset registers. The SMBus is generally not user configurable or accessible. Although SMBus devices usually can't identify their functionality, a new PMBus coalition has extended SMBus to include conventions allowing that.

The SMBus was defined by Intel and Duracell in 1994.[1] It carries clock, data, and instructions and is based on Philips' I²C serial bus protocol. Its clock frequency range is 10 kHz to 100 kHz. (PMBus extends this to 400 kHz.) Its voltage levels and timings are more strictly defined than those of I²C, but devices belonging to the two systems are often successfully mixed on the same bus. [citation needed]

SMBus is used as an interconnect in several platform management standards including: ASF, DASH, IPMI.

SMBus is used to access DRAM configuration information as part of serial presence detect. SMBus has grown into a wide variety of system enumeration use cases other than power management.

SMBus/I²C Interoperability[edit]

While SMBus is derived from I²C, there are several major differences between the specifications of the two busses in the areas of electricals, timing, protocols and operating modes.[2][3][4][5]

Electrical[edit]

Input Voltage (VIL and VIH)[edit]

When mixing devices, the I²C specification defines the input levels to be 30% and 70% of the supply voltage VDD,[4]: 9  which may be 5 V, 3.3 V, or some other value. Instead of relating the bus input levels to VDD, SMBus defines them to be fixed at 0.8 and 2.1 V. SMBus 2.0 supports VDD ranging from 3 to 5 V. SMBus 3.0 supports VDD ranging from 1.8 to 5 V and VIH = 1.35 V.[3]

Sink Current (IOL)[edit]

SMBus 2.0 defines a ‘High Power’ class that includes a 4 mA sink current that cannot be driven by I²C chips unless the pull-up resistor is sized to I²C-bus levels.

NXP devices have a higher power set of electrical characteristics than SMBus 1.0. The main difference is the current sink capability with VOL = 0.4 V.

SMBus ‘high power’ devices and I²C-bus devices will work together if the pull-up resistor is sized for 3 mA.

Frequency (FMAX and FMIN)[edit]

The SMBus clock is defined from 10 to 100 kHz while I²C can be 0–100 kHz, 0–400 kHz, 0–1 MHz and 0–3.4 MHz, depending on the mode. This means that an I²C bus running at less than 10 kHz will not be SMBus compliant since the SMBus devices may time out. Many SMBus devices will however support lower frequencies.

SMBus 3.0 adds 400 kHz and 1 MHz bus speeds.

Timing[edit]

Protocols[edit]

ACK and NACK usage[edit]

There are the following differences in the use of the NACK bus signaling: In I²C, a slave receiver is allowed to not acknowledge the slave address, if for example it's unable to receive because it's performing some real time task. SMBus requires devices to acknowledge their own address always, as a mechanism to detect a removable device's presence on the bus (battery, docking station, etc.)

I²C specifies that a slave device, although it may acknowledge its own address, may decide, some time later in the transfer, that it cannot receive any more data bytes. I²C specifies that the device may indicate this by generating the not acknowledge on the first byte to follow.

Other than to indicate a slave's device-busy condition, SMBus also uses the NACK mechanism to indicate the reception of an invalid command or datum. Since such a condition may occur on the last byte of the transfer, it is required that SMBus devices have the ability to generate the not acknowledge after the transfer of each byte and before the completion of the transaction. This is important because SMBus does not provide any other resend signaling. This difference in the use of the NACK signaling has implications on the specific implementation of the SMBus port, especially in devices that handle critical system data such as the SMBus host and the SBS components.

SMBus protocols[edit]

Each message transaction on SMBus follows the format of one of the defined SMBus protocols. The SMBus protocols are a subset of the data transfer formats defined in the I²C specifications. I²C devices that can be accessed through one of the SMBus protocols are compatible with the SMBus specifications. I²C devices that do not adhere to these protocols cannot be accessed by standard methods as defined in the SMBus and Advanced Configuration and Power Interface (ACPI) specifications.

Address Resolution Protocol[edit]

The SMBus uses I²C hardware and I²C hardware addressing, but adds second-level software for building special systems. In particular its specifications include an Address Resolution Protocol that can make dynamic address allocations. Dynamic reconfiguration of the hardware and software allow bus devices to be ‘hot-plugged’ and used immediately, without restarting the system. The devices are recognized automatically and assigned unique addresses. This advantage results in a plug-and-play user interface. In both those protocols there is a very useful distinction made between a System Host and all the other devices in the system that can have the names and functions of masters or slaves.

Time-out feature[edit]

SMBus has a time-out feature which resets devices if a communication takes too long. This explains the minimum clock frequency of 10 kHz to prevent locking up the bus. I²C can be a ‘DC’ bus, meaning that a slave device stretches the master clock when performing some routine while the master is accessing it. This will notify to the master that the slave is busy but does not want to lose the communication. The slave device will allow continuation after its task is complete. There is no limit in the I²C-bus protocol as to how long this delay can be, whereas for an SMBus system, it would be limited to 35 ms. The SMBus protocol just assumes that if something takes too long, then it means that there is a problem on the bus and that all devices must reset in order to clear this mode. Slave devices are not then allowed to hold the clock LOW too long.

Packet Error Checking[edit]

SMBus 1.1 and later define optional Packet Error Checking (PEC). In that mode, a PEC (packet error code) byte is appended at the end of each transaction. The byte is calculated as CRC-8 checksum, calculated over the entire message including the address and read/write bit. The polynomial used is x8+x2+x+1 (the CRC-8-ATM HEC algorithm, initialized to zero).[6][7][8]

SMBALERT#[edit]

The SMBus has an extra optional shared interrupt signal called SMBALERT#, which can be used by slaves to tell the host to ask its slaves about events of interest. SMBus also defines a less common "Host Notify Protocol", providing similar notifications but passing more data and building on the I²C multi-master mode.

Support[edit]

SMBus devices are supported by FreeBSD, OpenBSD, NetBSD, DragonFly BSD, Linux, Windows 98 and newer and Windows CE.

See also[edit]

References[edit]

  1. ^ "DURACELL AND INTEL ANNOUNCE 'SMART BATTERY' SPECIFICATIONS FOR PORTABLE COMPUTERS - Free Online Library". Thefreelibrary.com. Retrieved 27 October 2017.
  • ^ "System Management Bus (SMBus) Specification Version 2.0" (PDF). smbus.org
  • ^ a b "System Management Bus (SMBus) Specification Version 3.0" (PDF). smbus.org
  • ^ a b "I2C-bus specification and user manual Rev. 7" (PDF). nxp.com
  • ^ "APPLICATION NOTE 476 Comparing the I²C Bus to the SMBus". Maxim. 2000-12-01. 090429 maxim-ic.com
  • ^ "Designing with SMBus 2.0" (PDF). Sbs-forum.org. Retrieved 27 October 2017.
  • ^ "CRC-8 Calculator". Smbus.org. Retrieved 27 October 2017.
  • ^ "CRC-8 for SMBus". Picbasic.co.uk. Retrieved 27 October 2017.
  • External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=System_Management_Bus&oldid=1216441779"

    Categories: 
    Computer-related introductions in 1995
    Serial buses
    Out-of-band management
    Intel products
    Battery charging
    Computer hardware standards
    Computer buses
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
    All articles with unsourced statements
    Articles with unsourced statements from March 2017
     



    This page was last edited on 31 March 2024, at 01:05 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki