ADC Port Input Resistance of BCM20737S is too small

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi all,

I am currently using the ADC ports on BCM20737S SiP Module to do some voltage measurements.

From the datasheet, the input resistance should be typically 500Kohm (see Table 8 ADC Specifications of BCM20737S datasheet).

adc_specifications.jpg

However, the actual ADC input resistance seems to be way smaller than 500Kohm, I think it is only around 35Kohm.

We only want to monitor a 5V voltage, so we build a simple 10K-10K voltage divider and connect the 2.5V trace directly to one ADC port of BCM20737S. However, the measured ADC raw voltage is only around 2.2V. So it means the ADC input resistance is comparable to 10Kohm (around 35Kohm from calculation).

I am using 3.3V mode of ADC port, the range of ADC raw voltage is from 0 to 3.3V.

Is the small input resistance of ADC port normal for BCM20737S chip? The functionality of ADC port is good and the chip is not damaged. We have checked two BCM20737S chips and both of them work in similar way. Does anyone observe similar problems?

Thanks

noalac

0 Likes
5 Replies
JacobT_81
Employee
Employee
250 replies posted 100 replies posted 50 replies posted

Given that you're measuring 2.2V on the pin of your chip, I agree with you calculations of about 35K impedance existing. We'll be discussing the details of your case with the hardware developers in the next couple days and will hopefully get back to you with relevant information.

In the meantime, I'd like to suggest a work around to your problem: If you replace the bottom 10K resistor in your voltage divider with a 14K resistor, you should compensate for the such small impedance you're seeing on the pin.

    14K in parallel with 35K yields 10K of resistance. This should then act as a 10K-10K voltage divider.

Jacob

0 Likes
Anonymous
Not applicable

Jacob,

Currently we use 1K-1K as voltage divider and the data from ADC port is quite accurate. Because 35K ohm is much larger than 1K.

However, we want to confirm whether this problem is caused by low input resistance of ADC port. Usually ADC port input impedance should be quite large, (Mohm).

If you have any update, please let me know.

Thanks

noalac

0 Likes
Anonymous
Not applicable

Hi Jacob,

Do you have any update about this ADC input resistance value?

Thanks

noalac

0 Likes
JacobT_81
Employee
Employee
250 replies posted 100 replies posted 50 replies posted

The only further recommendation is to attempt calibration of the ADC using a known voltage (can even use core voltage of the chip).

adc_adcCalibrate(1200, ADC_INPUT_VDD_CORE);

You said that this occurs on two separate module chips. Are you using the same pins on both? If so, can you attempt to use different pins?

Additionally, have the pins you're using been configured in any way prior to being used as an ADC input? If so, please wipe the configuration. If not, you may attempt disabling them in the code anyway. 

Jacob

Anonymous
Not applicable

Thanks for reply,

I did tried to calibrate ADC port using the adc_adcCalibrate() function, however, it doesn't make too much different. I would say without ADC calibration the accuracy can be 95%, after ADC calibration it may be improved 99%.

However, if the resistance is too large, the ADC error will also be much larger and cannot be corrected by calibration.

I have tested on BCM20737 and BCM20737S, both of them have the same issue. Also the pins are always used as ADC input from the beginning declaration of the firmware.

noalac

0 Likes