Hi Ian,
1) IIRC SMB is Intel's implementation of I2C. I am not sure of the exact differences, thus I have no specific experience. I thought it dealt more with the logic levels than the actual protocol, but as always I suggest to get a copy of the spec and see what it says to be certain.
2) I think that the simplest way is to dedicate a separate i2c channel for the battery and configure the mcu as a slave since you are saying that the battery is the master. I do not believe that the i2c/smb spec has a way to deal with collisions, if there are two masters (contending) on the bus.
I would have to look, is the atxmega family the only ones with multiple i2c channels? Somehow I doubt it!! I like the xmega, I recently found out the original xmega's (atxmega 128a1 etc) are NRND and being replaced with the "U" versions, with integrated USB, but are stated to be 100% code compatible and have enhanced functionality. I also noticed that the parts cost has almost halved. Also the A3U part is the only one that can scale to 256MB of flash. Thankfully the A3 version is the one I chose for my application.
Your reason for not wanting to use a xmega? smt only? experience with the part family?
Cheers
Rick
↧