View
215
Download
0
Category
Preview:
Citation preview
7/29/2019 11 Data Acquisition and Manipulation
1/30
Data acquisition and
manipulation
Chapter Eleven
11.1 - 11.3
Dr. Gheith Abandah 1
7/29/2019 11 Data Acquisition and Manipulation
2/30
Outline
Introduction
The main features of a data acquisition system
The characteristics of an analog-to-digitalconverter
The characteristics of the 16F873A analog-to-
digital converter Summary
Dr. Gheith Abandah 2
7/29/2019 11 Data Acquisition and Manipulation
3/30
Analog vs. Digital
Property Analog Digital
RepresentationContinuous voltage
or currentBinary Number
PrecisionInfinite range of
values
Limited by the
numbers length
Resistance to
Degradation
WeakTolerant to signal
degradationProcessing Limited Powerful
Storage Impossible Possible
Dr. Gheith Abandah 3
7/29/2019 11 Data Acquisition and Manipulation
4/30
Analog to Digital Conversion
Most physical signals are analog.
Analog signals are captured by sensors or
transducers.
Examples: temperature, sound, pressure,
Need to convert to digital signals to facilitate
processing by the microcontroller. The device that does this is analog-to-digital
converter (ADC).
Dr. Gheith Abandah 4
7/29/2019 11 Data Acquisition and Manipulation
5/30
ADC Types
1. Dual ramp (slow with very high accuracy, for
precision measurements)
2. Flash converter (fast, lesser accuracy, for
video or radar)
3. Successive approximation (medium speed
and accuracy, for general-purpose industrial
applications, commonly found in embedded
systems)
Dr. Gheith Abandah 5
7/29/2019 11 Data Acquisition and Manipulation
6/30
Conversion
characteristic
Voltage Range
Vr = Vmax 0
Resolution =
Vr / 2n
Quantization error =
Resolution / 2= Vr / 2
n+1
Dr. Gheith Abandah 6
7/29/2019 11 Data Acquisition and Manipulation
7/30
Conversion Steps
1. Get Sample
2. Start conversion
3. Wait4. Read digital value (in parallel or serially)
Usually need a voltage reference
Dr. Gheith Abandah 7
7/29/2019 11 Data Acquisition and Manipulation
8/30
Elements of a data acquisition system
Dr. Gheith Abandah 8
1. Transducers: physical to electrical
2. Amplify and offset circuits
The input voltage should traverse as much of its input
range as possible
Voltage level shifting may also be required3. Filter: get rid of unwanted signal components
4. Multiplexer: select one of multiple inputs
5. Sampler: the conversion rate must be at least twicethe highest signal frequency (Nyquist sampling
criterion)
6. ADC
7/29/2019 11 Data Acquisition and Manipulation
9/30
Elements of a data acquisition
system
Dr. Gheith Abandah 9
7/29/2019 11 Data Acquisition and Manipulation
10/30
Sample and hold, and acquisition
time
Dr. Gheith Abandah 10
7/29/2019 11 Data Acquisition and Manipulation
11/30
Sample and hold, and acquisition
time
Dr. Gheith Abandah 11
7/29/2019 11 Data Acquisition and Manipulation
12/30
Example What should be the acquisition time for a 10-bit
ADC?
The voltage should rise to
Vs quantization error = Vs - Vs / 2n+1
Vs(2047/2048) = 0.9995 Vs
VC = Vs {1 exp(t/RC)}
0.9995Vs = Vs {1 exp(t/RC)}
exp(t/RC) = 1 0.9995
t = RC ln(0.0005)
t = 7.6RC Dr. Gheith Abandah 12
7/29/2019 11 Data Acquisition and Manipulation
13/30
Typical timing
requirement of
one A-to-Dconversion
Dr. Gheith Abandah 13
7/29/2019 11 Data Acquisition and Manipulation
14/30
Data acquisition in the
microcontroller environment
To operate to a good level of accuracy, an ADC
needs a clean power supply and ground and
no electromagnetic interference.
When an ADC is integrated inside a
microcontroller, it will be affected by the noisy
internal power sources.
So, integrated ADCs are not very accurate,
typically 8- or 10-bit.
Dr. Gheith Abandah 14
7/29/2019 11 Data Acquisition and Manipulation
15/30
The PIC 16 Series
Device Pins Features
16F873A
16F876A
28 3 parallel ports,
3 counter/timers,
2 capture/compare/PWM,
2 serial,5 10-bit ADC,
2 comparators
16F874A
16F877A
40 5 parallel ports,
3 counter/timers,
2 capture/compare/PWM,
2 serial,
8 10-bit ADC,
2 comparators
Dr. Gheith Abandah 15
7/29/2019 11 Data Acquisition and Manipulation
16/30
The PIC 16F87XA ADC module
Dr. Gheith Abandah 16
7/29/2019 11 Data Acquisition and Manipulation
17/30
Controlling the
ADC
The ADC is controlledby two SFRs:
ADCON0 (1Fh)
ADCON1 (9Fh)
The result of the
conversion is placed
in:
ADRESH (1Eh)
ADRESL (9Eh)
Dr. Gheith Abandah 17
7/29/2019 11 Data Acquisition and Manipulation
18/30
ADCON0: A/D Control Register 0
(address 1Fh) ADCS1:0: conversion clock select
CHS2:0: analog channel select
GO/DONE: conversion status
The ADC interrupt flag ADIF and interrupt
enable ADIE bits can also be used
U: unimplemented
ADON: A/D On
Dr. Gheith Abandah 18
7/29/2019 11 Data Acquisition and Manipulation
19/30
A/D Conversion Clock Select bits
Dr. Gheith Abandah 19
A full 10-bit conversion takes around 12 TAD cycles
TADshould be equal to or just greater than 1.6 s
Minimum 2TAD between two successive conversions
Maximum conversion rate is 30 kHz, higher rate by switching to higher
TAD after starting the conversion
7/29/2019 11 Data Acquisition and Manipulation
20/30
ADCON1: A/D Control Register 1
(address 9Fh) ADFM: result format select
1 = Right justified
0 = Left justified
ADCS2: conversion clock select
U: unimplemented
PCFG3:0: port configuration control
Dr. Gheith Abandah 20
7/29/2019 11 Data Acquisition and Manipulation
21/30
A/D result format
Dr. Gheith Abandah 21
7/29/2019 11 Data Acquisition and Manipulation
22/30
A/D Port Configuration Control
Dr. Gheith Abandah 22
7/29/2019 11 Data Acquisition and Manipulation
23/30
The analog input model
Dr. Gheith Abandah 23
7/29/2019 11 Data Acquisition and Manipulation
24/30
Calculating acquisition time
tac = Amplifier settling time
+ Hold capacitor charging time
+ Temperature coefficient
tac = 2 s
+ 7.6RC for 10-bit accuracy+ (Temperature 25C)(0.05 s/C)
Dr. Gheith Abandah 24
7/29/2019 11 Data Acquisition and Manipulation
25/30
Calculating acquisition time -
Example
RSS = 7k, RIC = 1k (VDD = 5V), RS = 0,
Temp = 35C, TAD = 1.6 s
tac = 2 s
+ 7.6(7k + 1k + 0)(120pF)
+ (35 25)(0.05 s/C)= 2 + 7.3 + 0.5 = 9.8 s
Total time = tac + 12TAD = 9.8 + 19.2 s = 29 s
Dr. Gheith Abandah 25
7/29/2019 11 Data Acquisition and Manipulation
26/30
A/D Example Page 1
...
bsf status,rp0
movlw B'00001011' ;set port A bits,
movwf trisa ;ADC set as inputsmovlw B'10000100' ;bits 0,1,3 analog input
movwf adcon1 ;right justify result
...
Dr. Gheith Abandah 26
7/29/2019 11 Data Acquisition and Manipulation
27/30
A/D Example Page 2
...
bcf status,rp0
movlw B'01000001' ;set up ADC: clock Fosc/8,
;switch ADC on but not converting,;channel selection now is irrelevant
movwf adcon0
Dr. Gheith Abandah 27
7/29/2019 11 Data Acquisition and Manipulation
28/30
A/D Example Page 3
main_loop
movlw B'01000001' ;select channel 0
movwf adcon0
call delay20u ;acquisition time
bsf adcon0,go ;start conversionbtfsc adcon0,go_done ;conversion ended?
goto $-1
movf adresh,0 ;read ADC output data high
movwf ldr_left_hibsf status,rp0
movf adresl,0 ;read ADC output data low
bcf status,rp0
movwf ldr_left_lo
Dr. Gheith Abandah 28
7/29/2019 11 Data Acquisition and Manipulation
29/30
Summary - 1 Most signals produced by transducers are analog in
nature, while all processing done by a microcontroller
is digital.
Analog signals can be converted to digital form using
an analog-to-digital converter (ADC). The ADCgenerally forms just one part of a larger data
acquisition system.
Considerable care needs to be taken in applying ADCs
and data acquisition systems, using knowledge among
other things of timing requirements, signal
conditioning, grounding and the use of voltage
references.Dr. Gheith Abandah 29
7/29/2019 11 Data Acquisition and Manipulation
30/30
Summary - 2 The 16F873A has a 10-bit ADC module that contains
the features of a data acquisition system.
Data values, once acquired, are likely to need further
processing, including offsetting, scaling and code
conversion. Standard algorithms exist for all of these,and Assembler libraries are published.
A simple interface between the analog and digital
world is the comparator, which is commonly used to
classify an analog signal into one of two states.
Dr. Gheith Abandah 30
Recommended