Hello at all,
I have some questions regarding the internal temperature sensor:
Wich is the accuracy?
How is build?
How can I improve it?
Where can I see these informations?
thank you in advance,
> Wich is the accuracy?
You'd think that would be in the Data Sheet. It isn't. It would help us if you said where you've already looked before asking.
> How is build?
How would that help you? It is 1.646mV/C below 25C and 1.769mV/C above 25C and 701.2mV at 25C. I expect they're using a reference diode of some sort plus some analog circuitry.
> How can I improve it?
Calibrate it during production against a reference. You're going to have problems with the chip self-heating unless you're running it in a low power mode all the time.
If you need accurate and calibrated temperature measurement, then use an external sensor.
> Where can I see these informations?
The Reference Manual gives the formula and the Data Sheet gives the parameters. They seem to be incomplete.
This ADC is used in other chips. They may have better documentation. In fact I just typed "vtemp25" into Freescales's Search box, and the first hit is
AN3031, Temperature Sensor for the S08 Microcontroller Family - Application Notes
It has sections on accuracy, calibration, the theory and everything.
Thank you very much for the answer Tom.
I'm reading the datasheet of the HCS08 Microcontroller. In the chapter 126.96.36.199 Temperature Sensor
the following data are reported:
"Equation 8-1 provides an approximate transfer function of the on-chip temperature sensor for VDD = 3.0V,
Temp = 25°C, using the ADC at fADCK = 1.0 MHz and configured for long sample.
TempC = 25 – ((VTEMP – 1.3894) / ( 0.0033)) Eqn. 8-1
0.0017 is the uncalibrated voltage versus temperature slope in V/°C. Uncalibrated accuracy of the
temperature sensor is approximately ± 12°C, using Equation 8-1.
To improve accuracy the user must calibrate the bandgap voltage reference and temperature sensor.
Calibrating at 25°C will improve accuracy to ± 4.5°C.
Calibration at 3 points, -40°C, 25°C and 105°C will improve accuracy to ± 2.5°C. Once calibration has
been completed, the user will need to calculate the slope for both hot and cold." Are they applicable for the MCF51QE32? in particular the tollerance +-12°C... .
The resolution of the ADC affects on the accuracy and tollerance (10bit or 12 bit)?
Thank you for the suggestion of the document AN3031, very helpful.
Compare the register definitions and basic design of the ADC in the MCF51QE128 and the HCS08. If they look the same then they're probably the same part and the documentation you found probably applies. It may be the best you're going to get.
What temperature range are you wanting to measure? My reading is that +-12C is the worst-case error over the total range of -40C to 105C. Calibrating at 25C reduces the error over that range to 4.5C, but it should now be very accurate at or near 25C. If you only need to measure (say) 5C to 30C then calibrating at 25C should be enough.
If you want to calibrate over the whole range you'll need access to a temperature chamber and you'll need to design a test procedure that you run on all of your manufactured boards. Then after the measurement you'll have to store the resulting calibration values in the chip (EE or Flash) somehow. I think it would be far easier and ultimately cheaper to use an external sensor, either an analog temperature reference on an ADC pin or an I2C or SPI one.
An LM20 would do the job for about $0.50.
But what do you want to measure and how accurate does it have to be? Those requirements are the starting point for any design. But do you want to measure the CPU die temperature or ambient air temperature?
As I mentioned, the "self heating" might be a problem. If you're running the CPU 100% of the time at 25MHz then the Data Sheet gives a current consumption of 32mA which is 96mW at 3V. The worst case thermal resistance is 70C/W, so that's a temperature rise of 32*70/1000 = 6.7C. Even an external sensor on the board might be warmed by the electronics. You could try and correct for the "self heating" if you know the current consumption, but the chip would still be cold at power on and would take a while to warm up.
Retrieving data ...