Hi,
In our project, we use the Temperature Sensor 1 of the TMS570LC4357.
All necessary steps to activate the temperature sensors (IOMM) and the MibADC1 (clocks in PCR3, MIBADC1 registers configuration) and I can read the ADC reading that match with the ambient temperature.
In our system, the ADC reference voltage on ADREFHI is 2.048V. As indicated in the TI Application Note SPNA216, the calibration data were produced with ADREF at 3.3V, then a scaling of the temperature is necessary. According to the application note, this can be done by applying a ratio factor to the thermistor_read() function return value.
Because the operation to get the temperature is temp_K = (ADC_Reading - Offset) * Slope, that means that for an ADC reading of 0x000, the temperature in Kelvin would change depending on the ADREF.
If the temperature sensor is powered by an other reference (coming from the CPU and not from the ADREF) then in my opinion, only the ADC readings needs to be rescaled.
With that idea, I performed offset and slope computation based on TI OTP calibration data, but with first rescaling the ADC readings, and for a standard linear equation of temp_K = Slope * ADC_Reading + Offset. The results gave different slopes if the reference on ADREF is not the same, but the offsets are the same, meaning for an ADC value of 0x000, the temperature (Kelvin) is the same, that makes more sense to me.
So here are my questions:
- Are my assumptions correct?
- Is the scaling method from the application note correct?
- If ADREF changes the ADC readings for the same input voltage on the channel, then what is the reference voltage of the temperature sensor? Is it related to ADREFHI/ADRELOW? VCCAD/VSSAD? other supply?
Best regards,
Gael