This circuit shows how the ADuC7061 precision analog microcontroller can be used in an accurate RTD temperature monitoring application. The ADuC7061 integrates dual 24-bit Σ-Δ ADCs, dual programmable current sources, a 14-bit DAC, and a 1.2 V internal reference as well as an ARM7 core, 32 kB flash, 4 kB SRAM, and various digital peripherals such as UART, timers, SPI, and I2C interfaces. The ADuC7061 is connected to a 100 Ω RTD.
In the source code, an ADC sampling rate of 100 Hz is chosen. When the ADC input PGA is configured for a gain of 32, the noise free code resolution of the ADuC7061 is greater than 18 bits.
Figure 1: ADuC7061 As a Temperature Monitor Controller with an RTD Interface (Simplified Schematic, All Connections Not Shown)
The circuit shown in Figure 1 is powered entirely from the USB interface. The 5 V supply from the USB is regulated to 2.5 V using the ADP3333 2.5 V low dropout linear regulator. The regulated 2.5 V supplies the DVDD voltage to the ADuC7061. The AVDD supply to the ADuC7061 has additional filtering as shown. A filter is also placed on the USB supply at the input of the linear regulator.
The following features of the ADuC7061 are used in this application:
|•||Primary 24-bit Σ-Δ ADC with programmable gain amplifier (PGA): The PGA is set for a gain of 32 in the software for this application.|
|•||Programmable excitation current sources for forcing a controlled current through the RTD: The dual current sources are configurable in 200 μA steps from 0 μA to 2 mA. For this example, a 200 μA setting was used.|
|•||External voltage reference for the ADC in the ADuC7061: For this application, we used a ratiometric setup where an external reference resistor (RREF) is connected across the external VREF+ and VREF− pins. Alternatively, an internal 1.2 V reference is provided in the ADuC7061.|
|•||ARM7TDMI® core: The powerful 16-/32-bit ARM7 core with integrated 32 kB flash and 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.|
|•||UART: 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 S1 low and toggling S2, the ADuC7061 will enter boot mode instead of normal user mode. In boot mode, the internal flash may be reprogrammed through the UART interface.|
The RTD used in the circuit is a platinum 100 Ω RTD, model number Enercorp PCS 1.1503.1. It is available in a 0805 surface-mount package. This RTD has a temperature variation of 0.385 Ω/°C.
Note that the reference resistor, RREF, should be a precision 5.62 kΩ (±0.1%).
The USB interface to the ADuC7061 is implemented with an FT232R UART to USB transceiver, which converts USB signals directly to the UART.
In addition to the decoupling shown in Figure 1, the USB cable itself should have a ferrite 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.
The circuit must be constructed on a multilayer PC board with a large area ground plane. Proper layout, grounding, and decoupling techniques must be used 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 ADuC7061 Evaluation Board layout).
The source code used to test the attached circuit can be downloaded as a zip file at www.analog.com/cn0075_source.
The UART is configured for a baud rate of 9600, 8 data bits, no parity, no flow control. If the circuit is connected directly to a PC, a communication port viewing application such as HyperTerminal can be used to view the results sent by the program to the UART. See Figure 2. The source code is commented to make it easier to understand and manipulate.
For details on linearization and maximizing the performance of the circuit, refer to Application Note AN-0970, RTD Interfacing and Linearization Using an ADuC706x Microcontroller.
Figure 2. Output of HyperTerminal Communication Port Viewing Application
The ADP7102 regulator can be used as a newer alternate to the ADP3333. If more GPIO pins are required on the microcontroller, the ADuC7060, which comes in a 48-LFCSP or 48-LQFP package, is another option. Note that the ADuC7060/ADu7061 can be programmed or debugged via a standard JTAG interface. For a standard UART to RS-232 interface, the FT232R transceiver could be replaced with a device such as the ADM3202, which requires a 3 V volt power supply.