Range and resolution of ADC readings on BGS5T | Telit Cinterion IoT Developer Community
December 2, 2015 - 12:17pm, 2880 views
After reading the BGS5T documentation, I am confused about the resolution of the ADC1_IN signal. Each document appears to give different values for the resolution of the ADC. For example:
Document Page Section ADC resolution
Hardware Description 46 4.2.4 0 - 5V in 1024 steps
AT Command Set 387 19.5 0 - 1200mV (using at^sradc)
Javadoc class com.cinterion.io.ADC -25 - 2425mV (using ADC.getValue() )
Which is the correct resolution? If the Hardware Document specifies that the ADC accepts an input up to 5V, why does the AT command at^sradc only return readings up to 1200mV? And why does class com.cinterion.io.ADC return negative voltages and positive readings only up to 2425mV?
I'm assuming I have to apply a conversion factor in each case, but it would be helpful to have an explanation of why these different ranges are provided. Thank you.
You are using the terminal (BGS5T) so you don't connect directly to the ADC of the module but to the additional level shifter on the terminal.
The first document you cited is the hardware interface description for the terminal and on this interface you can measure 0 - 5V in 1024 steps.
The second document (AT commands specification) describes the range that AT interface can return. And this is consistent with the hardware interface description for the module which describes the valid range 0 - 1.14V in 1024 steps.
The third document - Java API - describes a wider range than the valid range for the hardware. However this document is more universal and describes the possible values for Java API.
So first of all you should refer to the hardware documentation for the values you can really measure on the interface.
Thanks very much for your reply.
This seems clear now, but just to make sure: Using the Java method ADC.getValue() I should get a reading of 0 (not -25) for a 0V signal and a reading of 1200 (not 2425) for a 5V signal. Correct?
Also, it appears my version of the AT Command document V01.100 (25.11.2013) is different from yours. Mine says that the at^sradc command returns 0-1200mV, whereas yours says 0-1.14V in 1024 steps. Is mine out of date?
The reading depends on the voltage connected to VCCref where you can connect 1.8 to 5.5V. The voltage on VCCref is the maximum you can measure on the external ADC and for that value you should get the maximum value available for the module's ADC.
Your ATC specification is correct. There's the same value in mine. But the hardware description document for the module (not terminal) describes the valid range for the module 0 - 1140mV. So the AT interface can display a little bit wider range but the theoretical maximum value for the hardware interface is 1140mV.
It's very clear now. Thanks very much!