FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6421 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)