BQ76905: Issuing PROT_RECOVERY command does not clear CUV condition

Part Number: BQ76905
Other Parts Discussed in Thread: EV2400, BQSTUDIO

Tool/software:

Hello,

I am trying to configure the BQ76905 monitor to fault and trip when the cells are under voltage.  I do not want autonomous recovery, so I disabled that in the data memory settings (cell undervoltage hysteresis register). The Threshold is set at 2.4V and delay is the default 10 ADSCAN intervals.  The CUV fault properly trips, but I cannot manually recover by writing 0x80 to PROT_RECOVERY command.  The CUV bit stays set in the Safety Status A register and the DSG FET remains off.  The device is not sealed.  I tried setting the PROTRCVR bit in the data memory FET options register just in case but that did not help.

I attached screenshots from Battery Management Studio connected to the BQ76905 via the EV2400.  They show my data memory settings and the current state of the BQ76905 when the undervoltage condition is tripped.  You can see the cell voltages exceed the minimum threshold of 2.4V in this screenshot.  There are 2 cells, configured in the Vcell mode data memory register.

I tried writing 0x80 and 0xff to PROT_RECOVERY but there was no change.

When I enter and then exit CFG_UPDATE mode, the CUV flag clears according to the ref manual, but I should be able to use just the PROT_RECOVERY command.

Am I missing something in the setup?

Thanks,

Brian

  • Certain subcommands write data to a register and must be followed by a write to 0x60/0x61 with the checksum and length. This only applies to the CB_ACTIVE_CELLS, PROG_TIMER, PROT_RECOVERY, and SECURITY_KEYS subcommands.

    More detail on calculation of checksum and length can be found in the BQ7690x Software Development Guide

    Section 5 Simple Code Examples in theBQ7690x Software Development Guide also gives an example using the DataRAM_Write function that shows the calculation of checksum and length.

  • Gavin,

    I used Battery Management Studio to write the PROT_RECOVERY register.  I have been able to do this to clear other conditions like a Short Circuit  in Discharge fault (i.e. writing 0x20). 

    Brian

  • So I can see that 0x80 is the value for the PROT_RECOVERY register, but the VOLTREC bit is still Green (Bit Low)which corresponds to 0x00. So there is a discrepancy between them. It seems like there is some error between writing the register value and what BQStudio reads back and displays as low.

    Could you check for any errors under the Errors tab why trying to write VOLTREC=1 in the PROT_RECOVERY register? Do the Commands or Command Sequency provide any useful information during this?

    Also I suggest clicking the Scan button in the top right corner to allow the values to continuously update. Please let me know if the PROT_RECOVERY register value discrepancy persists after this with no sign of any errors.