AnsweredAssumed Answered

Sudden increase in temperature reading with KL16 ADC

Question asked by Balkrishna Amrutrao on May 13, 2019
Latest reply on May 15, 2019 by Kerry Zhou

For KL16 ADC , 6 channels are read one after another in DMA interrupt(ADC channel to be read is configured in DMA interrupt). One of the channel reads system temperature. But I am seeing sudden rise of up to 5 degree C in temperature reading using ADC which is confirmed wrong, this happens when system is run for long time and it happens sporadically. Conversion time for each channel is 16.8us.

sample code:

ADC_init()

{

resolution = 12 bit;

longSampleMode = kADC16_LongSampleCycle24;

continuous conversion = disabled;

Hardware average count = 4;

differential conversion = false;

ADC hardware trigger = true;

//configure and start ADC converison using ADC16_SetChannelConfig();

Enable ADC mux;

Enable DMA = true;

}

 

DMA_handler()

{

//clear DMA channel status

//read ADC data using DMA_PrepareTransfer();

//save the data for channel

//call DMA_settransfer_config()

//configure and start ADC converison using ADC16_SetChannelConfig();

}

Outcomes