This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to get the stable temperature data from external temperature sensor (RTD)?

Other Parts Discussed in Thread: PGA900

HI:

I connected a external temperature sensor in VINTP and VINTN on EVM with TP29 and TP27, as follow:

and I had a configured with PGA900_cfg.c as follow:

CONFIG_ALPWR(POWER_UP_PT_PGA_FD | ADC_EN_VREF | GATE_CTRL_SD_DISABLE);

DAC_Config(DAC_ENABLE, DAC_RATIOMETRIC_MODE_DISABLE, DAC_GAIN_10V | B_4_20MA_DISABLE | DACCAP_DISABLE );

AMUX_CONFIG(TEST_MUX_DAC_EN | TEST_MUX_P_EN | TEST_MUX_T_EN);

ADC_Tchannel_Config(ADC_ENABLE| ADC_ENABLE_24BIT | ADC_DECI_RATE_128US | ADC_INT_RATE_EVERY_SAMPLE, T_GAIN_20_V_V );

 TEMP_CTRL=0x30; //500uA

I made a output in PGA900_adc.c, the program as follow:

interrupt void PADC_Handler(void)
{

signed long xx,yy;
yy = (TADC_DATA_24BIT & 0x00FFFFFF);/* Mask the upper 8 bits */

if(yy & 0x00800000) /* If sign bit is set */
{
yy = yy | 0xFF000000; /* Sign extend the sign bit */
}
/* Accumulate the value of P channel */
FIR_AccadcValue[0] = xx;
/* Accumulate the value of T channel */
FIR_AccadcValue[1] += yy;

coeffP = (NtempCoeff[VarI] * FIR_AccadcValue[0]);

coeffP = (coeffP >> 14);
coeffP = coeffP + GtempCoeff[VarI];
coeffP = (coeffP * FIR_AccadcValue[0]);
coeffP = (coeffP >> 14);
coeffP = coeffP + HtempCoeff[VarI];
DAC_Value = (US)(coeffP);

DAC_Value=(yy>>10);

then, I have detected the voltage in vout (TP30), the voltage which shown in voltage meter was continued changed even the temperature is keeping a 20 degrees.

would you please tell me what's going on?

didn't I missed something?

Thanks