Aula 18 - Univasf

Download Report

Transcript Aula 18 - Univasf

Módulo CCP
Jadsonlee da Silva Sá
[email protected]
www.univasf.edu.br/~jadsonlee.sa
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Introdução
 Existem dois módulos CCP idênticos: CCP1 e CCP2.
–
CCP
-
Capture
Modulation)
Compare
PWM
(Pulse
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Width
Introdução
 O registrador CCPxCON (x = 1 ou 2) controla a
operação do módulo CCPx.
 Cada módulo contém dois registradores de 8 bits
(CCPRxL e CCPRxH, x = 1 ou 2) que pode operar
como:
–
–
–
Registrador de captura - 16 bits.
Registrador de comparação – 16 bits.
Registrador de ciclo de trabalho do PWM.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - Captura
 Captura o valor do timer 1 (16 bits) quando ocorre
um evento no pino CCPx (deve ser configurado
como entrada).
–
Evento – Configurado pelos bits <3:0> de CCPxCON.
•
•
•
•
–
Em toda borda de descida;
Em toda borda de subida;
Na 4º borda consecutiva de subida;
Na 16º borda consecutiva de subida.
O valor do timer 1 é armazenado nos registradores
CCPxL e CCPxH.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - Captura
 Quando a captura for realizada, o bit CCPxIF é
setado. Se GIE = PEIE = CCPxIE = 1, uma
interrupção será gerada.
–
CCPxIF deve ser zerado via software.
–
Caso outra captura ocorra antes de o valor da
captura anterior ser lida, o valor da captura antiga
será sobrescrita.
 O timer 1 deve está executando no modo timer ou
contador sincronizado.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - Captura
 Diagrama de blocos da operação modo captura com
o CCP1.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - Captura
 Exemplo de aplicação: medição de velocidade ou
rotação de uma roda.
Tempo gasto
entre os furos.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - Captura
 Proteus ISIS.
Criar a porta
serial virtual.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - Captura
 Programa C.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - Comparação
 O valor do registrador de 16 bits CCPRx é
comparado com o registrador TMR1.
–
Quando os valores forem iguais, o valor do pino
CCPx (saída) será:
•
Setado, zerado ou inalterado (configurado via os bits
<3:0> de CCPxCON).
–
O bit CCPxIF será setado.
–
Uma interrupção ocorrerá se habilitada.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - Comparação
 Diagrama de blocos
comparação – CCP1.
da
operação
do
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
modo
CCP - Comparação
 Gerador de onda quadrada.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - Comparação
 Programa C.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - PWM
 PWM – Pulse Width Modulation.
 O pino CCPx (x=1 ou 2) gera uma saída PWM com
resolução de até 10 bits.
 O pino CCPx (RC1 ou RC2) deve ser configurado
como saída.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - PWM
 Um PWM possui uma base de tempo (período do
PWM) e um tempo em que a saída permanece em
nível alto (duty cycle – Ciclo de trabalho).
 A frequência do sinal PWM é o inverso do período.
Timer 2 é utilizado.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - PWM
 A base de tempo do PWM é gerada via o timer 2.
–
Ttimer2 = 1/Fosc/4 = 4/Fosc = 4Tosc.
 Período do PWM  Registrador PR2.
 Quando TMR2 = PR2, três eventos ocorrem no
próximo ciclo:
–
–
–
TMR2 é zerado
O pino CCPx é setado (exceto se o duty cycle for 0%).
O duty cycle é transferido de CCPRxL para CCPRxH.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - PWM
 O duty cycle (10 bits) é especificado no
registrador CCPRxL e nos bits 4 e 5 de CCP1CON
(contém os dois bits menos significativos).
–
Faltou *4 na equação acima.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - PWM
 Diagrama de blocos simplificado.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
CCP - PWM
 Configuração PWM – CCP1.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Exemplo CCP - PWM
 Programa em C - CCS.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Exemplo CCP - PWM
 Proteus ISIS.
É necessário ter um
circuito de
condicionamento. Por
exemplo, um circuito
ponte H.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP
Tarefa
 Faça um programa em assembly e outro C (no nível
de registrador) equivalente ao programa dos dois
slides anteriores.
Universidade Federal do Vale do São Francisco - UNIVASF
Colegiado de Engenharia da Computação – CECOMP