Skip to end of banner
Go to start of banner

UTE - Temperature sensor

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Temperature sensor

The on-chip die temperature sensor consists of a thermal diode internally connected to analog input channel 2 of ADC controller 0 (ADC0_IN2). The measured, digitized voltage is proportional to the junction temperature (Tj) calculated using the formula extracted from Figure 1: V(T) = – 0.003569 × T + 1.558576

Figure 1: Thermal diode

Temperature error

The unadjusted temperature error (UTE) takes into account the total unadjusted error (TUE) of ADC controller 0 and the error caused by process variations of the on-chip thermal diode that is more precisely in sensing temperature changes than absolute temperatures.

PVT variations:

The characteristic parameters shown in Figure 1 are verified by design. Under worst case variations of PVT conditions, the worst case error of the thermal diode is ± 15 mV.

TUE calculation:

The TUE is calculated using the formula in Figure 2. The corresponding ADC parameters (see Electrical Specification) are expressed in units of least signification bits (LSB).

Figure 2: Temperature error

The reference voltage VREF_ADC  for the ADC can be supplied internally by a reference buffer or externally by a reference voltage. It is mandatory to put a capacitor of 100 nF between VREF_ADC and VSS_REF. In case of an external reference voltage, parameters such as temperature drift, voltage noise and stability must be considered for ADC accuracy.

UTE adjustments

Assuming VREF_ADC is supplied internally by the reference buffer ADC_VREF with 2.6 V ± 50 mV (see chapter Electrical specification ADC), the worst case UTE is ± 59 LSB, which corresponds to ± 10 °C. As illustrated by the equation in Figure 2, the error caused by deviations propagates due to the combination of variables with uncertainties, which increases towards the full-scale input range of the ADC.

According to the formula in Figure 2, the UTE can be adjusted by either TUE or Δ F or both. In general, offset and gain errors could be calibrated out. In this case, the actual error (see TUE respectively UTE in Figure 2) would be dominated by INL and DNL errors. Offset and gain adjustments would require reference measurements, for instance by measuring the case-top temperature Tc (see chapter Thermal behavior).

The reference buffer ADC_VREF is a temperature compensated voltage that is trimmed and tested against specification limits during production tests. The assumption of calculating the UTE using the upper and lower limits of ADC_VREF with Δ VREF_ADC of ± 50 mV could be adjusted by measuring VREF_ADC, which is internally connected to analog input channel 3 of ADC controller 0 (ADC0_IN3) and 1 (ADC1_IN3).

Example

In order to measure the voltage from reference pin VREF_ADC, the ADC controller must be configured to use the analog core supply as a reference voltage and the ADC sequencer must carry out at least eight consecutive measurements to reduce the effect of noise caused by ripples in the analog reference.

Assuming the reference buffer ADC_VREF on pin VREF_ADC is measured and digitized for calculating the temperature value, Δ VREF_ADC determined by the TUE is ± 13 mV instead of ± 50 mV, which corresponds to a total error of ± 6 °C at lower temperatures and ± 5 °C at higher temperatures.

Remark

The ADC controller requires 2 cycles for sampling and 12 cycles for conversion, i.e. in total 14 cycles for digitizing analog input signals sequentially. The sampling time must be settled to 12-bit precision, which for the thermal diode is worst case 1.2 µs. Therefore, depending on the programmed ADC clock, the sampling time with 2 cycles must be extended.

Assuming the ADC clock period is 30 ns (default after reset), the sampling time with 2 cycles × adcclk_period + tt_add × 10 ns must be adjusted for 1.2 µs. The additional delay of ≥ 114 (recommended 128) must be programmed for tt_add.

  • No labels