You are on page 1of 28

Universidad de Hunuco

Sistemas Basados en el Conocimiento

Instructor: Aland Bravo Vecorena

Digitalizacin de Datos Analgicos

Seal Digital

Seal Analgica

Proceso de Muestreo de una Seal

Ondas Analgicas y Digitales

Aspectos de Precisin Digital

Eje y: Tiempo de Conversin A/D = Tiempo de Adquisicin ms Conversin

Entrada Analgica TAD Clock A/D


Inicio del Tiempo de Adquisicin Fin de Conversin

Tiempo de Adquisicin

Tiempo de Conversin

Tiempo de Conversin A/D

Eje x: Tiempo de Muestreo


AD1CON3<ADCS7:ADCS0> AD Clock Postscaler by 1 to 256 TCY to 256*TCY 0 RCAD 1 AD1CON3<ADRC> TAD

FCY = FOSC/2

Caractersticas ADC del DSPIC


Conversin va aproximacin sucesiva SAR.

Velocidad de conversin de hasta 500 ksps.


Hasta 16 pines de entrada analgica. Pines de referencia de Voltaje Externo.

Modo Automtico de Escaneo de Canal .


Fuente seleccionable de activacin de conversin. Buffer de resultado de conversin de 16 word Modos seleccionables de llenado de Buffers. Cuatro opciones de alineamiento de resultado. Modos de operacin durante el estado Sleep e Idle.

Estructura Mdulo A/D del PIC24F


AVDD

VR Select

AVSS VREF+ VREFAN0 AN1

VR+ VR-

Conversion Control

CH0 S/H

A/D converter

8/16 Level Results Buffer

Data Format

Bus Interface

AN15

Sample Sequence Control

Diagrama de Bloques del ADC 10bits


AD1CON2<VCFG2:VCFG0>

AVDD VR Select AVSS VR+ VCFG2:VCFG0 000 001 010 011 1xx
AD1CON2 Register
bit15
bit8

VREF+
VREF-

VR-

VR+ AVDD VREF+ AVDD VREF+ AVDD

VRAVSS AVSS VREFVREFAVSS

CSSL15=0 VCFG1 CSSL13=0 VCFG0 VCFG2 CSSL14=0


bit7

--SMPI1

---

CSNA SMPI 0

--BUFM

--bit0

BUFS

---

SMPI3

SMPI2

ALTS

Diagrama de Bloques del ADC 10bits


AN0 AN1
AD1CHS<CH0SA3:CH0SA0>

(1) AN1 AN15


AD1CON2 Register
bit7

Mux A

VINH
VINL

(0) VRAD1CHS<CH0NA>
bit15 bit8

VCFG2 --SMPI3

CSSL14=0 VCFG1 CSSL13=0 VCFG0 SMPI2 SMPI1

---

---

CSNA BUFM CSSL1 CH0SB1 CH0SA1 PCFG1

---

--bit0

BUFS
bit15

SMPI 0 CSSL2 CH0SB2 CH0SA2

ALTS
bit0

AD1CSSL Register AD1CHS Register

CSSL15
bit15

CSSL14=0 CSSL14 CSSL13=0 CSSL13 ------------CH0SB3 CH0SA3

CSSL0
bit8

CH0NB
bit7

CH0SB0
bit0

CH0NA
bit15

CH0SA0
bit0

AD1PCFG Register PCFG15 CSSL14=0 PCFG14 CSSL13=0 PCFG13 CSSL10=0 PCFG2

CSSL8=0 PCFG0

Escaneo de Canales del ADC


AN15 AN14 AN13 . AN5 AN4 AN3 AN2 AN1 AN0 +B -B

+ CH 0 -

ADCBUF Buffer ADCBUF0 AN0 AN2 INT AN13 AN14

+A -A AN1 VREF-

bit15

bit0

AD1CSSL Register

CSSL15

CSSL14=0 CSSL14 CSSL13=0 CSSL13


bit15

CSSL2 -----

CSSL1 CSNA BUFM

CSSL0
bit8

AD1CON2 Register
bit7

VCFG2 --SMPI3

CSSL14=0 VCFG1 CSSL13=0 VCFG0 SMPI2 SMPI1

---

--bit0

BUFS

SMPI 0

ALTS

Diagrama de Bloques del ADC 10 bits


Mux A VINH S/H Mux B VINL

AD1CON1<ASAM>
1 Seal de Conversion completa 0 AD1CON1<SAMP>

bit15

bit8

AD1CON2 Register
bit7

VCFG2 ---

VCFG1 SMPI3

CSSL13=0 VCFG0
SMPI2

---

---

CSNA SMPI 0

--BUFM

--bit0

BUFS

SMPI1

ALTS

Diagrama de Bloques del ADC 10 bits


AD1CON3<SAMC4:SAMC0> (7) Timer4 Compare ends (2) Active Transition on INT0 pin (1) Clearing AD1CON1<SAMP> (0) 0 TAD to 31 TAD Evitar 0 TAD

AD1CON1 <SSRC2:SSRC0>

VINH

VR- VR+
S/ H
VRVR+

VINL
AD1CON1<ASAM>

A/D converter

RESULT

Conversion complete Signal


AD1CON1<DONE>

AD1CON1<SAMP>

ADC1BUF0 : ADC1BUF15

Diagrama de Bloques del ADC 10 bits


RESULT FORMAT 0000 00dd dddd dddd ssss sssd dddd dddd dddd dddd dd00 0000 sddd dddd dd00 0000 AD1CON2<SMPI3:SMPI0> AD1CON1<FORM1:FORM0> ADC1BUF0 : : ADC1BUF7 ADC1BUF8 : : ADC1BUF15 AD1CON2<BUFM> = 1

ADC1BUF0 : : : : : : ADC1BUF15 AD1CON2<BUFM> = 0

0 AD1CON2<BUFS> 1

Conversor ADC de 12 bits


200 K Muestras / Segundo de Tasa de Muestreo

Hasta 16 canales de entrada


16 buffers ADC de Resultado para almacenar la data convertida Referencia Externa VREF+ y VREF Rango de entrada Analgica: 0 a 5V (VREF- to VREF+)

Mltiples fuentes de Activacin para el Inicio de Conversin


Activacin por Software Control de Motor PWM Timer 3 Interrupcin Externa Conversin automtica basada en time out interno

Mdulo A/D del PIC24H/30/33


AVDD

VR Select

AVSS VREF+ VREF-

VR+
VR-

Conversion Control

CH0 AN0 S/H AN1 CH1 *

A/D converter

S/H

Results Buffer

Data Format

Bus Interface

S/H

CH2 *

S/H AN31

CH3 *

Sample Sequence Control

* S/H channels 1, 2 & 3 only available on 10- bit mode

Ejercicio N3: Asignando prioridades a nuestros Leds


Tareas a realizar:

Programar el dsPIC con MPLAB en C30. Realizar la conversin digital de una seal analgica en Proteus con DSPIC usando Potencimetro.
Digitalizacin de una seal analgica y su visualizacin usando Leds.

Resultado esperado:

Objetivos del Laboratorio


Configurar el ADC

Configurar los puertos de E/S


Leer el ADC y mostrarlos en LEDs
PIC24 VDD POT R6
AN5

Vss
RA7-RA0

LEDs D10-D3

Pasos a Realizar

Open the project C:\RTC\203_PRC\Lab5\Lab5.mcp Open the file C:\RTC\203_PRC\Lab5\Lab5.c Look for ADCInit() function and configure ADC by initializing the registers AD1CON1, AD1CON2, and AD1CON3 looking into the Register details on the next few pages. STEP 1: AD1CON1

Select Integer Format Result Auto Conversion Start Sample after conversion Select AVDD and AVSS as references Disable Scan mode Interrupt at 16th sample/Convert sequence 16*1 level buffer Always use Mux A Select Sample Time = 13TAD Conversion Time is always 12TAD Select AD Clock Source such that you get 16 samples in around 1 mSec (16 ksps) Assume 1TCY =.25 uS (FCY = 4 MHz)

STEP 2: AD1CON2

STEP 3: AD1CON3

Pasos a Realizar
Continue to configure ADC by initializing the registers AD1CHS,

AD1PCFG, and AD1CSSL looking into the Register details on the next few pages. STEP 4: AD1CHS
Set the positive sample input channel for MUX A to use AN5 Set the negative input channel for MUX A to use VR-

STEP 5: AD1PCFG
Set AD1PCFG so that the only pin using analog functionality is AN5

STEP 6: AD1CSSL
Channel scanning is not enabled, so no input channels should be selected for scanning Build the project and program the device Procedure to Test

Vary the POT and observe LEDs

Configurando el Registro ADC


AD1CON1: A/D CONTROL REGISTER 1
Bit:15 ADON -ADSIL ---FORM1 Bit:8 FORM0

ADC Module enable bit

ADC Module enable/disable in IDLE mode

Result Format 00: Intiger (0000 00dd dddd dddd) 01: Signed Intiger (ssss sssd dddd dddd) 10: Fractional (dddd dddd dd00 0000) 11: Signed Fractional (sddd dddd dd00 0000)
Bit:0

Bit:7

SSRC2

SSRC1

SSRC0

--

--

ASAM

SAMP

DONE

Conversion Trigger Source Selection Bits 000: Manual Conversion Trigger 001: Active transition on INT0 pin triggers conversion 010: Timer3 compare triggers conversion 111: Auto conversion

Start Sampling, If ASAM is 0 Conversion Status bit

Auto Sample Selection bit 1: Sample immediately after completion of last conversion. 0: Sample on setting of SAMP

Configurando el Registro AD1CON2


Bit:15 VCFG2 VCFG2 VCFG0 --CSCNA -Bit:8 --

Scan CH0 Mux A Input


VCFG2:VCFG0 000 001 010 VR+ AVDD VREF+ AVDD VRAVSS AVSS VREF-

VCFG2:VCFG0

AVDD

VR Select

VREF+ AVSS VREF-

VR+
VR-

011
1xx

VREF+
AVDD

VREFAVSS

Bit:7 BUFS -SMPI3 SMPI2 SMPI1 SMPI0 BUFM

Bit:0 ALTS

SMPI3:SMPI0

Interrupt Event (Sample/convert sequence) each alternate . Every 15th Every 16th

Buffer Status bit, is valid only when BUFM = 1 1: Buffer 8-F is being filled, can access Buffer 0-7 0: Buffer 0-7 is being filled, can access Buffer 8-F

0000 0001 .... 1110 1111

Sample alternatively MUX-A & MUX-B


Buffer Mode Select bit 1: Buffer configured as two 8-words buffers 0: Buffer configured as one 16-words buffers

Configurando el Registro AD1CON3


Bit:15 ADRC --SAMC4 SAMC3 SAMC2 SAMC1 Bit:8 SAMC0

A/D Sample Time Selection bits


A/D conversion Clock Source 1: ADRC is used 0: System clock is used
00001 .... 11110 11111 SAMC4:SAMC0 00000 Sampling Time

0 TAD 1 TAD . 30 TAD 31 TAD

Bit:7 ADCS7 ADCS6 ADCS5 ADCS4 ADCS3 ADCS2 ADCS1

Bit:0 ADCS0

A/D Conversion Clock Selection bits


ADCS7:ADCS0 Conversion Clock

00000000 00000001

TCY ( FCY ) 2*TCY ( FCY / 2 ) . 255*TCY ( FCY / 255 ) 256*TCY ( FCY / 256 )

ADCS = (TAD/TCY) - 1
.... 11111110 11111111

Configurando el Registro AD1CHS


Bit:15 CH0NB ---CH0SB3 CH0SB2 CH0SB1 Bit:8 CH0SB0

CH0 Negative input for MUX B 1: AN1 0: VR-

CH0SB3:CH0SB0

CH0 Positive Input for MUX B

0000 0001 ....

AN0 AN1 .

1110
1111

AN14
AN15

Bit:7 CH0NA ---CH0SA3 CH0SA2 CH0SA1

Bit:0 CH0SA0

CH0 Negative input for MUX A CH0SB3:CH0SB0 1: AN1 0: VR- AN15


ANxx AN0 AN1 VREFAN15 ANxx AN0 AN1 VREF+ A -A

CH0SA3:CH0SA0

CH0 Positive Input for MUX A

0000
0001 +B ....

AN0
AN1 . AN14 AN15

CH0NB

-B

+
-

1110 1111

CH 0

CH0SA3:CH0SA0

CH0NA

Configurando el AD1PCFG: Registro de Configuracin de Puertos


Bit:15 Bit:8
PCFG15 PCFG14 PCFG13 PCFG12 PCFG11 PCFG10 PCFG9 PCFG8

Bit:7
PCFG7 PCFG6 PCFG5 PCFG4 PCFG3 PCFG2 PCFG1

Bit:0
PCFG0

Analog Input Pin Configuration Control bits 0 to 15 1: Pin for corresponding analog channel (ANxx) is in digital mode 0: Pin for corresponding analog channel (ANxx) is in analog mode

AD1CSSL : A/D Input Scan Select Regsiter


Bit:15
CSSL15 CSSL14 CSSL13 CSSL12 CSSL11 CSSL10 CSSL9

Bit:8
CSSL8

Bit:7
CSSL7 CSSL6 CSSL5 CSSL4 CSSL3 CSSL2 CSSL1

Bit:0
CSSL0

A/D Input Channel Scan Selection bits 0 to 15


1: Corresponding analog channel (ANxx) is selected for sequential scanning 0: Corresponding analog channel (ANxx) is ignored for sequential scanning

Resultado Esperado
El valor del POT es promediado cada 16

muestras en 1 ms. El valor del POT es mostrado en los LEDs como un valor binario desde 0 hasta 255 El Pin RB2 cambia de valor cada 16 muestras (con una frecuencia de 500 Hz)

Acerca del Curso


Presentacin en clase con PPT.

Laboratorio en Matlab, Proteus y MPLAB.


Proyectos de Investigacin: SBC1: Espectro de Fourier de una Seal ECG. SBC2: Espectro Wavelet de una Seal ECG. SBC3: Red Neuronal para Deteccin de Anomalas Cardacas de una Seal ECG SBC4: Deteccin de Segmento QRS de una Seal ECG. Trabajos de Laboratorio: Sistema Automatizado de un Nacimiento Navideo.

You might also like