0% found this document useful (0 votes)
22 views30 pages

11 DataAcquisAndManipulation

Uploaded by

mokahhsalkoshbs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views30 pages

11 DataAcquisAndManipulation

Uploaded by

mokahhsalkoshbs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 30

Data acquisition and

manipulation
Chapter Eleven
11.1 - 11.3

Dr. Gheith Abandah 1


Outline
• Introduction
• The main features of a data acquisition system
• The characteristics of an analog-to-digital
converter
• The characteristics of the 16F873A analog-to-
digital converter
• Summary

Dr. Gheith Abandah 2


Analog vs. Digital
Property Analog Digital
Continuous voltage
Representation Binary Number
or current
Infinite range of Limited by the
Precision
values number’s length
Resistance to Tolerant to signal
Weak
Degradation degradation
Processing Limited Powerful
Storage Impossible Possible

Dr. Gheith Abandah 3


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
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


Conversion
characteristic
Voltage Range
Vr = Vmax – 0

Resolution =
Vr / 2n

Quantization error =
± Resolution / 2
= Vr / 2n+1

Dr. Gheith Abandah 6


Conversion Steps
1. Get Sample
2. Start conversion
3. Wait
4. Read digital value (in parallel or serially)

• Usually need a voltage reference

Dr. Gheith Abandah 7


Elements of a data acquisition system
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 required
3. Filter: get rid of unwanted signal components
4. Multiplexer: select one of multiple inputs
5. Sampler: the conversion rate must be at least twice
the highest signal frequency (Nyquist sampling
criterion)
6. ADC
Dr. Gheith Abandah 8
Elements of a data acquisition
system

Dr. Gheith Abandah 9


Sample and hold, and acquisition
time

Dr. Gheith Abandah 10


Sample and hold, and acquisition
time

Dr. Gheith Abandah 11


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
Typical timing
requirement of
one A-to-D
conversion

Dr. Gheith Abandah 13


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


The PIC 16 Series
Device Pins Features
16F873A 28 3 parallel ports,
16F876A 3 counter/timers,
2 capture/compare/PWM,
2 serial,
5 10-bit ADC,
2 comparators
16F874A 40 5 parallel ports,
16F877A 3 counter/timers,
2 capture/compare/PWM,
2 serial,
8 10-bit ADC,
2 comparators
Dr. Gheith Abandah 15
The PIC® 16F87XA ADC module

Dr. Gheith Abandah 16


Controlling the
ADC
The ADC is controlled
by two SFRs:
•ADCON0 (1Fh)
•ADCON1 (9Fh)

The result of the


conversion is placed
in:
•ADRESH (1Eh)
•ADRESL (9Eh)

Dr. Gheith Abandah 17


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


A/D Conversion Clock Select bits

•A full 10-bit conversion takes around 12 TAD cycles

•TAD should 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 conversionDr. Gheith Abandah 19
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


A/D result format

Dr. Gheith Abandah 21


A/D Port Configuration Control

Dr. Gheith Abandah 22


The analog input model

Dr. Gheith Abandah 23


Calculating acquisition time
tac = Amplifier settling time
+ Hold capacitor charging time
+ Temperature coefficient

tac = 2 μs
+ 7.6RC for 10-bit accuracy
+ (Temperature − 25◦C)(0.05 μs/◦C)

Dr. Gheith Abandah 24


Calculating acquisition time -
Example
RSS = 7kΩ, RIC = 1kΩ (VDD = 5V), RS = 0,
Temp = 35 ◦C, 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
A/D Example – Page 1
...
bsf status,rp0
movlw B'00001011' ;set port A bits,
movwf trisa ;ADC set as inputs
movlw B'10000100' ;bits 0,1,3 analog input
movwf adcon1 ;right justify result
...

Dr. Gheith Abandah 26


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


A/D Example – Page 3
main_loop
movlw B'01000001' ;select channel 0
movwf adcon0
call delay20u ;acquisition time
bsf adcon0,go ;start conversion
btfsc adcon0,go_done ;conversion ended?
goto $-1
movf adresh,0 ;read ADC output data high
movwf ldr_left_hi
bsf status,rp0
movf adresl,0 ;read ADC output data low
bcf status,rp0
movwf ldr_left_lo
Dr. Gheith Abandah 28
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 ADC
generally 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
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

You might also like