View Full Version : Is I2c the same as SMBus?
I am interested in using an adm1031, which is a fan controller ic, with my Basic Stamp 2. The adm1031 connects via the SMBus however parallax documentation and examples seem only to describe the I2c interface. I believe they are the same. I2c = Phillips, SMBus = Intel. What's going on? Are they the same?
Also would it be worth upgrading my BS2 to a BS2p with the additional commands for I2c, or maybe the Javelin which seems to have had these features for quite a while.
Thanks - FGFG
05-18-2005, 07:50 AM
FGFG, only you would be able to tell if the SMBus is an implementation of the I2C bus. Unfortunately, to tell you have to try it out (unless some Parallax person has already tried -- I've been haunting the Forum for two years, and this is the first mention I've seen of the SMBus).
The Javelin is quite a jump from the BS2 (Does the same stuff, but in Java. You get much better bragging rights using Java than Basic, though)
05-18-2005, 08:43 AM
·· Find out all about SMBus (Defined by Intel) here:
Apparently, I2C is the backbone of SMBus architecture, used for ACPI in computers.
Parallax Tech Support
05-18-2005, 02:54 PM
Here is an article that focusses on the differences:
05-18-2005, 10:31 PM
That is an interesting app note about the small differences in timing and error recovery. When I first started using I2C on the Stamp, I was concerned about error recovery, as in, what will the Stamp do if it issues an I2C command to a device that is not there or does not respond properly? It should time out, not lock up. And the Stamp does time out after about a second and goes on to the next instruction. At least under the conditions I tried. The app note made me wonder if there is some rare condition with the slave clock being held low that could still make it lock up?
05-18-2005, 11:47 PM
Tracy, the Stamp (being a master) may time out and issue a stop and/or new start condition.
All slaves must respond to these conditions, no matter what state they are in.
But when a slave holds the clock line low (or data line for that matter), not even the·stamp
can recover the bus.
This however may only happen with·a defective slave (or a badly programmed MCU
acting as I2C slave).