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.

BQ76940: Unable to Write the register values of BQ76940. Able to Get the Acknowledgement and complete scan but Sys_ctrl 1 register is remaining same.

Part Number: BQ76940


Hi,

I am using PIC32mx575F512 and BQ76940 AFE for BMS design.

I have written a code to write to sys_ctrl1 register addressed at 0x00 with 0xFF.

I am unable to change the register values. 

I checked The volgates at CAP3-VC10x to be 0.3volts.

CAP2-VC5X = 3.3v

CAP1-gnd = 3.3v.

Can Anyone help me to figure out what can be the issue.

Thanks

Imran

  • Hi Imran,
    With the CAP3 capacitor voltage 0.3V, the top group is off and the part will give an XREADY fault which will not clear. Check the power supply voltage to the BAT pin and upper cells. Be sure to follow the recommended cell connection of table 8-3 of the bq76940 data sheet. However this should not prevent register operation.
    Your first transaction looks like a write register 00 with data 00. This does not clear the status register.
    The second transaction looks like a write register 05 with unknown data since it is off the side of the screen.
    I don't recognize a problem with the waveforms. You might try a read of register 00 first to see you get data back from the part. Again if the power is off on the top group you should expect to see an XREADY fault, bit 5 or 0x20 if there are no other errors.
    Also check to see if you are using a part with CRC. If the part has CRC enabled you must send the correct CRC for the part to accept the write data. See the data sheet section 7.3.1.4 Communications Subsystem for byte sequences. If you are using a CRC device a read can be easier to start with since you will receive the data byte from the slave and the CRC. With a know fault induced you can confirm your read and byte processing, then work on the CRC calculation. This can make it easier to correctly calculate the CRC to send to the device.
    The CRC is enabled at the factory, you can not turn off the CRC on a part ordered with it enabled.
  • Hi WM5295,
    Thanks for quick reply.
    1) How to Change this CAP3-VC10X Voltage from 0.3 to >VBOOT. Is it ok to connect external supply with ckt to make this voltage>VBOOT.
    2) We have made connection as per TABLE 8-3 of BQ76940 datasheet.
    3) Yes I am able to work with Registers. The scan which i posted is of different operation. I Tried writting 0xFF to SYS_STAT register and when i read back i was able to receive 0x20 which means as specified upper group is off. Can you let me know how to make this on?
    4) i am Able to receive 0x20 and there are no other errors.
    5) I am Using BQ7694000 which has No CRC.
    6) I tried Changing SYS_CRTL1 register whose address is 0x04 to enable ADC. I am able to enable ADC even though upper group is off. Is this acceptable?
    7) Today I tried connecting and to see repeatability of the operation, but i observed 9-10volts at the Alert pin. i also observed 9-10volts at SDA,SCL and TS1 pin. what can be the possible reason? how can i avoid this in future?

    Thanks
    Imran

  • Hi Imran,
    The part should wake up the top group if the supply voltage is available and it is booted. I don't see if you are using the EVM or your own board. The EVM was tested and operating when shipped. Be sure the top cell voltage is reaching the BAT pin and that the VC10X to BAT pin has sufficient operating voltage. Be sure CAP3 is not shorted to VC10X (short across the capacitor). Be sure the TS3 thermistor or substitute resistor are in place.
    Do not connect external supplies to CAP3 or TS3.

    You should be able to read and write SYS_CTRL1 with the XREADY fault. Enabling the ADC is ok. Since you know the fault is in the top group, you should be able to read voltage on the lower group. The middle and upper group will return 00 for cell voltages. This may allow you to continue to check your code separate from the upper group power issue.

    Alert and SCL/SDA should not be able to go to high voltages, if they do they will be damaged. Check connection of the equipment and MCU. With the typical circuit such as the EVM the communication must be connected to the IC reference (VSS, Battery-), connecting to the PACK- with low side FETs will cause large voltage swings when the power FETs are off.
  • Hi,

    I am able to turn on top group. but following voltages i am able to observe.

    1) BAT-VC10X = 15V.

    2) CAP3-VC10X = 3.28V

    3) CAP3-VC5X = 3.28V

    4) CAP1-VSS = 0V.

    5) VC10X- VC5X = 18.6V.

    6) VC5X-VSS = 20V.

    Now alert pin voltage observed is 0v.

    VBoot applied to TS1 is 3.6v.

    When i try to write to control register sys_ctrl1, AFE is not acknowleding.

    previously it was able to ack and results were repetitive. But when i tried same code after making changes to REGSRC volt follower circuit AFE is not acknowleding.

    Can you tell me why this is happening?

    Thanks

    Imran

  • Hi Imran,
    With 0V at CAP1 the bottom group is off. It does not have power to talk. Try to boot the part. You need a rising edge on TS1, not a steady voltage. REGSRC is required also, when the part is booted CAP1 and REGOUT must rise or the part won't be able to talk.
  • Hi,

    I am able to read and write to registers Now. 

    I have changed the IC with New IC and it started working.

    Thanks for the help.

    Imran