Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21204 Discussions

Issue with MAX10 FPGA ADC

AdamT
Beginner
1,008 Views

We appear to have an issue with the ADC on the MAX 10 ADC. The ADC inputs appear to be feeding current onto the signal being measured. We are using the ADC to measure the voltage of a number of potential dividers. In the first example we would expect to to see 300 mV at the ADC input but using a DVM we measure 330 mV. This is confirmed by interrogating the ADC. This is the case across all 8 inputs. It seems that the ADC inputs are feeding about 130 uA back onto its inputs.

 

The only way I can explain this is that the weak internal pull-ups appear to be enabled. According to the MAX 10 documentation they can have a value of between 7 and 34 kOhms. A value of around 13k would give the effect we are observing.

 

If we define the pins as GPIO and turn off the internal pull-ups the problem is resolved.

 

It appears that once the pins are defined as ADC inputs it is not possible to turn on or off the internal pull-ups but they default to being enable. Are we mistaken?

 

We are currently using Quartus Prime 18.1. The device we are using is: 10M08SAU169A7G.

Labels (1)
0 Kudos
5 Replies
sstrell
Honored Contributor III
984 Views

I don't know if that device is single core or dual core ADC, but have you set the voltage reference(s) correctly?  Have you enabled the prescaler that allows you to measure higher voltage on certain channels?  You might need to take that into account in your voltage conversion.

0 Kudos
AqidAyman_Intel
Employee
975 Views

You also need to check if below requirement is fulfilled:


Intel® MAX® 10 devices are available in single or dual supply packages.

  • For devices with single power supply:
  1. Use on chip regulator to power up the digital supply.
    1. Use VCCA to power up the ADC analog.
  • For dual power supply devices, you must provide external power supplies of 1.2 V and 2.5 V to power up the ADC.

0 Kudos
AdamT
Beginner
962 Views

Thank you for looking into this.

The device we are using is a single supply variant. Our design powers it from a 3.3V supply, we use a 3.0 volt external reference. 

I believe the pre-scaler is only applicable to channel 8 on this device, our issue affects all channels. We have made sure the pre-scaler is not enabled.

Our issue is not related to conversion accuracy the value we read from the ADC agrees with the voltage on the input. Our issue is that the ADC inputs are affecting the measured voltage, it looks like the weak internal pull-ups are enabled, this would explain why we measure 330mV on the input when we would expect 300 mV. This is emphasized in our application as the input impedance is higher than the value recommended in the datasheet.

I have gone on to do a further test since my initial post. I have disconnected the input from the ADC by removing the resistor in series with the input. I have then connected a 22k resistor between ADCIN1 and ground. The effect of the 22k resistor should be to pull the input to ground. When I measure the voltage on ADCIN1, I get 2.06 volts. It looks like there is a 13k pull-up internal to the ADC input.

0 Kudos
AqidAyman_Intel
Employee
868 Views

I am not aware if those pins are enabled internal weak pull-up as default setting. If based on the link below, it mentioned all I/O pins have option to enable the weak pull-up resistor.

https://www.intel.com/content/www/us/en/docs/programmable/683794/current/internal-weak-pull-up-resistor.html


0 Kudos
AqidAyman_Intel
Employee
773 Views

As we do not receive any response from you on the previous question/reply/answer that we have provided, please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.


0 Kudos
Reply