Hello,
I'm trying to program the bq77910a for use with some Li-Poly cells using I2C.
Now, I'm not using the TI's software nor am I using the USB-to-GPIO programming cable. Instead, I'm using an Arduino Mega2560 (with the Atmega2560 uC).
It seems I simply can't get the bq77910a to response to any I2C communication.
I've:
- Grounded the GND pins (with 220 ohm resistors)
- Grounded the VSS1 and VSS2 pins
- Applied 14V to the BAT pin (with a 1uF decoupling capacitor)
- Taken VREG output pin and tied it to CHGST and ZEDE (thus 3.3V to these pins)(with a 1uF decoupling capacitor)
So from an electrical perspective, am I missing something? The programming flow chart in the datasheet pretty much just says apply >7V on BAT pin and 3.3V on ZEDE and CHGST pins.
Now, for the I2C signal produced by the Arduino, see the attached image: it's a screenshot of the logic analyzer reading the I2C signal:
The I2C clock (SCL) seen in the pic is clocked at 27 kHz, at less than the 50 kHz specified in the datasheet. The high and low pulse durations are sufficiently long. Finally, the datasheet specifies the 7-bit address of the chip is 0010000, which you can see here is respected with the 8th bit being a 0, again as per the datasheet's description.
Anyway, you can see in the pic that the slave never pulls the SDA line low when the clock hits the 9th bit.
In conclusion: I don't see what I'm doing wrong, yet the slave is refusing to ACK my I2C advances.