TI bq34z100:
http://www.ti.com/lit/ds/symlink/bq34z100.pdfHi i try to communicate with the chip via i2c. But it just won't work. Maybe you can help me.
This is my setup:
-schematic for the chip connections is attached
-i use the bus-pirate v3.6 to communicate with the chip
-VCC = 4.2V
-100khz i2c clock
To check the communication i try to read out the chips name. This is register 0x63, 0x64, 0x65, 0x66, 0x67, 0x68 , 0x69, 0x6A
[check page 38 (bottom)] and and should be bq34z100
[check page 40(mid)].
The communication sequence is shown on page 28.
I am pretty rusty on i2c so maybe i messed smth up but this is what i try to read the device name.
Start Bit, 0xAA, 0x63, Start Bit, 0xAB, read byte, ACK, read byte, ACK, read byte, ACK, read byte, ACK, read byte, ACK, read byte, ACK, read byte, ACK, read byte, NACK, Stop Bit
Is this alright? This is d) incremental read on page 28.
The Bus-Pirate Syntax is:
[ = Start bit
0x?? = send 0x??
r:8 = read 8 bytes, ACK the first 7 and NACK the last byte
] = Stop bit
Here is what happens when i do this
(sometimes a) happens and sometimes b) happens):
a)
I2C>[ 0xaa 0x63 [ 0xab r:8 ]
I2C START BIT
WRITE: 0xAA NACK
WRITE: 0x63 NACK
I2C START BIT
WRITE: 0xAB NACK
READ: 0xFF ACK 0xFF ACK 0xFF ACK 0xFF ACK 0xFF ACK 0xFF ACK 0xFF ACK 0xFF
NACK
I2C STOP BIT
b)
I2C>[ 0xaa 0x63 [ 0xab r:8 ]
I2C START BIT
WRITE: 0xAA ACK
WRITE: 0x63 NACK
Warning: *Short or no pull-up
I2C START BIT
WRITE: 0xAB NACK
READ: 0xFF ACK 0xFF ACK 0xFF ACK 0xFF ACK 0xFF ACK 0xFF ACK 0xFF ACK 0xFF
NACK
I2C STOP BIT
The chip does not ACK when it should do so, this is giving me a hard time.
Can you point out any mistake i do?