This circuit shows how to use the ADuC7060 or ADuC7061 precision analog microcontroller in a precision thermocouple temperature monitoring application. The ADuC7060/ADuC7061 integrated dual-channel 24-bit sigma-delta analog-to-digital converter (ADC), dual-channel programmable current source, 14-bit Digital-to-analog converter (DAC), 1.2 V built-in voltage reference along with ARM7 core, 32 kB Flash, 4 kB SRAM and various digital peripherals such as UART, timers, serial peripheral interface (SPI) and I2C interface.
In this circuit, the ADuC7060/ADuC7061 are connected to a thermocouple and a 100Ω platinum resistance temperature detector (RTD). RTD is used for cold junction compensation. As an additional option, the ADT7311 digital temperature sensor can be used in place of the RTD to measure the cold junction temperature.
In the source code, the ADC sampling rate is selected as 4 Hz. The noise-free resolution of the ADuC7060/ADuC7061 is greater than 18 bits when the ADC input programmable gain amplifier (PGA) is configured with a gain of 32.
The single-sided nibble transfer (SENT) interface to the host is accomplished by using timers to control digital output pins. This digital output pin is then level converted to 5 V externally using an external NPN transistor. An EMC filter is provided in the SENT output circuit as recommended in section 6.3.1 of the SENT protocol (SAE J2716 standard). Data is measured from falling edge to falling edge, and the duration of each pulse is related to the number of system clock cycles. The system clock rate can be determined by measuring the SYNC pulses. The SYNC pulse is sent at the beginning of each packet. For more details, see the "SENT Interface" section.
Used in this application: The following features of the ADuC7060 / ADuC7061 :
Thermocouples and RTDs produce very small signals, so a PGA is required to amplify these signals. The auxiliary ADC of the ADuC7060/ADuC7061 does not contain a PGA, so both are connected to the main ADC, and switching between the two is done through software.
The thermocouple used in this application is a T-type (copperconstantan) with a temperature range of −200°C to +350°C and a sensitivity of approximately 40 μV/°C, which means that the ADC operates in bipolar mode and 32x PGA gain setting can cover the entire temperature range of the thermocouple.
RTD is used for cold junction compensation. This circuit uses a 100Ω platinum RTD model number Enercorp PCS 1.1503.1. It comes in a 0805 surface mount package and has a temperature change rate of 0.385Ω/°C.
Note that the reference resistor RREF should be a precision 5.6 kΩ (±0.1%) resistor.
SENT interface
The SENT interface is a single-pin, unidirectional (sensor to host) time-modulated signal primarily used to interface distributed sensors with the host CPU in automotive systems.
The main requirements of SENT include the following:
The associated source code uses the P0.4 digital pin of the ADuC7061 as the SENT output pin. The data packet format used is the single sensor data packet format, see Section A.4 of the SAE J2716 standard (SENT protocol) document for details. The source code (especially the SENT.h and Sent.c files) can be modified to support other packet formats. The overall temperature result is returned in /°C format via data nibble 1 through data nibble 3. To summarize, the output packet returned is
Figure 2 shows an example of a data packet.
The circuit must be built on a multilayer printed circuit board (PCB) with a large area ground plane. For optimal performance, proper layout, grounding, and decoupling techniques must be used (see Tutorial MT-031 "Grounding Data Converters and Solving the Mysteries of AGND and DGND" , Tutorial MT-101 "Decoupling Techniques" and ADuC7060/ADuC7061 evaluation board layout).
Code description
Timer 1 is used to control the SENT output pin P0.4. After the temperature result is calculated based on the ADC result of the thermocouple and the cold junction temperature, the SENT packet structure SENT_PACKET will be updated and timer 1 will be started. The domains of this structure will be output one by one on the P0.4 pin, as shown in Figure 2. The first level of the data packet is the synchronization sequence. The host determines the clock period based on this pulse and uses it to determine subsequent nibble values.
To obtain a temperature reading, the temperature of the thermocouple and RTD should be measured. The RTD temperature is converted to its equivalent thermocouple voltage using a lookup table. Adding these two voltages gives you the absolute value of the thermocouple voltage.
First, measure the voltage (V1) between the two wires of the thermocouple. Then, the RTD voltage is measured and converted to temperature via a lookup table. Next, this temperature is converted to its equivalent thermocouple voltage (V2). V1 and V2 are then added to give the overall thermocouple voltage, which is then converted into the final temperature measurement.
Finally, a piecewise linear scheme is used to calculate the final temperature value. The corresponding temperatures for a fixed number of voltages are stored in an array, and the values between them are calculated using linear interpolation of adjacent points. Figure 3 shows the algorithm error when using ideal thermocouple voltages. Figure 4 shows the error obtained when measuring 52 thermocouple voltages over the entire thermocouple operating range using the ADC0 pin on the ADuC7060/ADuC7061. The worst-case total error is less than 1°C.
The RTD temperature is calculated using a lookup table and is used with RTDs in the same way as with thermocouples. Note that the polynomial that describes the relationship between RTD temperature and resistance is different from the polynomial that describes the relationship between thermocouples.
The source code in the design support package was generated using KEILμVision V3.90.
For more information on linearization and achieving optimal RTD performance, please refer to application note AN-0970, "RTD Interfacing and Linearization Using ADuC706x Microcontrollers . "
Blockdiagram
Devices | Class | introduce | Datasheet |
---|---|---|---|
AD8628 | semiconductor;Analog mixed-signal IC | QUAD OP-AMP, 10 uV OFFSET-MAX, 2.5 MHz BAND WIDTH, PDSO14 | Download |
ADUC7060 | semiconductor;Discrete semiconductor | low power, precision analog microcontroller, dual sigma-delta adcs, flash/EE, arm7tdmi | Download |
ADUC7061 | Download | ||
ADT7311 | Digital temperature sensor | Download | |
ADP7102 | semiconductor;Power management | 1.5 V FIXED POSITIVE LDO REGULATOR, PDSO8 | Download |
All reference designs on this site are sourced from major semiconductor manufacturers or collected online for learning and research. The copyright belongs to the semiconductor manufacturer or the original author. If you believe that the reference design of this site infringes upon your relevant rights and interests, please send us a rights notice. As a neutral platform service provider, we will take measures to delete the relevant content in accordance with relevant laws after receiving the relevant notice from the rights holder. Please send relevant notifications to email: bbs_service@eeworld.com.cn.
It is your responsibility to test the circuit yourself and determine its suitability for you. EEWorld will not be liable for direct, indirect, special, incidental, consequential or punitive damages arising from any cause or anything connected to any reference design used.
Supported by EEWorld Datasheet