Wednesday, 7 January 2009

2 wire device interfaces

I2C (Inter Integrated Circuit)
SMBus (System Management Bus)

I2C is a computer bus invented by Philips to attach low speed peripherals to a motherboard or an embedded system. SMBus is a subset of I2C that has stricter electrical and convention rules. SMBus is used to promote robustness and interoperability.

I2C and SMBus use only two bidirectional open-drain lines, Serial Data(SDA) and Serial Clock (SCL), (DAT and CLK for SMBus). Both have to be pulled up externally. Nominal voltage pull ups are +3.3V and +5V. Both I2C and SMBus operate with a master and slave address to communicate with specific devices in a circuit. The number of devices on any line depends on address space and the capacitance load. Maximum capacitance is 400pF which restricts communication to a few meters.

The I2C and SMBuses are similar and compatible with each other. They can both communicate with each other over clock rates below 100KHz, however the I2C can operate at 400KHz and 2MHz as well.

I could go into clock diagrams here and explain the more intricate parts of both, but I think I'll leave that to a later date.

No comments:

Post a Comment

Feel free to comment, only users with Google Accounts are allowed. All comments are moderated before posting.