Sei sulla pagina 1di 30

Data acquisition and manipulation

Chapter Eleven
11.1 - 11.3

Dr. Gheith Abandah

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

Dr. Gheith Abandah

Analog vs. Digital


Analog Digital Continuous voltage Representation Binary Number or current Infinite range of Limited by the Precision values numbers length Resistance to Tolerant to signal Weak Degradation degradation Processing Limited Powerful Storage Impossible Possible
Dr. Gheith Abandah 3

Property

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

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

Usually need a voltage reference

Dr. Gheith Abandah

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

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

28

3 parallel ports, 3 counter/timers, 2 capture/compare/PWM, 2 serial, 5 10-bit ADC, 2 comparators


5 parallel ports, 3 counter/timers, 2 capture/compare/PWM, 2 serial, 8 10-bit ADC, 2 comparators
Dr. Gheith Abandah 15

16F874A 16F877A

40

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: CHS2:0: GO/DONE: conversion clock select analog channel select conversion status
The ADC interrupt flag ADIF and interrupt enable ADIE bits can also be used

U: ADON:

unimplemented 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 conversion
Dr. Gheith Abandah 19

ADCON1: A/D Control Register 1 (address 9Fh)


ADFM: result format select
1 = Right justified 0 = Left justified

ADCS2: U: PCFG3:0:

conversion clock select unimplemented 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 = 2 s + 7.6RC for 10-bit accuracy + (Temperature 25C)(0.05 s/C)
Dr. Gheith Abandah 24

tac

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 movlw movwf movlw movwf ...

status,rp0 B'00001011' trisa B'10000100' adcon1

;set port A bits, ;ADC set as inputs ;bits 0,1,3 analog input ;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' movwf adcon0 call delay20u bsf adcon0,go btfsc adcon0,go_done goto $-1 movf adresh,0 movwf ldr_left_hi bsf status,rp0 movf adresl,0 bcf status,rp0 movwf ldr_left_lo ;select channel 0 ;acquisition time ;start conversion ;conversion ended? ;read ADC output data high

;read ADC output data low

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

Potrebbero piacerti anche