Community
cancel
Showing results for 
Search instead for 
Did you mean: 
AAndy1
New Contributor I
1,435 Views

12 bit ADC real or fake

Jump to solution

Hi,

I am following up on a point made by MGee in a thread about a temperature sensor and this is related to Intel Galileo Gen 2 boards.

In it he comments that the 12 bit resolution is not true but rather the LSB shifted to rescale 10 bit values to a 12 bit scale.

When I bought the Galileo, a selling point I liked was that it was advertised as 12 bit ADC and the definition of 12 bit being:

  • A0 – A5: 6 analog inputs, via an AD7298 A-to-D converter
    • Each of the 6 analog inputs, labeled A0 through A5, provides 12 bits of resolution (i.e., 4096 different values). By default they measure from ground to 5 volts.

https://www.arduino.cc/en/ArduinoCertified/IntelGalileo source

I notice from my own testing that I do not get 4096 different values only multiples of 4 as would be expected with a LSB shift of 2 bits.

i have set the analogReadResolution(12) is there something else needed or do I really only get 10 bits?


Accepted Solutions
idata
Community Manager
81 Views

Hi,

 

 

The Galileo Gen2 has an ADC of 10 bits; you can check the schematic: http://www.intel.com/content/dam/support/us/en/documents/galileo/sb/galileo_fabh_schem_120514.pdf http://www.intel.com/content/dam/support/us/en/documents/galileo/sb/galileo_fabh_schem_120514.pdf and you will see that it has the ADC 108s102 [http://www.ti.com/product/ADC108S102 http://www.ti.com/product/ADC108S102]

 

The Datasheet/ProductBrief states that it has a 12bit resolution PWM, but it doesn't mention the resolution of the Analog Inputs, for this is required to check the Schematic. I will contact the proper team in order to add the information regarding the resolution of the ADC on the Product Brief. I think this will help other developers too.

 

 

Regarding the documentation on https://www.arduino.cc/en/ArduinoCertified/IntelGalileoGen2 https://www.arduino.cc/en/ArduinoCertified/IntelGalileoGen2 I suggest you to contact Arduino in order to do the respective clarification of the resolution of the boards.

 

 

Regards,

 

Charlie

View solution in original post

5 Replies
RGeno1
New Contributor I
81 Views

The source you cited is clearly for the Galileo and it is absolutely accurate with regard to having 12bit A2D as I stated in my post that you are following up on. According to what you wrote, you did not buy a Galileo, you bought a Galileo Generation 2 - different board, different A2D chip, different resolution, i.e. 10 bit, not 12 bit resolution. Now, if you see an advertisement for a Galileo Generation 2 board that claims 12 bit A2D resolution, I would agree with your point.

This issue has been raised before and it has been answered before, both by users and Intel board members. For example, if you read this thread all the way through you will see what I am talking about....In fact, I raised the issue of using analogReadResolution() outright and challenged JPMontero_Intel on the point, and to his credit, he checked it out and reported the difference between the two boards accurately...

I've checked the information and it appears to be this way: Intel Galileo has a 12-bit ADC (AD7298) and the Intel Galileo Gen 2 has a 10-bit ADC (ADC108S102). The improvement on the Intel Galileo Gen2 is in the PWM to 12-bits resolution, not the ADC.

Regards,

 

JPMontero_Intel

I don't think that there is anything "fake" about the analogReadResolution() statement, if it is used properly. See https://www.arduino.cc/en/Reference/AnalogReadResolution Arduino - AnalogReadResolution where it states clearly that the command was primarily for backward compatibility.

It can be confusing - truth is, I never even knew about analogReadResolution() before reading the start of that thread.

Just my "two bits"

AAndy1
New Contributor I
81 Views

The Intel product specification document to announce the Gen 2 board references only enhancements and makes no mention of the ADC being limited to 10 bits.

The http://www.intel.com/content/www/us/en/embedded/products/galileo/galileo-g2-datasheet.html data sheet does highlight adding 12bit resolution to the PWM. It does not state the reduction in resolution of the ADC relative the Gen 1 product so you could reasonably assume it remains the same.

In fact the description on the Arduino site of the https://www.arduino.cc/en/ArduinoCertified/IntelGalileoGen2 Gen 2 board also references 12 bit ADC.

  • Analog Inputs: pins A0 through A5
    • Each analog input provide 10/12 bits of resolution. The resolution can be changed with the analogReadResolution() function.
BWill15
New Contributor II
81 Views

This explains the issue ( http://www.emutexlabs.com/component/content/article?id=203:getting-started-with-intel-galileo-gen-2 Getting Started with Intel® Galileo Gen 2: 4.1.3 TI ADS108S102 IIO-ADC Device Driver):

The ADC resolution is 10-bit, but the ADC data is up-scaled to 12-bits when presented via the IIO user-space interface. This is to allow driver compatibility with the ADC128S102, which is a 12-bit variant of the same ADC chip.

The Intel Galileo Gen 2 has a 10-bit adc but it's presented in 12-bit.

AAndy1
New Contributor I
81 Views

There is no question that the ADC is only 10 bit. The concern is that the documentation from Intel is not forth coming about that limitation. Additionally the Gen 1 product had a 12 bit and the data sheet for Gen 2 highlights the enhancements from Gen 1and does mention the downgrade of the ADC.

idata
Community Manager
82 Views

Hi,

 

 

The Galileo Gen2 has an ADC of 10 bits; you can check the schematic: http://www.intel.com/content/dam/support/us/en/documents/galileo/sb/galileo_fabh_schem_120514.pdf http://www.intel.com/content/dam/support/us/en/documents/galileo/sb/galileo_fabh_schem_120514.pdf and you will see that it has the ADC 108s102 [http://www.ti.com/product/ADC108S102 http://www.ti.com/product/ADC108S102]

 

The Datasheet/ProductBrief states that it has a 12bit resolution PWM, but it doesn't mention the resolution of the Analog Inputs, for this is required to check the Schematic. I will contact the proper team in order to add the information regarding the resolution of the ADC on the Product Brief. I think this will help other developers too.

 

 

Regarding the documentation on https://www.arduino.cc/en/ArduinoCertified/IntelGalileoGen2 https://www.arduino.cc/en/ArduinoCertified/IntelGalileoGen2 I suggest you to contact Arduino in order to do the respective clarification of the resolution of the boards.

 

 

Regards,

 

Charlie

View solution in original post