Other Parts Discussed in Thread: BQ51013B, BQ25120
Tool/software:
Since my attempt to build BLE beacon with wireless charging (nRF52833 + BQ51013B + BQ25101Y) have ended with kind of fiasco (on nRF52833 side as i couldn't get it to work reliably in "high-voltage mode" when powered directly from Li-Ion battery), i decided to switch to BQ25121A as battery charger and to power nRF52833 in normal mode from switching regulator. To save cost i have to use pcb process without via-in-pads and with minimal parts on board as the beacon is quite small (15x20mm).
My design looks this (TS is floating as i turn off TS faults via I2C, ILIM/ISET/PRETERM are grounded as i set these currents by I2C too; using internal nRF52833 13K pull-ups resistors to pull I2C lines):
MCU periodically polls BQ25121A by pulling CD high, reading TS control register and if the register has TS function enabled then sends 0x08 (TS_EN=0) to disabe TS function and sets currents and voltages (SYS_VOUT to 2.5V, BUVLO to 2.6V), then reads fault and status registers to clear possible faults.
Also during this routine it reads battery monitoring register and sends 0x80 (VBMON_READ=1) into it to initiate new battery measure cycle. As battery voltage reaches around 2.9V - MCU sends 0x20 (EN_SHIPMODE=1) to status/shipmode reigster to turn off the system completely and protect its battery.
My tests with BQ25120_EVM board looks good but to be sure and avoid re-designing again, i'd want to be sure it'll work good with BQ25121A too. Just few questions:
1. As i understand, pulling CD high disables charging and restarts charging process when i release it or pull down. There is a way to avoid this? Currently i try to read I2C register without pulling CD at first and pull it high if get error at the read, but that makes excess read cycle with timeout that is not really good for power consumption.
2. What does "HZ_MODE" bit in fast charge control register?
3. BQ25121A exits shipping mode always after i simply apply VIN voltage (5V from BQ51013B as i put the beacon on charger), with MR pin just floating?
4. Floating TS won't cause any trouble if TS_EN=0, right?