Hi team, I’m developing a portable system which needs a smart battery on it. The module I’m going to use is G400. I’m somehow concerned about the use of I2C to communicate the host to the battery.

The smart charger I’m using is the Linear LTC4100 with an Inpiredenergy Li-Ion battery ( ND2054HD29 ). Both devices communicate each other by using SMBus 1.1.

My concern is how to communicate the host to the bus. There shouldn’t be a problem to use the I2C bus ( by using also a I2C level driver since the bus signals are 3V3 and 5V ). Despite the timing issues I’m a little concerned about the multimaster capabilities. The battery behaves as a master to communicate to the charger but the host needs to behave as a master for communicating to the battery )

The LTC4100 datasheet states that the IC can be used to connect to a smart battery AND/or a host device to read status and battery info, but not completely sure about this.

Have anyone in the forum work with SMBus devices? I realized that netmf doesn’t have native support for SMBus.

Thanks and regards from Argentina.


welcome to the forum

I’ve not used the LTC4100, but a quick look at the data sheet just shows the I2C lines SDA and SCL connected notionally to the SMBus lines and with the addition of an IRQ line for ALERT status. The implication there is that the smart battery can control the charge controller as well as the host doing so - it is a shared bus and should be no issues with doing so. The only thing you would need to be careful about (in my view) is dealing with the state of the bus and not countermanding any instruction the battery makes (eg battery says there’s a fault but the host initiates charging)

Thanks Brett,

Of course the host logic will only send commands to the charger but related to the configuration and to poll data to b used later. I will make sure that not conflicts will exist related to the charger/battery subsystem. Thanks for this.