Analog to Digital Conversion

advertisement
Analog to Digital Conversion
ADC Essentials
A/D Conversion Techniques
Interfacing the ADC to the IBM PC
DAS (Data Acquisition Systems)
How to select and use an ADC
A low cost DAS for the IBM PC
1
Why ADC ?

Digital Signal Processing is more popular
 Easy
to implement, modify, …
 Low cost


Data from real world are typically Analog
Needs conversion system
 from
raw measurements to digital data
 Consists of
 Amplifier,
Filters
 Sample and Hold Circuit, Multiplexer
 ADC
Chap 0
2
ADC Essentials


Basic I/O Relationship

ADC is Rationing
System

x = Analog input /
Reference
n bits ADC
 Number of discrete output
level : 2n
 Quantum



LSB size
Q = LSB = FS / 2n
Quantization Error
 1/2 LSB
 Reduced by increasing n
• Fraction: 0 ~ 1
Chap 0
3
Converter Errors

Offset Error

Integral Linearity Error

Gain Error

Differential Linearity Error
Can be eliminated by initial
adjustments

Nonlinear Error

Chap 0
 Hard
to remove
4
Terminologies


Chap 0
Converter Resolution
 The smallest change
required in the analog
input of an ADC to
change its output code by
one level
Converter Accuracy
 The difference between
the actual input voltage
and the full-scale
weighted equivalent of
the binary output code
 Maximum sum of all
converter errors including
quantization error


Conversion Time
 Required time (tc) before
the converter can provide
valid output data
Converter Throughput Rate
 The number of times the
input signal can be
sampled maintaining full
accuracy
 Inverse of the total time
required for one
successful conversion
 Inverse of Conversion
time if No S/H(Sample
and Hold) circuit is used
5
More on Conversion Time



Input voltage change
during the conversion
process introduces an
undesirable uncertainty
Full conversion accuracy is
realized only if this
uncertainty is kept low
below the converter’s
resolution
Example
 8-bit ADC
 Conversion Time: 100sec
 Sinusoidal input
 vi  A sin(2 ft )

dvi
 2 fA cos(2 ft )  2 fA
dt

of Change x tc
 resolution
f 

2A
2 n tc
1
2  tc
n
 12.4 Hz
Limited to Low frequency
of 12.4 Hz

Chap 0
Let FS = 2A
2 fA 
 Rate
dV
FS
(
)

max

dt
2 n tc
Rate of change
Few Applications
6
S/H increase Performance

S/H (Sample and Hold)
 Analog
circuits that
quickly samples the
input signal on
command and then
holds it relatively
constant while the
ADC performs
conversion
 Aperture time (ta)

Chap 0
Time delay occurs in S/H
circuits between the time
the hold command is
received and the instant
the actual transition to
the hold mode takes

Example

20 nsec aperture time


f 
1
2  ta
n
 62.17 KHz
Reasonably good for
100sec converter
7
Analog Input Signal

Typically, Differential or
Single-ended input signal
of a single polarity
 Typical Input Range
 0 ~ 10V and 0 ~ 5V
Actual input signal
does not span Full
Input range

Matching input signal
and input range

Prescaling input signal
using OP Amp

 If



Chap 0
Some of the converter
output code never used
Waste of converter
dynamic range
Greater relative effects
of the converter errors
on output

In a final stage of
preconditioning circuit
By proportionally
scaling down the
reference signal

If reference signal is
adjustable
8
Converting bipolar to unipolar


Using unipolar converter
when input signal is bipolar
 Scaling
down the
input
 Adding an offset

Input signal is scaled and an
offset is added
Add
offset
scaled
Bipolar Converter
 If
polarity
information in output
is desired
 Bipolar input range

Chap 0
Typically, 0 ~ 5V
 Bipolar Output
 2’s Complement
 Offset Binary
 Sign Magnitude
9
Outputs and Analog Reference Signal

I/O of typical ADC

Errors in reference signal
 From
 Initial Adjustment
 Drift with time and
temperature

 Cause
 Gain error in Transfer
characteristics
ADC output
 Number of bits
 8 and 12 bits are typical
 10, 14, 16 bits also
available
 Typically
natural
binary
Chap 0

BCD (3½ BCD)
• For digital panel meter,

To realize full accuracy of
ADC
 Precise
and stable
reference is crucial

Typically, precision IC
voltage reference is
used
• 5ppm/C ~ 100ppm/C
10
Control Signals


Start
From CPU
 Initiate the conversion
process


HBE / LBE
From CPU
 To read Output word
after EOC


• High Byte Enable
BUSY / EOC
To CPU
 Conversion is in
progress

HBE

LBE
• Low Byte Enable
0=Busy: In progress
 1=EOC: End of
Conversion

Chap 0
11
A/D Conversion Techniques


Counter or Tracking ADC
Successive Approximation ADC
 Most



Dual Slop Integrating ADC
Voltage to Frequency ADC
Parallel or Flash ADC
 Fast


Chap 0
Commonly Used
Conversion
Software Implementation
Shaft Encoder
12
Counter Type ADC


Block diagram
Operation
 Reset and Start Counter
 DAC convert Digital
output of Counter to
Analog signal
 Compare Analog input
and Output of DAC

Vi < VDAC
• Continue counting


• Stop counting
Waveform
Digital Output = Output of
Counter
Disadvantage
 Conversion time is varied



Chap 0
Vi = VDAC
2n Clock Period for Full
Scale input
13
Tracking Type ADC

Tracking or Servo
Type

Using Up/Down
Counter to track input
signal continuously

Chap 0

For slow varying input

Can be used as S/H circuit
 By stopping desired
instant
 Digital Output
 Long Hold Time
Disabling UP (Down)
control, Converter generate
 Minimum (Maximum)
value reached by input
signal over a given period
14
Successive Approximation ADC



Chap 0
Most Commonly used in
medium to high speed
Converters
Based on approximating
the input signal with binary
code and then
successively revising this
approximation until best
approximation is achieved
SAR(Successive
Approximation Register)
holds the current binary
value

Block Diagram
15
Successive Approximation ADC

Circuit waveform

Conversion Time
n clock for n-bit ADC
 Fixed conversion time


Serial Output is easily
generated


Chap 0
Logic Flow
Bit decision are made
in serial order
16
Dual Slope Integrating ADC


Operation
T1
 Integrate 0 vi dt
 Reset and integrate
 Thus T1vi ( AVG )  t2Vr
t2
  v

V
i ( AVG )
r
Applications T1

Chap 0


t2
0
Vr dt
DPM(Digital Panel Meter),
DMM(Digital Multimeter),
…

Excellent Noise Rejection
 High frequency noise
cancelled out by integration
 Proper T1 eliminates line
noise
 Easy to obtain good resolution
Low Speed
 If T1 = 60Hz, converter
throughput rate < 30
samples/s
17
Voltage to Frequency ADC


VFC (Voltage to Frequency
Converter)
 Convert analog input
voltage to train of pulses
Counter
 Generates Digital output
by counting pulses over a
fixed interval of time



Low Speed
Good Noise Immunity
High resolution
For slow varying signal
 With long conversion
time


Applicable to remote data
sensing in noisy
environments

Chap 0
Digital transmission
over a long distance
18
Parallel or Flash ADC



Chap 0
Very High speed
conversion
 Up to 100MHz for 8 bit
resolution
 Video, Radar, Digital
Oscilloscope
Single Step Conversion
 2n –1 comparator
 Precision Resistive
Network
 Encoder
Resolution is limited
 Large number of
comparator in IC

Homework #5-1
 어떻게 동시에 비교가
되는지를 설명하라.
19
Software Implementation

Implementation with
software using
microprocessor
Counting
 Shifting
 Inverting
 Code Conversion
…

Chap 0

Limited Practical Use

Availability of Good
performance with very
reasonable Cost
20
Shaft Encoder



Chap 0
Elctromechanical ADC
 Convert shaft angle to digital
output
Encoding
 Optical or Magnetic Sensor
Applications
 Machine tools, Industrial
robotics, Numerical control

Binary Encoder
 Misalignment of mechanism
causes large error


Ex: 011  111 (180deg)
Gray Encoder
 Misalignment causes 1 LSB
error
21
Interfacing the ADC to the IBM PC

Interface Operations
 Most-recent-data Scheme




At end of conversion it
updates an output FIFO
Automatically start new
conversion
CPU read FIFO to
acquire most recent data

CPU initiate conversion
every time it needs new
data
CPU check EOC until
conversion is finished
Using CPU Interrupt




Start-and-wait Scheme

Chap 0


CPU initiate conversion
every time it needs new
data
CPU can proceed to do
other thing
ADC interrupt CPU when
conversion is complete
CPU goes to ISR
See Chapter 3, For more
information about 8259A
22
Interface Software


Memory Mapped Transfers
 ADC is assigned in
Memory Space


MRD, MWR signal
MOV instruction
More complex decoding
logic
I/O Mapped Transfers
 ADC is in I/O Space





IOR, IOW signal
IN, OUT instruction
More Simple decoding
logic

DMA (Direct Memory
Access)
 CPU release system bus
by the request of DMA
 DMA controller carried
out data transfer by
generating the required
addresses and control
signals
 The system bus control
reverts back to CPU
when data transfer is
finished
DMA is useful
 High Speed
 High volume data transfer

Chap 0
Disk Drive interface
23
Interface Hardware

Parallel Data Format


Three state output
buffer in ADC
 To Interface ADC


CPU + Decoding logic
• To generate Chip
Select signal
• To generate Start
Signal
• To Check EOC
signal
Chap 0
Serial Data Format
Asynchronous Serial
transmission to send
data over long distance
to a monitoring station


UART is commonly
used
Interfacing 10 or 12 bit
ADC

Transfer data in chunks
of 8 bits one after
another
24
DAS (Data Acquisition System)

Chap 0
DAS performs the
complete function of
converting the raw
outputs from one or
more sensors into
equivalent digital
signals usable for
further processing,
control, or displaying
applications

Applications
Simple monitoring of a
single analog variable
 Control and Monitoring
of hundreds of
parameters in a nuclear
plant

25
Single Channel System


Transducer


Generate signal of low
amplitude, mixed with
undesirable noise
Amplifier, Filters
Amplify
 Remove noise
 Linearize

S/H (Sample and Hold)
 Reduce uncertainty error
in the converted output
when input changes are
fast compared to the
conversion time
 In Multi-channel system


Chap 0
To hold a sample from
one channel while
multiplexer proceed to
sample next one
Simultaneous sampling
of two signal
26
Sample and Hold Circuits

Care in selecting hold
capacitor Ch
 Low Value



High Value



Chap 0
Reduces acquisition time
Increase Droop
Minimize Droop
Increase acquisition time
Choose capacitor to get a
best acquisition time
while keeping the droop
per conversion below 1
LSB
27
Commercially Available S/H
Chap 0
28
Multi-channel System

Analog multiplexer
and a ADC

Chap 0
Low cost

Local ADCs and digital
multiplexer

Higher sampling rate
29
How to select and use an ADC

Range of commercially
available ADCs

Guidelines for using
ADCs
Use the full input range
of the ADC
 Use a good source of
reference signal
 Look out for fast input
signal changes
 Keep analog and digital
grounds separate
 Minimize interference
and loading problem

Chap 0
30
Commercially available monolithic
ADCs
Chap 0
31
Commercially available hybrid ADCs
Chap 0
32
A low cost DAS for the IBM PC


Multi-channel system
Less than $100
 ADC0816 from
National
Semiconductor
 Constant, repetitive
rate


Chap 0
1000 samples/s
Generating clock
 For starting ADC
conversion
 For causing interrupt
 Make a pulse stream from
TCLK with short pulses of
duration = ½ x BCLK/4

TCLK from 8253
Timer/Counter
• Wide pulse
33
ADC circuit for
PC prototype
board
SCSLCT
(Start Conversion SeLeCT)
: Latched trough port 30CH
SCSLCT = H
Selection of 30AH (/E10)
start conversion
SCSLCT = L
TCLK’ start conversion
INTSLCT
(INTerrupt SeLeCT)
: Latched trough port 30CH
INTSLCT = H
EOC cause IRQ2
INTSLCT = L
No Interrupt
CPU read Status register
(Port 309H) to check EOC
Chap 0
34
Status Register



Chap 0
For polling TCLK and
EOC signal
Port 309H (/E9)
Polling of EOC results
in a low level after the
data from ADC have
been read
35
Throughput rate calculation
4.77MHz / 8
= 596KHz
Chap 0
36
Accuracy Calculation


Chap 0
Better than 1% accuracy is ensured
Actual accuracy with smooth input signal at room
temperature will be better than 0.5%
37
Basic Program for Controlling ADC
Sampling rate < 200 samples/s
Because OUT and IN
instruction in Basic takes 5ms
Chap 0
38
C Programming for Controlling ADC

Chap 0
Sampling from ADC channel 1 at 5ms interval and sending each sampled
data point to the DAC
39
Homework #5-2

Prototype board의 회로 도를 참고하여 앞의 C
program이 수행되는 과정을 해석하라
 예를
들면 Outp(CNTRL,5)가 수행되면 회로도
에서 어떤 신호가 구동되는지 등….
Chap 0
40
Download