FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5954 Discussions

Sampling MAX 10 TSD using ADC Control Core running at 1 Msps


I am using the ADC Control Core (ADCCC) to sample all 8+1 ADC inputs at 1 Msps.

Note that I specifically want to use the ADC Control Core, rather than the other ADC IP blocks.

The (UG-M10ADC) ADC User Guide explains reading the TSD but is somewhat ambiguous about how you can do it and leaves questions unanswered.

My sequencer starts ADCCC conversions in a continuous 10-pass cycle. Each cycle step converts and reads 1 sample from each of 9 channels plus one unused sample time. Therefore each channel produces 1 sample every 10 us under sequencer control. This works fine.

I now want to add reading of the Temperature Sensing Diode (TSD) though ADC1.

The procedure it looks like I can use is: (1) read the TSD using my 1 Msps ADC so long as I only do 1 TSD conversion every 20 us (50 kHz), (2) average 64 of these 20 us-interval samples to produce 1 temperature measurement every 1280 us.

My questions are:

(a) Is it correct that I can use this procedure?

(b) What is the ADC Control Core channel code for COMMAND_CHANNEL to read the TSD?

I have read through UG-M10ADC, other MAX 10 documentation and everything I can find on the internet but cannot get answers to these. Thanks.

1 Reply

Hi @electreng 

1) I dont see a problem. It is up to the user to determine how often you want to read, and for post-processing, it is really up to you how many samples you want to average.


2) the command_channel for TSD is channel 17. See https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max-10/ug_m10_adc.pdf (Table 26)