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.

BQ34110: Controlling VEN pin

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

I am trying to enable/disable the external voltage divider connected to VEN (custom board, but the design is based on the EVM).

I am using bqStudio with EV2400 for these tests.

At first, the fuel gauge was not sensing a voltage. I had to change the Pin Control Config in data flash from 0x00 to 0x10 to have the voltage divider working (i.e. VEN high, divider enabled).

I tried to disable the voltage divider, following the sequence: unseal, set PCTL_EN bit, send command (through Advanced Comm) to MAC (i.e start register 3E, Bytes to write 6C 00). No change, the divider is still on. I even tried sending 00 6C to see if this particular command is big endian.

I then zeroed the VEN bit on Pin Control Config.  Now, the VEN pin is never set even if I try the sequence above.

What am I doing wrong?

FWIW I can successfully send other commands through Advanced Comm, e.g. cal toggle, seal).

Thanks in advance.

  • Hello Elder,

    The pin control config should be set to 0x10 like you mentioned first for the voltage divider. If you are trying to reset the VEN pin after setting it you should use the 0x006D command. You can also send the pin control en command in the command window on the BQStudio dashboard.

    If you are trying to do manual pin control the PCTL_EN must always be on.

    Sincerely,

    Wyatt Keller

  • Hello, Wyatt,

    I believe I am doing the right sequence but still it does not work. Sending the 0x006D makes no difference. I must be doing something wrong but I have no clue of what it is. Maybe the fact I have not yet fully configured the FG has something to do with it, I am writing the software and testing in small chunks.

    I expected seeing 0V on the battery voltage field of bqStudio when I issue the zero VEN command (of course with PCTL_EN already set). It turns out bqStudio shows the voltage I am applying on the BAT+ node even after sending the command.

    When I scoped VEN, I learned it is not continuously set (I was assuming it was); it is pulsed instead. And the pulse remains active even after I send the command to zero VEN (0x006D).

    One positive outcome of this experiment is I learned that when sleep mode is enabled, the FG sets VEN only for a short interval every several seconds (I didn't timed it but it is long). So, my main concern with this particular function was disabling VEN when I shut the power supply down to reduce standby current drawn from battery to the absolutely minimum possible but that is not really needed.

    Still I would like to understand why the command is being ignored.

  • Hello Elder,

    To enable the pin manually you must also send the command 0x0022 to toggle the PCTL_EN, are you performing this step to make sure it is set to 1?

    Can you also log your tests and share them so we can see which registers are being set when you are sending the commands?

    The gauge pulses to save power when taking voltage measurements and the time between pulses in sleep mode is increased.

    Sincerely,

    Wyatt Keller

  • Hello, Wyatt,

    Yes, I am toggling PCTL_EN, bqStudio shows the bit set on the status register.

    I will send the log soon. I am not sure bqStudio has a log function (not at the office now), if it does not, is it OK sending the log of my I2C analyzer (Beagle)? You can load the log file in the analyzer software for off-line analysis.

  • Hello Elder,

    I would also check to make sure you aren't in any other modes that interfere with the VEN operation, like the charge control mode described in section 2.9.2 Charge Control.

    BQStudio has logging functionality of the registers, you can just start the log and then follow the commands you listed and we can see what registers are being set on the gauge for debug.

    Sincerely,

    Wyatt Keller