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.

BQ24773: How to provide system power before chip is programmed.

Part Number: BQ24773
Other Parts Discussed in Thread: SEGGER

I am trying out my first design with the BQ24773 and realized once I had the board that I need to be able to get a steady Vsys in order to power my MCU which programs the '24773. It seems like a catch 22 situation for it to work.

I have tried to directly power the '24773's VCC directly while I use a programmer (Segger J-Link) to program my MCU (ST's STML432KCUx with an ARM cortex-4). My I2C bus correctly reads the commands, but I am getting a NACK from the '24773. I am using VCC = ~15V. I have also connected 3.3V directly to ACDET and tested the output of REGN and got roughly 5V - so I am convinced the '24773 is powered and connected properly.

I also have the dev board and have powered that as suggested (~19V) and connected the I2C bus to my design. With that setup I am able to successfully program the '24773 on the dev board with my design's MCU and I2C bus - so I am convinced my setup on the MCU and bus is correct.

My question is, is VCC (greater than Vuvlo) the only thing necessary to put the '24773 into a state where it can be programmed via I2C or is it looking for appropriate values on other pins (again, I've given ACDET 3.3V and have seen REGN turn on accordingly).

Once I get this programmed successfully, is this the only way to get the chip setup in a system? By programming it before I add a battery and/or AC adapter?

Thanks,

Stephen

  • If REGN is up then the device should able to communicate. What voltage is SCL and SDA pulled up to?
  • Jing Zou, thanks for the response.

    I had a hardware issue with the I2C line. It is fixed and I am able to program the chip. I am having issues with an oscillating Vsys after programming the registers - I have followed the recommended layout and used recommended values on the resistors, caps and inductors. The following is how I've set up the registers and I have confirmed they are set with these values when reading them back into my MCU. My setup has Vin = 12V, Vbat = 0V (not connected) and after programming the registers my Vsys is oscillating around 170-200Hz with a very defined square wave (I don't have the values in front of me but it is peaking at around 26V and averaging about 14V). I'm expecting 9.472V and with that slow oscillation it is not stable enough for my 3.3V LDO.

     #define CHARGE_OPTION0_DEFAULT 0xE34A

    #define CHARGE_OPTION1_DEFAULT 0x0211

    #define CHARGE_OPTION2_DEFAULT 0x80

    #define PROCHOT_OPTION0_DEFAULT 0x4B54

    #define PROCHOT_OPTION1_DEFAULT 0x8120

    #define CHARGE_CURRENT_1p28A_SET       0b000010100000000 // 0x0500

    #define MAX_CHARGE_VOLTAGE_8p4V_SET    0b0010000011010000   // 0x20D0  

    #define MIN_SYS_VOLTAGE_9p472V_SET        0b00100101 // 0x25

    #define SYS_INPUT_CURRENT_1p024A_SET    0b00010000 // 0x10

  • When no battery is connected, please disable the auto wakeup register bit.
    If this does not fix the problem, please attach scope capture on the issue.