Hi experts,
My customer is evaluating BQ24195, they used a MCU to control BQ24195 and test the registers reading and writing of BQ24195. MCU is under the debug status. and they found a odd problem, when they plug and unplug USB port, MCU will detect these plug and unplug events and will re-write all the registers of BQ24195 , then read back all registers value, but only the first plug and unplug,match their expectations,from the second time, the read back value of BQ24195 registers changed randomly. BTW, MCU can keep working due to different power supply.
every time, the re-writing value of the registers are the same, but the read back value is different. please help me out here what may be the potential problems?
(a)the writing value and sequence is as below table.
|
|||
Register |
Value |
|
|
RG0A |
|
|
|
RG07 |
0xCB |
|
|
RG08 |
|
|
|
|
RG08[7:6]=01(USB) |
RG08[7:6]=00/10/11 |
|
RG00 |
0x30 |
0x37 |
|
RG04 |
0xB2 |
0xB2 |
|
RG02 |
0x01 |
0x60 |
|
RG03 |
0x00 |
0x00 |
|
RG05 |
0x48 |
0xC8 |
|
RG06 |
0x03 |
0x03 |
|
RG01 |
0x5B |
0x5B |
|
b. the value read back
Register |
the First time plug unplug Usb |
2th |
3th |
RG00 |
0x30 |
0xB0 |
0xB0 |
RG01 |
0x1B |
0x1B |
0x1B |
RG02 |
0x01 |
0x60 |
0x01 |
RG03 |
0x00 |
0x00 |
0x00 |
RG04 |
0xB2 |
0xB2 |
0xB2 |
RG05 |
0x48 |
0xC8 |
0x48 |
RG06 |
0x03 |
0x03 |
0x03 |
RG07 |
0x4B |
0x4B |
0x4B |
RG08 |
0x6C |
0x44 |
0x44 |
RG09 |
0x00 |
0x00 |
0x00 |
RG0A |
0x23 |
0x23 |
0x23 |
c. Part of their schematic is as below: