Tool/software:
I have an LP8758-E0 where I'm using all four BUCK and I'm interested in monitoring the current of each output using the internal current measurement. I'm able to get reasonable values when I do the procedure to measure the current on BUCK0 & BUCK1, but BUCK2 & BUCK3 always read 0 where I know there should be a measurement of >20mA.
My measurement procedure:
1) Write the BUCK source (0-3) into register SEL_I_LOAD (0x21) bits[1:0]
2) Wait the load current measurement time 50us (I wait 100us to be safe)
3) Read registers I_LOAD_2 (0x22) and I_LOAD_1 (0x23) to get the 10bit raw value
4) Convert to mA by multipling the raw value by 20mA/LSB
This works consistently for BUCK0 & BUCK1, but I always read 0 for both I_LOAD_2 and I_LOAD_1 when performing this for BUCK2 & BUCK3. When I do raw I2C transactions outside of my driver, I get the same results.
What might be going wrong for me?
Thanks,
Rene