Other Parts Discussed in Thread: BQSTUDIO
Hi,
I struggle to configure BQ35100 Operation Config A. I try to configure from a MCU with I2C communication (I don't use BQSTUDIO)
Here is the procedure I follow:
- Set GE high
- Wait for CONTROL STATUS INITCOMP to be 1
- Read HW version and check with 0xA8
- Configure Operation Config A:
- Write on I2C at BQ35100 ADDR: 0x3E 0xB1 0x41
- Write on I2C at BQ35100 ADDR: 0x40 0x02 (EOS and internal temperature sensor)
- Write on I2C at BQ35100 ADDR: 0x60 0x0B ==> I'm not sure about my checksum, I do 0xFF - (0xB1 + 0x41 + 0x02) and keep it on 1 byte. On www.ti.com/.../slua801.pdf , you use only Data (0x02 here) to calculate the checksum which gives 0xFD.
- Write on I2C at BQ35100 ADDR: 0x61 0x05 ==> 4 + 1 data byte (0x02)
- I read Operation Config A to check my configuration:
- Write on I2C at BQ35100 ADDR: 0x3E 0xB1 0x41
- Read on I2C at BQ35100 ADDR: Write 0x40 and read one byte ==> I get 0xF3 (The first time I read, I always get 0xF3 ?)
- Read on I2C at BQ35100 ADDR: Write 0x40 and read one byte ==> I get 0x80 default value for Operation Config A which means that I didn't correctly written the reg
- Read on I2C at BQ35100 ADDR: Write 0x60 and read one byte==> I get 0xD7 which is wrong
What's wrong with my procedure?
Thanks