32
Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos CCP: Modulo CCP1 Modulo CCP2 UNEXPO Pto. Ordaz. MICROPROCESADORES Prof. Antonio Pateti Prof. Antonio Pateti

Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

  • Upload
    vanngoc

  • View
    239

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Módulo Captura/Comparación/PWM

El PIC16F81787 posee dos módulos CCP: Modulo CCP1 Modulo CCP2

UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti

Page 2: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Los módulos CCP pueden operar como:

Registro de Captura de 16 bits

Registro de Comparación de 16 bits

Registro de ciclo de trabajo del módulo PWM

UNEXPO – Pto. Ordaz. MICROPROCESADORES

Registro de ciclo de trabajo del módulo PWM

Prof. Antonio PatetiProf. Antonio Pateti

Page 3: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Recursos utilizados por los módulos CCP:

Modo de operacióndel CCP Recurso Utilizado

Captura Timer 1

Comparación Timer 1

UNEXPO – Pto. Ordaz. MICROPROCESADORES

PWM Timer 2

Prof. Antonio PatetiProf. Antonio Pateti

Page 4: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Registros utilizados por CCP1

• CCPR1H, CCPR1L

• CCP1CON

UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti

Page 5: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Registros utilizados por CCP2

• CCPR2H, CCPR2L

• CCP2CON

UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti

Page 6: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Módulos CCPx en modo Captura:

PreDivisor÷ 1,4,16

y

CCPRxH CCPRxL

CCPxIFCCPx

UNEXPO – Pto. Ordaz. MICROPROCESADORES

Detector de Flanco

y

TMR1H TMR1L

CCPxCON<3:0>4

Prof. Antonio PatetiProf. Antonio Pateti

Page 7: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

CCP1M3:CCP1M0: Selección de Modo de operación.

CCP1M3:CCP1M0 Modo Operación

0000 El modo Captura/Comparación/PWM esta deshabilitado

0100 Modo Captura, en cada flanco descendente

CCPxCON

UNEXPO – Pto. Ordaz. MICROPROCESADORES

0100 Modo Captura, en cada flanco descendente

0101 Modo Captura, en cada flanco ascendente

0110 Modo Captura, en cada 4 flanco ascendente

0111 Modo Captura, en cada 16 flanco ascendente

Prof. Antonio PatetiProf. Antonio Pateti

Page 8: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Operación del módulos CCPx en modo Captura:

PreDivisor÷ 1,4,16

y

CCPRx

CCPxIFCCPx

0A 5E

UNEXPO – Pto. Ordaz. MICROPROCESADORES

Detector de Flanco

y

TMR1

CCPxCON<3:0>4

0100

0A 5E

Prof. Antonio PatetiProf. Antonio Pateti

Page 9: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Módulos CCPx en modo Comparación:

CCPRxH CCPRxL

CCPxIF

CCPxComparadorLógica de

Salida

S

R

Q

Disparo deEvento

Especiales

UNEXPO – Pto. Ordaz. MICROPROCESADORES

TMR1H TMR1LCCPxCON<3:0>4

ComparadorLógica deSalidaR

TRISC<x>

Prof. Antonio PatetiProf. Antonio Pateti

Page 10: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

CCP1M3:CCP1M0: Selección de Modo de operación.

CCP1M3:CCP1M0 Modo Operación

1000 Modo Comparación, Si es igual la salida es ‘1’ (CCP1IF=’1’)

1001 Modo Comparación, Si es igual la salida es ‘0’ (CCP1IF=’1’)

UNEXPO – Pto. Ordaz. MICROPROCESADORES

1001 Modo Comparación, Si es igual la salida es ‘0’ (CCP1IF=’1’)

1010 Modo Comparación, Genera INT (CCP1IF=’1’, CCP1 noCambia)

1011Modo Comparación, Disparo de eventos especiales(CCP1IF=’1’; pin CCP1 no Cambia; Reset TMR1 e Inicia laconversión A/D)

Prof. Antonio PatetiProf. Antonio Pateti

Page 11: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Operación del módulos CCPx en modo Comparación:

CCPRxH CCPRxL

CCPxIF

CCPxComparadorLógica de

Salida

S

R

Q

Disparo deEvento

Especiales 0008↑

1

UNEXPO – Pto. Ordaz. MICROPROCESADORES

TMR1H TMR1LCCPxCON<3:0>4

TRISC<x>

1000 00 0000 0100 0200 0300 0400 0500 0600 0700 0800 0900 0A

CCPRxCCPxIF

0

Prof. Antonio PatetiProf. Antonio Pateti

Page 12: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Operación del módulos CCPx en modo Comparación:

CCPRxH CCPRxL

CCPxIF

CCPxComparadorLógica de

Salida

S

R

Q

Disparo deEvento

Espaciales 0008↑

UNEXPO – Pto. Ordaz. MICROPROCESADORES

TMR1H TMR1LCCPxCON<3:0>4

TRISC<x>

1011 00 0000 0100 0200 0300 0400 0500 0600 0700 0800 0000 01

CCPRxCCPxIF

Prof. Antonio PatetiProf. Antonio Pateti

Page 13: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Módulos CCP1 en modo PWM:

CCPR1L

CCPR1H

CCP1X:CCP1Y

TMR2=PR2

CCPR1H=TMR2

TMR2=PR2

UNEXPO – Pto. Ordaz. MICROPROCESADORES

CCP1R

S

Q

TRISC<x>

Comparador

TMR2

Comparad

PR2

Prof. Antonio PatetiProf. Antonio Pateti

TIMER2

Page 14: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

CCP1M3:CCP1M0: Selección de Modo de operación.

CCP1M3:CCP1M0 Modo Operación

11XX Modo PWM

UNEXPO – Pto. Ordaz. MICROPROCESADORES

CCP1X:CCP1Y: Utilizado solo para el modo PWM.

Modo PWM: Estos son los dos bits menos significativospara el Ciclo Útil en el modo PWM. Los 8 bitsmas significativos se encuentran en CCPR1L

Prof. Antonio PatetiProf. Antonio Pateti

Page 15: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPOperación del módulo CCP1 en modo PWM:

TMR2=PR2CCPR1H=TMR2

TMR2=PR2

CCPR1L

CCPR1H

CCP1X:CCP1Y

00010203

TMR2

0405

02↑

CCP1

PR200010203

CCPR1H

UNEXPO – Pto. Ordaz. MICROPROCESADORES

CCP1R

S

Q

TRISC<x>

CCPR1H

Comparador

TMR2

Comparad

PR2 05↑

02030405PR2

CCPR1H

000102030405

CCPR1H

00PR2

Prof. Antonio PatetiProf. Antonio Pateti

Page 16: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPPeriodo y Ciclo Útil del modulo PWM:

PWMCU = [CCPR1L:CCP1CON<5,4>]●Tosc●[PreDiv TMR2]

t

CU CU

V

UNEXPO – Pto. Ordaz. MICROPROCESADORES

PWMPeriodo = [PR2+1]●4●Tosc●[PreDiv TMR2]

tT T

Prof. Antonio PatetiProf. Antonio Pateti

Page 17: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPCálculo de Periodo y Ciclo Util:

Fosc = 4 MHz, PR2 = 255, PreDiv = 1

PWMPeriodo = [PR2+1]●4●Tosc●[PreDiv TMR2]

PWMPeriodo = [255+1]●1seg●[1]

PWMPeriodo = 256 seg

UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti

Page 18: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPCálculo de Periodo y Ciclo Util:

Para PWMPeriodo = 256 seg, tenemos

[CCPR1L:CCP1CON<5,4>] = 1

PWMCU = [CCPR1L:CCP1CON<5,4>]●Tosc●[PreDiv TMR2]

PWMCU = [1]●0,25seg●[1]

UNEXPO – Pto. Ordaz. MICROPROCESADORES

PWMCU = 0,25seg

t

V

T = 256seg T

CU=0,25seg

Prof. Antonio PatetiProf. Antonio Pateti

Page 19: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPCálculo de Periodo y Ciclo Util:

Para PWMPeriodo = 256 seg, tenemos

[CCPR1L:CCP1CON<5,4>] = 512

PWMCU = [CCPR1L:CCP1CON<5,4>]●Tosc●[PreDiv TMR2]

PWMCU = [512]●0,25seg●[1]

UNEXPO – Pto. Ordaz. MICROPROCESADORES

PWMCU = 128seg

t

V

T = 256seg T

CU=128seg

Prof. Antonio PatetiProf. Antonio Pateti

Page 20: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPCálculo de Periodo y Ciclo Util:

Para PWMPeriodo = 256 seg, tenemos

[CCPR1L:CCP1CON<5,4>] = 1022

PWMCU = [CCPR1L:CCP1CON<5,4>]●Tosc●[PreDiv TMR2]

PWMCU = [1022]●0,25seg●[1]

UNEXPO – Pto. Ordaz. MICROPROCESADORES

PWMCU = 255,5seg

t

V

T = 256seg T

CU=255,5seg

Prof. Antonio PatetiProf. Antonio Pateti

Page 21: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPCálculo de Periodo y Ciclo Util:

Para PWMPeriodo = 256 seg, tenemos

[CCPR1L:CCP1CON<5,4>] = 1023

PWMCU = [CCPR1L:CCP1CON<5,4>]●Tosc●[PreDiv TMR2]

PWMCU = [1023]●0,25seg●[1]

UNEXPO – Pto. Ordaz. MICROPROCESADORES

PWMCU = 255,75seg

t

V

T = 256seg T

CU=255,75seg

Prof. Antonio PatetiProf. Antonio Pateti

Page 22: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPCálculo de Periodo y Ciclo Util:

Fosc = 4 MHz, PR2 = 125, PreDiv = 4

PWMPeriodo = [PR2+1]●4●Tosc●[PreDiv TMR2]

PWMPeriodo = [125+1]●1seg●[4]

PWMPeriodo =504 seg

UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti

Page 23: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPCálculo de Periodo y Ciclo Util:

Para PWMPeriodo = 504 seg, tenemos

[CCPR1L:CCP1CON<5,4>] = 1

PWMCU = [CCPR1L:CCP1CON<5,4>]●Tosc●[PreDiv TMR2]

PWMCU = [1]●0,25seg●[4]

UNEXPO – Pto. Ordaz. MICROPROCESADORES

PWMCU = 1 seg

t

V

T = 504seg T

CU=1 seg

Prof. Antonio PatetiProf. Antonio Pateti

Page 24: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPCálculo de Periodo y Ciclo Util:

Para PWMPeriodo = 504 seg, tenemos

[CCPR1L:CCP1CON<5,4>] = 202

PWMCU = [CCPR1L:CCP1CON<5,4>]●Tosc●[PreDiv TMR2]

PWMCU = [202]●0,25seg●[4]

UNEXPO – Pto. Ordaz. MICROPROCESADORES

PWMCU = 202seg

t

V

T = 504seg T

CU=202seg

Prof. Antonio PatetiProf. Antonio Pateti

Page 25: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPCálculo de Periodo y Ciclo Util:

Para PWMPeriodo = 504 seg, tenemos

[CCPR1L:CCP1CON<5,4>] = 502

PWMCU = [CCPR1L:CCP1CON<5,4>]●Tosc●[PreDiv TMR2]

PWMCU = [502]●0,25seg●[4]

UNEXPO – Pto. Ordaz. MICROPROCESADORES

PWMCU = 502seg

t

V

T = 504seg T

CU=502seg

Prof. Antonio PatetiProf. Antonio Pateti

Page 26: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPCálculo de Periodo y Ciclo Util:

Para PWMPeriodo = 504 seg, tenemos

[CCPR1L:CCP1CON<5,4>] = 503

PWMCU = [CCPR1L:CCP1CON<5,4>]●Tosc●[PreDiv TMR2]

PWMCU = [503]●0,25seg●[4]

UNEXPO – Pto. Ordaz. MICROPROCESADORES

PWMCU = 503seg

t

V

T = 504seg T

CU=503seg

Prof. Antonio PatetiProf. Antonio Pateti

Page 27: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCPCálculo de Periodo y Ciclo Util:

Para PWMPeriodo = 504 seg, tenemos

[CCPR1L:CCP1CON<5,4>] = 504

PWMCU = [CCPR1L:CCP1CON<5,4>]●Tosc●[PreDiv TMR2]

PWMCU = [504]●0,25seg●[4]

UNEXPO – Pto. Ordaz. MICROPROCESADORES

PWMCU = 504seg

t

V

T = 504seg T

Prof. Antonio PatetiProf. Antonio Pateti

Page 28: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Mínima resolución del CU para el módulo PWM

La mínima resolución (en tiempo) para el Ciclo Útil delmódulo PWM depende del Pre-Divisor del Timer 2

Pre-Div del TMR2 Resolución (tiempo)

1 Tosc4 C.I.

UNEXPO – Pto. Ordaz. MICROPROCESADORES

4 C.I.16 4●C.I.

Prof. Antonio PatetiProf. Antonio Pateti

Page 29: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Temporizadores/Contadores

CCP1SEL: Selección del pin de entrada/salida del módulo CCP1.0: CCP1 es RC21: CCP1 es RB0

APFCON1

UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti

CCP2SEL: Selección del pin de entrada/salida del módulo CCP2.0: CCP1 es RC11: CCP1 es RB3

Page 30: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Máxima resolución (en bits) del CU

PWMCU = [CCPR1L:CCP1CON<5,4>]●Tosc●[PreDiv TMR2]

TPWM = [2b]●Tosc●[PD_T2]

2_2

TPDT

T

osc

PWMb

2_

log2logTPDT

T

osc

PWMb

UNEXPO – Pto. Ordaz. MICROPROCESADORES

2_

log2logTPDT

T

osc

PWMb

)2log(

2_log

TPDT

T

b osc

PWM

Prof. Antonio PatetiProf. Antonio Pateti

Page 31: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Módulo CCP

Ejemplo con PWM

PIC17F87X

RB0RB1RB2RB3RB4

RD0RD1RD2RD3RD4

10 B

itsD

el C

iclo

Util

8 BitsDel Periodo

UNEXPO – Pto. Ordaz. MICROPROCESADORES

RB4RB5RB6RB7

RD4RD5RD6RD7

RE0RE1

RA0RA1

RC2

10 B

itsD

el C

iclo

Util

8 BitsDel Periodo

2 BitsPara PreDivT2

CCP1

Prof. Antonio PatetiProf. Antonio Pateti

Page 32: Módulo Captura/Comparación/PWMfiles.unexpo-microprocesadores1.webnode.es/200000050-d72afd9173/… · Módulo CCP Módulo Captura/Comparación/PWM El PIC16F81787 posee dos módulos

Temporizadores/Contadores

CCP1SEL: Selección del pin de entrada/salida del módulo CCP1.0: CCP1 es RC21: CCP1 es RB0

APFCON1

UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti

CCP2SEL: Selección del pin de entrada/salida del módulo CCP2.0: CCP1 es RC11: CCP1 es RB3