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.

BQ79631-Q1: CSADC current value always near zero

Part Number: BQ79631-Q1
Other Parts Discussed in Thread: BQ79616

Hi, 

I'm facing a problem with the shunt current reading (CURRENT HI/MID/LO registers).

The BQ79631's Main and CS ADCs are configured in Continuous run (MAIN_MODE = 0x10).

In this case, I'm giving a single start of conversion command together within the ADC configuration. The problem is that the current value read back from the CURRENT HI/MID/LO registers is always near 0 (raw value from ADC) and the conversion to ampers is also accordingly in the order of tens of mA. I tried to apply different values of differential voltages between SRP and SRN pins (5-10-20-30 mV), but with the same result. 

I also noted that the auxiliary current value, sampled through the main ADC (CSAUX_HI/LO registers), is correctly sampled and agrees with the voltage applied to the SRP-SRN pins.

I think that this problem could be related to the ADC configuration that I used.

Could you please explain how the CS ADC works and how to properly configure it to obtain a correct reading?

Thanks in advance,

Daniele

  • Hi Daniele,

    Could you let me know what configuration steps you did before running CS ADC sample? Also, do you observe this on one device or multiple devices?

    thank you,

    Helen

  • Hi Helen, 

    Yes, I observed this behavior on two different devices.

    I'm currently using this configuration:

    BQ79600 -> BQ79631 -> BQ79616

    After the wakeup and auto address routine for the chain, the devices are configured as follows:

    - set number of connected Vsense

    - set GPIO's functions

    - Enable TSREF

    - Configure ADC_CONF1: 0xF7 

    - Configure COMM_TIMEOUT_CONF

    After this configuration, I execute the start of the conversion routine as follows:

    - configure ADC_CTRL1: 0x5E

    - configure ADC_CTRL3: 0x06

    After those configuration steps, I poll for the data every 10 ms. I receive correctly all the data sampled from the Main ADC (AUX CS current included), the only data that is not coherent is the one coming from the CURRENT HI/MID/LO registers.

    Little update, I tried also the Single Run mode, but with the same results.

  • Hi Danielle,

    So you are able to read the correct values in CSAUX_HI/LO ok ? 

    Could you try the below:

    1.Below are the full configuration steps, could you try doing the full set up before starting CS_MAIN_GO?

    2. Could you try higher VCS_RANGE( for example 70mV) to see if you can read anything off the 3 registers?

    3. Try doing a single conversion, then wait >13ms before reading the 3 registers

    thanks,

    Helen

  • Hi Helen, 

    I tried to change the configuration.

    1. The Main and CS ADC is configured with single mode, no LPF and CS_DR 3 ms.

    3. I tried using the single-mode configuration with 100ms polling. The result is really strange. If I apply a voltage lower than 1.6mV to the shunt pin, I obtain a correct measurement. After this threshold, the current value starts to go down to 0 near 2mV. After that the reading is always near zero.

    2. Same as above. After 1.6mV the current goes down to zero.

  • HI Daniele, 

    Could you please check the below:

    1. Please send a scope shot of srp/srn during the continuous mode measurement.

    2. Are you using the TI bq79631 GUI to read the registers? if not , can you download the TI GUI and check if the 3 registers read with the same test condition?

    3. Are you using a TI EVM for bq79631 or using a custom board? If using a custom board, can you send over a schematics for review?

    thank you,

    Helen