Other Parts Discussed in Thread: SYSCONFIG
I am confused about how to calculate the analog value from the digital value that I read via I2C. The example and explanation are not clear or maybe I am overthinking and complicating it for no reason. Can somebody please shed some light on this?
Vbus:
it says Vbus is a 24-bit register. So I decided to read 3 bytes on the I2C line. I got 0x05, 0x75, and 0x20 from the I2C line. Is the digital data 0x57520 or is it 0x575200? It says the first 4 bits are reserved and are always zero. So should I shift the digital output and pad zeros myself or will I always get 4 zeros at the end?
Next, I can directly multiply with the resolution size to get the actual analog value. Here the resolution size: 195.3125 uV/LSB.
for 0x57520 = 357664 * 195.3125 = 69.856 V
for 0x575200 = 5722624 * 195.3125 = 1117.7 V
Neither of the values make sense.
Die Temperature:
This was easy and well-explained I guess. I read a digital value of 0x0B and 0xA0. It's a 16-bit register. So I read 2 bytes in the I2C line. So I end up with a digital output of 0xBA0 which is 2976 in decimal.
2976 * 7.8125 mC/LSB = 23.25 C
That is a reasonable value for an indoor temperature.
What did I miss when it came to voltage calculation?