MC33771C ADC value in 13/14 bit resolution

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MC33771C ADC value in 13/14 bit resolution

1,145 Views
Bartowski
Contributor I

Hello

I have a project using MC33771C to monitor battery cells.

In datasheet there's mention ADC resolution can be programmed from 13~16bit by ADC_CFG(0x06) register.

I know the cell voltage register MEAS_xxxx(0x32~0x4A) is 15bit and ADC resolution affect conversion time & noise.

I try to change ADC resolution to 13bit and read MEAS_xxxx value e.g. MEAS_xxxx=0x2324, it returns almost the same value when I set ADC resolution is 15bit.

 So I'm curious about why I don't get the value is 0x2324/4= 0x8C9 ?

 Please help me to figure out this question, thanks.

 

0 Kudos
Reply
2 Replies

1,134 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hello Liang,

ADC1_A/B conversion values are independent of the selected resolution of ADC_CFG.

pastedImage_2.png

For ADC1 CT/ANx the formula is as follows:
V = MEAS_XXX[14..0] * VCT_ANx_RES

Pseudo-code (1 cell only):

ReadRegister (MEAS_CELL1)
rawVoltage = MEAS_CELL1 & 0x7FFF                      // remove DATA_RDY bit
voltage = rawVoltage * VCT_ANx_RES / 1000000    // calculate/scale voltage in V

Example:

With VCT_ANx_RES = 152.58789 μV/LSB and MEAS_CELL1[15..0] = 0xDECD
then MEAS_CELL1[14..0] = 0x5ECD = 24269
then V = 24269 * 152.58789 = 3703155 μV = 3.703155 V

The impact of the resolution is indeed only on the noise of the acquisition and conversion time.

BR, Tomas

1,066 Views
Bartowski
Contributor I
Hi Tomas

Thank you for prompt reply.

So it means no matter I change resolution to 13bit, 14bit or 16bit, I always get the result is 15bit, am I right?

And if I set resolution is 13bit, how the ADC result extend to 15bit?
0 Kudos
Reply