11 data acquisition and manipulation

Upload: adminsvth

Post on 03-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 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