Circuit Note
CN-0221
Devices Connected/Referenced
Circuits from the Lab® reference designs are engineered and
tested for quick and easy system integration to help solve today’s
analog, mixed-signal, and RF design challenges. For more
information and/or support, visit www.analog.com/CN0221.
ADuCM360/
ADuCM361
Cortex-M3 Based Microcontroller with
Dual 24-Bit Σ-Δ ADCs
ADP1720-3.3
Low Dropout Linear Regulator
USB-Based, Thermocouple Temperature Measurement System Using ARM Cortex-M3
EVALUATION AND DESIGN SUPPORT
converter (DAC), and a 1.2 V internal reference, as well as an ARM
Cortex-M3 core, 128 kB flash, 8 kB SRAM, and various digital
peripherals such as UART, timers, SPIs, and I2C interfaces.
Circuit Evaluation Board
CN-0221 Evaluation Board (EVAL-ADuCM360TCZ)
Design and Integration Files
Schematics, Layout Files, Bill of Materials, source code for
ADuCM360
In the circuit, the ADuCM360/ADuCM361 is connected to a
thermocouple and a 100 Ω platinum resistance temperature
detector (RTD). The RTD is used for cold junction compensation.
In the source code, an ADC sampling rate of 4 Hz is chosen. When
the ADC input programmable gain amplifier (PGA) is configured
for a gain of 32, the noise-free code resolution of the ADuCM360/
ADuCM361 is greater than 18 bits.
CIRCUIT FUNCTION AND BENEFITS
This circuit uses the ADuCM360/ADuCM361 precision analog
microcontroller in an accurate thermocouple temperature
monitoring application. The ADuCM360/ADuCM361 integrates
dual 24-bit sigma-delta (Σ-Δ) analog-to-digital converters (ADCs),
dual programmable current sources, a 12-bit digital-to-analog
3.3V
USB HEADER
ADP1720-3.3
BEAD
IN
5V
BEAD
10Ω
OUT
GND
4.7µF
4.7µF
10µF
0.1µF
FT232R
D–
D+
RxD
AVDD
AIN5/IEXC
GND
SHIELD
0.1µF
TxD
0.1µF
BEAD
IOVDD
RESET
10Ω
100Ω
PtRTD
RESET
P2.2/BM
AIN0
SD
0.01µF
10Ω
AIN1
0.01µF
FERRITE BEADS:
1kΩ @ 100MHz
TAIYO YUDEN
BK2125HS102-T
ADuCM360
VREF +
RREF
5.6kΩ
0.1%
VREF –
AIN7/VBIAS
TxD
RxD
AGND
09985-001
J1
P0.1/SIN
AIN3
THERMOCOUPLE
JUNCTION
P0.2/SOUT
AIN2
Figure 1. ADuCM360/ADuCM361 as a Temperature Monitor Controller with a Thermocouple Interface (Simplified Schematic, All Connections Not Shown)
Rev. C
Circuits from the Lab® reference designs from Analog Devices have been designed and built by Analog
Devices engineers. Standard engineering practices have been employed in the design and
construction of each circuit, and their function and performance have been tested and verified in a lab
environment at room temperature. However, you are solely responsible for testing the circuit and
determining its suitability and applicability for your use and application. Accordingly, in no event shall
Analog Devices be liable for direct, indirect, special, incidental, consequential or punitive damages due
toanycausewhatsoeverconnectedtotheuseofanyCircuitsfromtheLabcircuits. (Continuedonlastpage)
One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A.
Tel: 781.329.4700
www.analog.com
Fax: 781.461.3113 ©2012–2014 Analog Devices, Inc. All rights reserved.
CN-0221
Circuit Note
The following features of the ADuCM360/ADuCM361 are used
in this application:
A 24-bit Σ-Δ ADC with a PGA set for a gain of 32 in the
software for the thermocouple and RTD. The ADC1 was
switched continuously between sampling the thermocouple
and the RTD voltages.
Programmable excitation current sources for forcing a
controlled current through the RTD. The dual current
sources are configurable in from 0 μA to 2 mA. For this
example, a 200 μA setting was used to minimize the error
introduced by the RTD self-heating.
An internal 1.2 V reference for the ADC in the ADuCM360/
ADuCM361. It measures the thermocouple voltage; the
internal voltage reference was used due to its precision.
An external voltage reference for the ADC in the
ADuCM360/ADuCM361. It measures the RTD resistance;
a ratiometric setup was used where an external reference
resistor (RREF) was connected across the external VREF+
and VREF− pins.
A bias voltage generator (VBIAS). The VBIAS function was
used to set the thermocouple common-mode voltage to
AVDD/2.
The ARM Cortex-M3 core. The powerful 32-bit ARM core
with integrated 128 kB flash and 8 kB SRAM memory runs
the user code that configures and controls the ADC, processes
the ADC conversions from the RTD, and controls the
communications over the UART/USB interface.
The UART was used as the communication interface to the
host PC.
Two external switches are used to force the part into its
flash boot mode. By holding SD low and toggling the RESET
button, the ADuCM360/ADuCM361 enters boot mode
instead of normal user mode. In boot mode, the internal
flash can be reprogrammed through the UART interface.
Note that the reference resistor, RREF, should be a precision
5.6 kΩ (±0.1%).
The USB interface to the ADuCM360/ADuCM361 is
implemented with an FT232R UART to USB transceiver, which
converts USB signals directly to the UART.
In addition to the decoupling shown Figure 1, the USB cable itself
must have a ferrite bead for added EMI/RFI protection. The ferrite
beads used in the circuit were Taiyo Yuden, #BK2125HS102-T,
which have an impedance of 1000 Ω at 100 MHz.
Construct the circuit on a multilayer printed circuit board (PCB)
with a large area ground plane. Use proper layout, grounding,
and decoupling techniques to achieve optimum performance (see
Tutorial MT-031, Grounding Data Converters and Solving the
Mystery of "AGND" and "DGND," Tutorial MT-101, Decoupling
Techniques, and the ADuCM360TCZ Evaluation Board layout).
The PCB used for evaluating this circuit is shown in Figure 2.
Both the thermocouple and the RTD generate very small signals;
therefore, a PGA is required to amplify those signals.
The thermocouple used in this application is a Type T (copperconstantan) that has a temperature range of −200°C to +350°C.
Its sensitivity is approximately 40 μV/°C, which means that the
ADC in bipolar mode, with a PGA gain of 32, can cover the
entire temperature range of the thermocouple.
The RTD was used for cold junction compensation. The
particular one used in this circuit was a platinum 100 Ω RTD,
Enercorp PCS 1.1503.1. It is available in a 0805, surface-mount
package. This RTD has a temperature variation of 0.385 Ω/°C.
Rev. C | Page 2 of 5
09985-002
CIRCUIT DESCRIPTION
Figure 2. EVAL-ADuCM360TCZ Board Used for this Circuit
Circuit Note
CN-0221
Code Description
20
The link to the source code used to test the circuit can be found in
the CN0221 Design Support Package at
http://www.analog.com/CN0221-DesignSupport
0
–20
ERROR (°C)
The UART is configured for a baud rate of 9600, 8 data bits, no
parity, and no flow control. If the circuit is connected directly to
a PC, a communication port viewing application, such as a
HyperTerminal, can be used to view the results sent by the
program to the UART, as shown in Figure 3.
–40
–60
–100
–210
–140
–70
0
70
140
210
280
350
TEMPERATURE (°C)
09985-004
–80
Initially, this was done using a simple linear assumption that the
voltage on the thermocouple was 40 µV/°C. It can be seen from
Figure 4 that this gives an acceptable error only for a small range,
around 0°C. A better way of calculating the thermocouple
temperatures is to use a six-order polynomial for the positive
temperatures and a seventh-order polynomial for the negative
temperatures. This requires mathematical operations that add
to computational time and code size. A suitable compromise is to
calculate the respective temperatures for a fixed number of
voltages. These temperatures are stored in an array, and values in
between are calculated using a linear interpolation between the
adjacent points. It can be seen from Figure 5 that the error is
drastically reduced using this method. Figure 5 gives the algorithm
error using ideal thermocouple voltages.
0.30
Figure 3. Output of HyperTerminal Communication Port Viewing Application
First, the voltage measured between the two wires of the
thermocouple (V1). The RTD voltage is measured, converted to
a temperature via a look-up table, and then, this temperature is
converted to its equivalent thermocouple voltage (V2). V1 and
V2 are then added to give the overall thermocouple voltage, and
this is then converted to the final temperature measurement.
Rev. C | Page 3 of 5
0.20
ERROR (°C)
To get a temperature reading, measure the temperature of the
thermocouple and the RTD. The RTD temperature is converted
to its equivalent thermocouple voltage via a look-up table (see the
ISE, Inc., ITS-90 Table for Type T Thermocouple). These two
voltages are added together to give the absolute value at the
thermocouple.
0.25
0.15
0.10
0.05
0
–0.05
–210
–140
–70
0
70
140
210
280
350
TEMPERATURE (°C)
Figure 5. Error When Using Piecewise Linear Approximation Using
52 Calibration Points and Ideal Measurements
09985-005
09985-003
Figure 4. Error When Using Simple Linear Approximation
CN-0221
Circuit Note
Figure 6 shows the error obtained when using ADC1 on the
ADuCM360 to measure 52 thermocouple voltages over the full
thermocouple operating range. The overall worst-case error
is