This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ27220: Device will not enter FULL ACCESS mode?!?

Part Number: BQ27220
Other Parts Discussed in Thread: BQSTUDIO

I have tried to follow the example from SLUUBD4.pdf, section 6.1, but I can not get the device to enter the FULL ACCESS mode.

Ideas / assistance ?

Time I2C command Comment
3.325841500000000, Write [0xAA] + ACK : UNSEAL part #1
3.325865000000000, 0x00 + ACK
3.325996000000000, 0x14 + ACK
3.326173500000000, 0x04 + ACK
3.331436000000000, Write [0xAA] + ACK : UNSEAL part #2
3.331459500000000, 0x00 + ACK
3.331591000000000, 0x72 + ACK
3.331768500000000, 0x36 + ACK
3.345636000000000, Write [0xAA] + ACK : Read status register on SEAL status (4) SEC1 and SEC0
3.345659500000000, 0x3A + ACK
3.345793500000000, Read [0xAB] + ACK
3.346244500000000, 0xA4 + NAK : <- Device is UNSEALED
3.346286500000000, Write [0xAA] + ACK : Request FULL ACCESS part #1
3.346309500000000, 0x00 + ACK
3.346660500000000, 0xFF + ACK
3.346839500000000, 0xFF + ACK
3.352099000000000, Write [0xAA] + ACK : Request FULL ACCESS part #2
3.352122500000000, 0x00 + ACK
3.352253500000000, 0xFF + ACK
3.352431500000000, 0xFF + ACK
3.455631000000000, Write [0xAA] + ACK : Read status register on FULL ACCESS status (2) SEC1 and SEC0
3.455654500000000, 0x3A + ACK
3.455788500000000, Read [0xAB] + ACK
3.456239500000000, 0xA4 + NAK : <- Device is still UNSEALED. Time 3.456 sec
3.555667000000000, Write [0xAA] + ACK
3.555690000000000, 0x3A + ACK
3.555824500000000, Read [0xAB] + ACK
3.556276000000000, 0xA4 + NAK
...
4.455817000000000, Write [0xAA] + ACK
4.455840500000000, 0x3A + ACK
4.455974500000000, Read [0xAB] + ACK
4.456426500000000, 0xA4 + NAK : <- Device is still UNSEALED. Time 4.456 sec (1 sec after)
4.555873500000000, Write [0xAA] + ACK
4.555897000000000, 0x3A + ACK
4.556031500000000, Read [0xAB] + ACK
4.556483000000000, 0xA4 + NAK
4.655838500000000, Write [0xAA] + ACK
4.655862000000000, 0x3A + ACK
4.655996000000000, Read [0xAB] + ACK
4.656448000000000, 0xA4 + NAK
4.755901500000000, Write [0xAA] + ACK
4.755925000000000, 0x3A + ACK
4.756059000000000, Read [0xAB] + ACK
4.756512000000000, 0xA4 + NAK
4.973305000000000, Write [0xAA] + ACK
4.973328500000000, 0x3A + ACK
4.973463000000000, Read [0xAB] + ACK
4.973914500000000, 0xA4 + NAK : <- Device is still only UNSEALED. Time 4.973 sec (1.5 sec after)
5.065832000000000, Write [0xAA] + ACK : Try to reset device - has no effect since device is not in full access.
5.065855500000000, 0x00 + ACK
5.065987500000000, 0x41 + ACK
5.066166000000000, 0x00 + ACK
Repeat sequence

5.165793500000000, Write [0xAA] + ACK : UNSEAL part #1
5.165817000000000, 0x00 + ACK
5.165948000000000, 0x14 + ACK
5.166125000000000, 0x04 + ACK

...

  • hi Ole,

    I am not a software expert so what i would recommend you do is try to use bqstudio to see if you are able to unseal. if so, sniff the bus to see if your timing between commands is off.

    Also, are you sure the default codes were not changed?

    thanks
    Onyx
  • Hi

    The code is made before the example in slua801.pdf was provided...

    Is there an option on how to disable the updates in bqstudio? (Status, temperature etc. are read despite disabled). That is a detail, but I would like to know if a full timing sequence diagram exist for the device. So far I have added reads of the status register to secure the state.

    If there are parts of the sequence that is wrong, you are more than welcome to pinpoint them.

    Read sequence is:

    1. Unseal request
    2. Status read until unseal is valid
    3. full access request
    4. Status read until full access is valid  (stated in SLUUBD4.pdf up to 1 sec)
    5. READ DATA
    6. Seal request

     Apparently it is related to the timing, as the device sometimes enters full access mode?

     

  • How did you disable register updates in bqStudio?

    Your sequence is correct. Please make sure that the unseal and the full access request are issued without any interruptions.