data acquisition and manipulation chapter eleven 11.1 - 11.3 dr. gheith abandah1

30
Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah 1

Upload: laureen-todd

Post on 17-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

Data acquisition and manipulation

Chapter Eleven11.1 - 11.3

Dr. Gheith Abandah 1

Page 2: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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

Page 3: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

Analog vs. Digital

Property Analog Digital

Representation Continuous voltage or current Binary Number

Precision Infinite range of values

Limited by the number’s length

Resistance to Degradation Weak Tolerant to signal

degradationProcessing Limited PowerfulStorage Impossible Possible

Dr. Gheith Abandah 3

Page 4: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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

Page 5: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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

Page 6: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

Conversion characteristicVoltage Range

Vr = Vmax – 0

Resolution = Vr / 2n

Quantization error = ± Resolution / 2

= Vr / 2n+1

Dr. Gheith Abandah 6

Page 7: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

Conversion Steps

1. Get Sample2. Start conversion3. Wait4. Read digital value (in parallel or serially)

• Usually need a voltage reference

Dr. Gheith Abandah 7

Page 8: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

Elements of a data acquisition system

Dr. Gheith Abandah 8

1. Transducers: physical to electrical2. 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 components4. Multiplexer: select one of multiple inputs5. Sampler: the conversion rate must be at least twice

the highest signal frequency (Nyquist sampling criterion)

6. ADC

Page 9: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

Elements of a data acquisition system

Dr. Gheith Abandah 9

Page 10: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

Sample and hold, and acquisition time

Dr. Gheith Abandah 10

Page 11: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

Sample and hold, and acquisition time

Dr. Gheith Abandah 11

Page 12: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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

Page 13: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

Typical timing requirement of one A-to-D conversion

Dr. Gheith Abandah 13

Page 14: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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

Page 15: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

The PIC 16 Series

Device Pins Features

16F873A16F876A

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

16F874A16F877A

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

Dr. Gheith Abandah 15

Page 16: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

The PIC® 16F87XA ADC module

Dr. Gheith Abandah 16

Page 17: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

Controlling the ADCThe 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

Page 18: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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

Page 19: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

A/D Conversion Clock Select bits

Dr. Gheith Abandah 19

•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

Page 20: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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

• ADFM: result format select1 = Right justified0 = Left justified

• ADCS2: conversion clock select• U: unimplemented• PCFG3:0: port configuration control

Dr. Gheith Abandah 20

Page 21: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

A/D result format

Dr. Gheith Abandah 21

Page 22: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

A/D Port Configuration Control

Dr. Gheith Abandah 22

Page 23: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

The analog input model

Dr. Gheith Abandah 23

Page 24: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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

Page 25: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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 μsDr. Gheith Abandah 25

Page 26: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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

Page 27: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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

Page 28: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

A/D Example – Page 3main_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

Page 29: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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

Page 30: Data acquisition and manipulation Chapter Eleven 11.1 - 11.3 Dr. Gheith Abandah1

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