Analogue Input/Output
Many sensors & transducers produce voltages representing
physical data.
To process transducer data in a computer requires conversion to digital
form.
Many output devices require variable control, not just two
digital logic levels
To control these devices from a computer requires conversion from
digital to analogue form (usually an analogue voltage).
The conversion from analogue signals to digital values is
performed by Analogue to Digital Converter (ADC)
The conversion from a digital value to an analogue signal is
performed by a Digital to Analogue Converter (DAC).
5-1
Example audio signal
Amplitude
Time
5-2
Example 3 bit conversion
111
110
101
100
011
010
001
000
1 2 3 4 5 6 7 8 9 10
DAC function
Parallel DAC
Analogue
n bit DA Converter
value output
VAgnd Vref
Serial DAC would typically have a single data input line and a clock input signal
which would be used to clock in the serial data stream.
Adv. : - Fewer pins.
Disadv. : Slower data transfer.
5-4
Analogue Output
Digital to Analogue Converter (DAC)
DAC Characteristics
resolution = 1/2n where n is the number of bits
Max. digital value = 2n – 1
output voltage range – determined by reference voltage
(Vref and AGND)
Step size in volts = resolution x voltage range
Max output voltage = (2n – 1)/ 2n x voltage range
uni-polar / bipolar types
slew rate – rate of change of output.
interface – parallel (fast) or serial (slower but uses fewer
connections)
5-5
DAC principles – Example 4-bit DAC
Sum currents with operational amplifier
2R Vref/2 R
1 Vo = - Vref(Rf/Rinput)
d3 4R Vref/4
0
- Vo
d2 8R Vref/8 +
1 Vo = -(Vref-AGND)(digital value/2n)
d1 Vo α digval/ 2n
16R Vref/16
1 AGND
d0 Example: with 4-bit value = 1011
Vref
Vo = -Vref(d3/2 + d2/4 + d1/8 + d0/16)
Vo = -Vref(1/2 + 1/8 + 1/16)
Vo = -Vref(11/16) 5-6
Output from DAC
Output
Voltage VMAX = Maximum output voltage
2n -1
V max = n *Vref
2
where n is number of bits MAXVAL = Maximum digital value
VMAX
= 2n -1
where n is number of bits
Digital
Value
MAXVAL
5-7
Example DAC device
M AX5722 dual,12-bit, low-power, buffered voltage output, digital-to-analog
converter (DAC) is packaged in a space-saving 8-pin µMAX package (5mm
✕ 3mm).
Ultra-Low Power Consumption
112µA at VDD = +3.6V
135µA at VDD = +5.5V
Wide +2.7V to +5.5V Single-Supply Range
8-Pin µMAX Package
0.3µA Power-Down Current
Guaranteed 12-Bit Monotonicity (±1LSB DNL)
Safe Power-Up Reset to Zero Volts at DAC Output
Three Software-Selectable Power-Down
Impedances (100kΩ, 1kΩ, Hi-Z)
Fast 20MHz, 3-Wire SPI, QSPI, and MICROWIRECompatible
Serial Interface
Rail-to-Rail Output Buffer Amplifiers
Schmitt-Triggered Logic Inputs for Direct
Interfacing to Optocouplers
Wide -40°C to +125°C Operating Temperature
Range
5-8
Audio DAC example
Recreate audio
111
110
101
100
011
010
001
000
1 2 3 4 5 6 7 8 9 10
What resolution?
What slew rate?
5-9
Analogue Input
Analogue to Digital Converter (ADC)
ADC Characteristics
resolution = 1/2n where n is the number of bits
Max. digital value = 2n – 1
input voltage range – determined by the reference voltages
(Vref and AGND)
Step size in volts = resolution x voltage range
uni-polar / bipolar types
interface – parallel (fast) or serial (slower but uses fewer
connections)
often integrated into microcontrollers.
5-10
General ADC function
Analogue
input Converter
n bit
result
VAgnd Vref
The analogue input voltage is converted into a value.
The value is dependent on the reference voltages
and the number of bits n.
5-11
Analogue Input
Main types ([Link]) of ADC
Successive approximation – good all-rounder
Flash – fastest type
Sigma-delta – good for audio
Dual slope integrating – slow but high resolution with good
noise immunity
others – Sampling, ramp, charge balancing
Characteristics
resolution
conversion method
conversion time
input voltage range
interface – parallel (fast) or serial(fewer connections)
5-12
MCP3208
Features
12-bit resolution
± 1 LSB max DNL
± 1 LSB max INL (MCP3204/3208-B)
± 2 LSB max INL (MCP3204/3208-C)
4 (MCP3204) or 8 (MCP3208) input channels
Analog inputs programmable as single-ended or
pseudo-differential pairs
On-chip sample and hold
SPI serial interface (modes 0,0 and 1,1)
Single supply operation: 2.7V - 5.5V
100 ksps max. sampling rate at VDD = 5V
50 ksps max. sampling rate at VDD = 2.7V
Low power CMOS technology:
500 nA typical standby current, 2 µA max.
400 µA max. active current at 5V
Industrial temp range: -40°C to +85°C
Available in PDIP, SOIC and TSSOP packages
5-13
Example:8-bit ADC with Vref +5v and 0v VAgnd
Number of steps (values) = 2n = 28 = 256
steps are numbered 0 to 255
step size = reference voltage range / number of steps
= (5v – 0v) / 256 = 19.53125 x10-3v ≈ 20mv
number range 0 to 255 corresponds to voltage range
of 0 to ≈ 5v
ADC value = (Vin / (Vref – Agnd)) * 256 : remember
max ADC value is 255 so max input voltage that can
be converted accurately is less than 5 volts.
What is the maximum convertible input voltage?
5-14
8-bit ADC with 5v reference
ADC
value
255
ADC
value
V
≈10mv ≈30mv ≈50mv ≈70mv
≈20mv
≈40mv
≈60mv
0 Volts
≈4.98
5-15
Cont.
ADC value
Volts
0
≈10mv ≈30mv ≈50mv ≈70mv
≈20mv
≈40mv ≈60mv ≈80mv
5-16
Quantization Error
101
100
011
010
001
0 1 2 3 4 5 6
Each input sample is assigned a quantization interval that is closest to
its amplitude height. If an input sample is not assigned a quantization
interval that matches its actual height, then an error is introduced into
the conversion process.
This error is called quantization error/noise.
Reducing quantization error
One way to reduce quantization noise is to increase the amount of
quantization intervals.
The difference between the input signal amplitude height and the
quantization interval decreases as the quantization intervals are increased
(increases in the intervals decrease the quantization noise).
Solved by increasing the ADC resolution (number of bit) in proportion to the
increase in quantization intervals.
8 80 80
7 70 70
6 60 60
5 50 50
4 40 40
3 30 30
2 20 20
1 10 10
0 0
5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 0
5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6
Analogue Input Example
Example - The LM35 series are
•
precision integrated-circuit Calibrated directly in °Celsius (Centigrade)
temperature sensors, whose •
Linear + 10.0 mV/°C scale factor
output voltage is linearly
• 0.5°C accuracy guarantee able (at +25°C)
proportional to the Celsius
(Centigrade) temperature. • Rated for full -55°to +150°C range
• Suitable for remote applications
• Low cost due to wafer-level trimming
• Operates from 4 to 30 volts
• Less than 60 µA current drain
• Low self-heating, 0.08°C in still air
• Nonlinearity only ±¼°C typical
•
Low impedance output, 0.1 Ohm for 1 mA load
5-19
LM35 Interface Example
ADC range 0V to + 3.3 V
LM35 Linear + 10.0 mV/°C scale factor
Use a basic Centigrade temperature sensor +2°C to +150°C
Max voltage from sensor = 10mV×150 = 1.5V
+5V
8
LM35 Input 3 + 0 - 3V
1
2 -
0 - 1.5V
4
Scale the input voltage accordingly to
match input the range of the ADC
5-20
LM35 Interface Example
step size = reference voltage range / number of steps
= (3.3v – 0v) / 1024 = 3.22265625 x10-3v
Every 1°C is now equivalent to 20.0 mV
Temperature resolution > 0.2°C
+5V
AI0
8
LM35 Input 3 +
0 - 3V
1
2
0 - 1.5V -
4
µC
5-21
ADC input
Good practice to:
Limit the voltage range (input protection)
Filter the signal
C133
D41 1u
+5V TP37
From R162 R163
U38C
TP_EXT_TEMP_F
sensor EXT_TEMP 10
+
To ADC
8 EXT_TEMP_F
8.87k 15k
9
-
input
C134
BAT54S/SOT 0.47u MCP604
5-22
ADC Block diagram
Interface to uP
Interrupt request
Conversion
Busy
Control
Start
AN0 conversion
M
AN1 u
t
i
p Sample Result
l & Hold Converter
Register
e
x
e
ANn r VAREF VAGND
Reference voltage
5-23
ADC – principle of operation
1. The voltage is presented to the ADC input.
2. The ADC is sent a signal to start conversion
3. While the conversion takes place the input voltage
should remain stable.
4. The ADC outputs a signal to indicate that it is busy
doing the conversion and should not be disturbed.
5. When the conversion is completed the ADC makes
the result available and outputs a signal to indicate
that the conversion has completed (e.g remove the
busy signal)
5-24
Multiplexer and Sample/Hold
To convert several analogue inputs
1. use an ADC for each input or more usually …
2. use one ADC and switch the inputs through a multiplexer
requires selection of input before each conversion is started and a
short delay is required before conversion started to allow
switching to occur and signal to settle.
Sample and Hold (S&H)
while conversion takes place voltage must remain stable
sample voltage – input connected to S&H
voltage held on a capacitor
sample time – charging time of capacitor
input signal disconnected from S&H
5-25
Summary
Analogue inputs are often required in embedded
applications and so ADCs are integrated into most
microcontrollers (DACs less so)
ADCs and DAC also exist as standalone IC devices -
often specialist devices e.g. High speed or high
resolution ADCs, fast DACs for video output.
Main characteristics of interest is
resolution- number of bits
voltage range
ADC - conversion time
DAC - slew rate
5-26
Example question
A 5 bit ADC is used to encode an analogue signal in
the range 0V to +5V for linear PCM encoding
determine:
The step size
Calculate the percentage resolution
Calculate the dynamic range in dB
Calculate the input voltage level corresponding 10110.
Solution
[Link] step size
Number of steps = 25 = 32
5−0
step size = = 156.25 ×10 −3V
32
2. Calculate the percentage resolution
1
% Resolution = × 100 ≅ 3%
32
Solution
3 Calculate the dynamic range in dB
20 log25 = 30.1dB
4 Calculate the input voltage level corresponding 10110
10110 → 22Dec 22 × 0.15625 = 3.4375V
5-29
Voice signal
Bandpass Filtering
Signal
Energy Distribution for
Human Speech
0 Hz 300 Hz 3,400 Hz 20 kHz
Bandwidth (3.1 kHz)
The human voice can produce sounds up to 20 kHz,
but most sound is between 300 Hz and 3.4 kHz.
The bandpass filter only passes this sound to reduce bandwidth.