Você está na página 1de 30

Traduzido do Inglês para o Português - www.onlinedoctranslator.

com

PIC18 (L) F2X / 4XK22


14.2 Modo de comparação 14.2.1 CONFIGURAÇÃO DO PIN CCP
A função do modo Comparar descrita nesta seção é idêntica O usuário deve configurar o pino CCPx como uma saída,
para todos os módulos CCP e ECCP disponíveis nesta família limpando o bit TRIS associado.
de dispositivos. Algumas saídas CCPx são multiplexadas em alguns pinos. A
O modo de comparação usa os recursos TimerX de 16 Tabela 14-2 mostra a multiplexação do pino de saída do CCP.
bits, Timer1, Timer3 e Timer5. O valor de 16 bits do par A seleção do pino de saída é determinada pelos bits CCPxMX
de registros CCPRxH: CCPRxL é constantemente no registro de configuração 3H (CONFIG3H). Consulte o
comparado com o valor de 16 bits do par de registros Registro 24-4 para obter mais detalhes.
TMRxH: TMRxL. Quando ocorre uma correspondência, Observação: Limpar o registro CCPxCON forçará a trava
um dos seguintes eventos pode ocorrer: de saída de comparação CCPx para o nível
• Alternar a saída CCPx baixo padrão. Esta não é a trava de dados
• Defina a saída CCPx PORT I / O.

• Limpe a saída CCPx


14.2.2 RECURSO DE MODO TimerX
• Gerar um gatilho de evento especial
No modo Compare, o recurso TimerX de 16 bits deve estar
• Gerar uma interrupção de software
em execução no modo Timer ou no modo Synchronized
A ação no pino é baseada no valor dos bits de controle Counter. A operação de comparação pode não funcionar no
CCPxM <3: 0> do registro CCPxCON. Ao mesmo tempo, o modo de contador assíncrono.
bit CCPxIF do sinalizador de interrupção é definido.
Ver Seção 12.0 "Módulo Timer 1/3/5 com controle de porta"
Todos os modos Compare podem gerar uma interrupção. para obter mais informações sobre como configurar os recursos

A Figura 14-2 mostra um diagrama simplificado da TimerX de 16 bits.


operação Compare. Observação: CronômetroX do relógio do sistema (FOSC
) não deve ser usado no modo Comparar.
FIGURA 14-2: MODO COMPARAR Para que o modo Compare reconheça o
BLOCO DE OPERAÇÃO evento de disparo no pino CCPx, TImerX
DIAGRAMA deve ser cronometrado a partir do
relógio de instrução (FOSC/ 4) ou de uma
CCPxM <3: 0>
Seleção de modo
fonte de relógio externa.

Definir sinalizador de interrupção CCPxIF


14.2.3 MODO DE INTERRUPÇÃO DE SOFTWARE
(PIR1 / 2/4)
CCPx 4 Quando o modo Gerar Interrupção de Software é
Alfinete
CCPRxH CCPRxL escolhido (CCPxM <3: 0> = 1010), o módulo CCPx não
QS afirma o controle do pino CCPx (veja o registro
Saída
Lógica
Comparador CCPxCON).
R Corresponder

TMRxH TMRxL
TRIS
Habilitar saída

Gatilho de Evento Especial

Função de gatilho de evento especial ativada

• ECCP1, ECCP2, ECCP3, CCP4 e CCP5 irão:


- Reinicializar TimerX - TMRxH: TMRxL = 0x0000
- Sinalizador de interrupção TimerX, (TMRxIF) não está definido

Função adicional em
• CCP5 irá
- Defina ADCON0 <1>, bit GO / DONE para iniciar uma
conversão ADC se ADCON <0>, ADON = 1

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 181


PIC18 (L) F2X / 4XK22
14.2.4 ACIONADOR DE EVENTO ESPECIAL 14.2.5 COMPARAR DURANTE O SONO
Quando o modo Special Event Trigger é selecionado O modo Compare depende do relógio do sistema (FOSC) para
(CCPxM <3: 0> = 1011), e uma correspondência dos operação adequada. Desde FOSC for desligado durante o modo
registros TMRxH: TMRxL e CCPRxH: CCPRxL ocorrer, de suspensão, o modo Comparar não funcionará corretamente
todos os módulos CCPx e ECCPx irão imediatamente: durante o modo de suspensão.

• Defina o bit de sinalizador de interrupção CCP - CCPxIF

• CCP5 iniciará uma conversão ADC, se o ADC estiver


habilitado

Na próxima borda ascendente do relógio TimerX:

• Ocorre uma reinicialização do par de registro TimerX


- TMRxH: TMRxL = 0x0000,

Este modo de acionador de evento especial não:

• Assegure o controle sobre os pinos CCPx ou ECCPx.


• Defina o bit de interrupção TMRxIF quando o par de registros
TMRxH: TMRxL é redefinido. (TMRxIF é definido em um
estouro de TimerX.)

Se o valor dos registros CCPRxH: CCPRxL forem modificados


quando ocorrer uma correspondência, o usuário deve estar
ciente de que o reset automático de TimerX ocorre na
próxima borda ascendente do relógio. Portanto, a
modificação dos registros CCPRxH: CCPRxL antes de ocorrer
essa reinicialização permitirá que o TimerX continue sem ser
reinicializado, resultando inadvertidamente no próximo
evento sendo avançado ou atrasado.

O modo Special Event Trigger permite que o par de


registros CCPRxH: CCPRxL forneça efetivamente um
registro de período programável de 16 bits para TimerX.

TABELA 14-5: REGISTROS ASSOCIADOS AO COMPARE


Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

CCP1CON P1M <1: 0> DC1B <1: 0> CCP1M <3: 0> 201
CCP2CON P2M <1: 0> DC2B <1: 0> CCP2M <3: 0> 201
CCP3CON P3M <1: 0> DC3B <1: 0> CCP3M <3: 0> 201
CCP4CON - - DC4B <1: 0> CCP4M <3: 0> 201
CCP5CON - - DC5B <1: 0> CCP5M <3: 0> 201
CCPR1H Capture / Compare / PWM Register 1 High Byte (MSB) -
CCPR1L Capture / Compare / PWM Register 1 Low Byte (LSB) -
CCPR2H Capture / Compare / PWM Registre 2 High Byte (MSB) -
CCPR2L Capture / Compare / PWM Registre 2 Low Byte (LSB) -
CCPR3H Capture / Compare / PWM Registre 3 High Byte (MSB) -
CCPR3L Capture / Compare / PWM Registre 3 Low Byte (LSB) -
CCPR4H Capture / Compare / PWM Registre 4 High Byte (MSB) -
CCPR4L Capture / Compare / PWM Registre 4 Low Byte (LSB) -
CCPR5H Capture / Compare / Registro PWM 5 High Byte (MSB) -
CCPR5L Captura / Comparação / Registro PWM 5 Low Byte (LSB) -
CCPTMRS0 C3TSEL <1: 0> - C2TSEL <1: 0> - C1TSEL <1: 0> 204
CCPTMRS1 - - - - C5TSEL <1: 0> C4TSEL <1: 0> 204
INTCON GIE / GIEH PEIE / GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF 115
Lenda: - = Localização não implementada, lida como '0 '. Os bits sombreados não são usados pelo modo de captura.
Nota 1: Esses registros / bits estão disponíveis em dispositivos PIC18 (L) F4XK22.

DS41412B-page 182 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
TABELA 14-5: REGISTROS ASSOCIADOS AO COMPARE (CONTINUAÇÃO)
Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

IPR1 - UM MERGULHO RC1IP TX1IP SSP1IP CCP1IP TMR2IP TMR1IP 127


IPR2 OSCFIP C1IP C2IP EEIP BCL1IP HLVDIP TMR3IP CCP2IP 128
IPR4 - - - - - CCP5IP CCP4IP CCP3IP 130
PIE1 - ADIE RC1IE TX1IE SSP1IE CCP1IE TMR2IE TMR1IE 123
PIE2 OSCFIE C1IE C2IE EEIE BCL1IE HLVDIE TMR3IE CCP2IE 124
PIE4 - - - - - CCP5IE CCP4IE CCP3IE 126
PIR1 - ADIF RC1IF TX1IF SSP1IF CCP1IF TMR2IF TMR1IF 118
PIR2 OSCFIF C1IF C2IF EEIF BCL1IF HLVDIF TMR3IF CCP2IF 119
PIR4 - - - - - CCP5IF CCP4IF CCP3IF 121
PMD0 UART2MD UART1MD TMR6MD TMR5MD TMR4MD TMR3MD TMR2MD TMR1MD 56
PMD1 MSSP2MD MSSP1MD - CCP5MD CCP4MD CCP3MD CCP2MD CCP1MD 57
T1CON TMR1CS <1: 0> T1CKPS <1: 0> T1SOSCEN T1SYNC T1RD16 TMR1ON 170
T1GCON TMR1GE T1GPOL T1GTM T1GSPM T1GGO / FEITO T1GVAL T1GSS 171
T3CON TMR3CS <1: 0> T3CKPS <1: 0> T3SOSCEN T3SYNC T3RD16 TMR3ON 170
T3GCON TMR3GE T3GPOL T3GTM T3GSPM T3GGO / DONE T3GVAL T3GSS 171
T5CON TMR5CS <1: 0> T5CKPS <1: 0> T5SOSCEN T5SYNC T5RD16 TMR5ON 170
T5GCON TMR5GE T5GPOL T5GTM T5GSPM T5GGO / FEITO T5GVAL T5GSS 171
TMR1H Registro de retenção para o byte mais significativo do TMR1 de 16 bits Registro -
TMR1L de retenção para o byte menos significativo do TMR1 de 16 bits Registro de -
TMR3H retenção para o byte mais significativo do TMR3 de 16 bits Registro de retenção -
TMR3L para o byte menos significativo de o TMR3 Register Holding Register de 16 bits -
TMR5H para o byte mais significativo do TMR5 Register Holding Register de 16 bits para -
TMR5L o byte menos significativo do TMR5 Register de 16 bits -
TRISA TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 154
TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 154
TRISC TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 154
TRISD(1) TRISD7 TRISD6 TRISD5 TRISD4 TRISD3 TRISD2 TRISD1 TRISD0 154
TRISE WPUE3 - - - - TRISE2(1) TRISE1(1) TRISE0(1) 154
Lenda: - = Localização não implementada, lida como '0 '. Os bits sombreados não são usados pelo modo de captura.
Nota 1: Esses registros / bits estão disponíveis em dispositivos PIC18 (L) F4XK22.

TABELA 14-6: REGISTROS DE CONFIGURAÇÃO ASSOCIADOS À CAPTURA


Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

CONFIG3H MCLRE - P2BMX T3CMX HFOFST CCP3MX PBADEN CCP2MX 354


Lenda: - = Localização não implementada, lida como '0 '. Os bits sombreados não são usados pelo modo de captura.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 183


PIC18 (L) F2X / 4XK22
14.3 Visão geral do PWM FIGURA 14-3: SINAL DE SAÍDA CCP PWM
A modulação por largura de pulso (PWM) é um esquema que Período

fornece energia a uma carga alternando rapidamente entre os


estados totalmente ligado e totalmente desligado. O sinal PWM Largura do pulso
TMRx = PRx
se assemelha a uma onda quadrada onde a parte alta do sinal é
considerada o estado ligado e a parte baixa do sinal é TMRx = CCPRxH: CCPxCON <5: 4>
considerada o estado desligado. A porção alta, também
TMRx = 0
conhecida como largura de pulso, pode variar no tempo e é
definida em etapas. Um maior número de etapas aplicadas, o
que aumenta a largura do pulso, também fornece mais energia
FIGURA 14-4: BLOCO DE PWM SIMPLIFICADO
para a carga. Reduzir o número de etapas aplicadas, o que
diminui a largura do pulso, fornece menos energia. O período
DIAGRAMA
PWM é definido como a duração de um ciclo completo ou a
CCPxCON <5: 4>
quantidade total de tempo ligado e desligado combinados. Registros de Ciclo de Trabalho

A resolução PWM define o número máximo de etapas que podem CCPRxL


estar presentes em um único período PWM. Uma resolução mais
alta permite um controle mais preciso do tempo de largura de
pulso e, por sua vez, a potência que é aplicada à carga.
CCPRxH(2) (Escravo)
CCPx
O termo ciclo de trabalho descreve a proporção entre o tempo ligado
e o tempo desligado e é expresso em porcentagens, em que 0% é Comparador RQ
totalmente desligado e 100% totalmente ligado. Um ciclo de trabalho
mais baixo corresponde a menos energia aplicada e um ciclo de (1) S
TMRx
trabalho mais alto corresponde a mais energia aplicada. TRIS
A Figura 14-3 mostra uma forma de onda típica do sinal
PWM. Comparador
Clear Timer,
alternar o pino CCPx e o ciclo

14.3.1 OPERAÇÃO PWM PADRÃO PRx


de trabalho da trava

A função PWM padrão descrita nesta seção está


1: O registro TMRx do temporizador de 8 bits é
disponível e é idêntica para os módulos CCP e ECCP.
Observação

concatenado com o relógio interno do sistema de 2 bits (F


O modo PWM padrão gera um sinal de modulação por OSC), ou 2 bits do prescaler, para criar a base de tempo
largura de pulso (PWM) no pino CCPx com até 10 bits de de 10 bits.

resolução. O período, ciclo de trabalho e resolução são 2: No modo PWM, CCPRxH é um registro somente leitura.

controlados pelos seguintes registros:


• Registros PRx
14.3.2 CONFIGURAÇÃO PARA OPERAÇÃO PWM
• Registros TxCON
As seguintes etapas devem ser executadas ao configurar
• Registros CCPRxL
o módulo CCP para operação PWM padrão:
• Registros CCPxCON
1. Desative o driver de saída do pino CCPx configurando o
A Figura 14-4 mostra um diagrama de blocos simplificado da operação bit TRIS associado.
PWM.
2. Selecione o recurso TimerX de 8 bits (Timer2,
Timer4 ou Timer6) a ser usado para geração de
PWM, definindo os bits CxTSEL <1: 0> no
Nota 1: O bit TRIS correspondente deve ser
registro CCPTMRSx.(1)
desmarcado para habilitar a saída PWM no
pino CCPx. 3. Carregue o registro PRx para o TimerX selecionado com
o valor do período PWM.
2: Limpar o registro CCPxCON irá
4. Configure o módulo CCP para o modo PWM
renunciar ao controle do pino CCPx.
carregando o registro CCPxCON com os
valores apropriados.
5. Carregue o registro CCPRxL e os bits DCxB <1: 0>
do registro CCPxCON, com o valor do ciclo de
trabalho PWM.

DS41412B-page 184 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
6. Configure e inicie o recurso TimerX de 8 bits: 14.3.5 CICLO DE SERVIÇO PWM
• Limpe o bit de flag de interrupção TMRxIF do O ciclo de trabalho PWM é especificado gravando um
registro PIR2 ou PIR4. Consulte a Nota 1 abaixo. valor de 10 bits em vários registros: registro CCPRxL e
• Configure os bits TxCKPS do registro TxCON com o DCxB <1: 0> bits do registro CCPxCON. O CCPRxL
valor de pré-escala do temporizador. contém os oito MSbs e os bits DCxB <1: 0> do registro
• Habilite o Timer configurando o bit CCPxCON contêm os dois LSbs. Os bits CCPRxL e
TMRxON do registro TxCON. DCxB <1: 0> do registro CCPxCON podem ser
7. Habilite o pino de saída PWM: gravados a qualquer momento. O valor do ciclo de
serviço não é travado em CCPRxH até que o período
• Aguarde até que o temporizador estourou e o bit
seja concluído (ou seja, ocorre uma correspondência
TMRxIF do registro PIR2 ou PIR4 seja definido.
entre os registros PRx e TMRx). Ao usar o PWM, o
Consulte a Nota 1 abaixo.
registro CCPRxH é somente leitura.
• Habilite o driver de saída do pino CCPx
apagando o bit TRIS associado. A Equação 14-2 é usada para calcular a largura de pulso
PWM.
Nota 1: Para enviar um ciclo de trabalho completo
e período na primeira saída PWM, as etapas A Equação 14-3 é usada para calcular a razão do ciclo de trabalho

acima devem ser incluídas na sequência de PWM.

configuração. Se não for crítico começar com


um sinal PWM completo na primeira saída, a EQUAÇÃO 14-2: LARGURA DE PULSO
etapa 6 pode ser ignorada.
Largura de pulso = -CCPRxL: CCPxCON <5: 4>- -
14.3.3 RECURSO DE TEMPORIZADOR PWM
TOSC - (Valor de pré-escala TMRx)
O modo padrão PWM usa um dos recursos de temporizador
Timer2 / 4/6 de 8 bits para especificar o período PWM.

Configurar os bits CxTSEL <1: 0> no registro EQUAÇÃO 14-3: RELAÇÃO DO CICLO DE SERVIÇO
CCPTMRS0 ou CCPTMRS1 seleciona qual
temporizador 2/4/6 é usado. -CCPRxL: CCPxCON <5: 4>-
Taxa de ciclo de trabalho = ---------------------------------------------- ------------------------
4-PRx + 1-
14.3.4 PERÍODO PWM
O período PWM é especificado pelo registro PRx de TimerX
O registro CCPRxH e uma trava interna de 2 bits são usados
de 8 bits. O período PWM pode ser calculado usando a
para buffer duplo do ciclo de trabalho PWM. Este buffer
fórmula da Equação 14-1.
duplo é essencial para uma operação PWM sem falhas.

EQUAÇÃO 14-1: PERÍODO PWM O registro TMRx do temporizador de 8 bits é concatenado com o
relógio interno do sistema de 2 bits (FOSC), ou 2 bits do prescaler,
Período PWM = -PRx- + 1- - 4 - TOSC - para criar a base de tempo de 10 bits. O relógio do sistema é
usado se o prescaler TimerX estiver definido como 1: 1.
(Valor da pré-escala TMRx)
Quando a base de tempo de 10 bits corresponde ao
Nota 1: TOSC = 1 / FOSC CCPRxH e à trava de 2 bits, o pino CCPx é limpo (consulte
a Figura 14-4).
Quando TMRx é igual a PRx, os três eventos a seguir
ocorrem no próximo ciclo de incremento:

• TMRx é limpo
• O pino CCPx está definido. (Exceção: Se o ciclo de trabalho
PWM = 0%, o pino não será definido.)
• O ciclo de trabalho PWM é travado de CCPRxL para
CCPRxH.

Observação: O Postcaler do Timer (veja Seção 13.0


“Módulo Timer2 / 4/6”) não é usado na
determinação da frequência PWM.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 185


PIC18 (L) F2X / 4XK22
14.3.6 RESOLUÇÃO PWM EQUAÇÃO 14-4: RESOLUÇÃO PWM
A resolução determina o número de ciclos de trabalho disponíveis
para um determinado período. Por exemplo, uma resolução de 10 bits registro-4-PRx + 1-
Resolução = ----------------------------------------- bits
resultará em 1024 ciclos de trabalho discretos, enquanto uma registro-2-

resolução de 8 bits resultará em 256 ciclos de trabalho discretos.

A resolução PWM máxima é de 10 bits quando PRx é


255. A resolução é uma função do valor do registro PRx Observação: Se o valor da largura de pulso for maior que o
conforme mostrado pela Equação 14-4. período, os pinos PWM atribuídos
permanecerão inalterados.

TABELA 14-7: EXEMPLO DE FREQÜÊNCIAS E RESOLUÇÕES DE PWM (FOSC = 32 MHz)


Frequência PWM 1,95 kHz 7,81 kHz 31,25 kHz 125 kHz 250 kHz 333,3 kHz
Pré-escala do temporizador (1, 4, 16 4 1 1 1 1
16) Valor PRx 0xFF 0xFF 0xFF 0x3F 0x1F 0x17
Resolução máxima (bits) 10 10 10 8 7 6,6

TABELA 14-8: EXEMPLO DE FREQÜÊNCIAS E RESOLUÇÕES DE PWM (FOSC = 20 MHz)


Frequência PWM 1,22 kHz 4,88 kHz 19,53 kHz 78,12 kHz 156,3 kHz 208,3 kHz
Pré-escala do temporizador (1, 4, 16 4 1111
16) Valor PRx 0xFF 0xFF 0xFF 0x3F 0x1F 0x17
Resolução máxima (bits) 10 10 10 8 7 6,6

TABELA 14-9: EXEMPLO DE FREQÜÊNCIAS E RESOLUÇÕES DE PWM (FOSC = 8 MHz)


Frequência PWM 1,22 kHz 4,90 kHz 19,61 kHz 76,92 kHz 153,85 kHz 200,0 kHz
Pré-escala do temporizador (1, 4, 16 4 1111
16) Valor PRx 0x65 0x65 0x65 0x19 0x0C 0x09
Resolução máxima (bits) 8 8 8655

14.3.7 OPERAÇÃO EM MODO DORMIR 14.3.9 EFEITOS DE REINICIALIZAÇÃO


No modo Sleep, o registro TMRx não aumentará e o estado Qualquer reinicialização forçará todas as portas para o modo de entrada e o CCP se

do módulo não mudará. Se o pino CCPx estiver direcionando registrará em seus estados de reinicialização.
um valor, ele continuará a direcionar esse valor. Quando o
dispositivo despertar, TMRx continuará de seu estado
anterior.

14.3.8 ALTERAÇÕES NA FREQUÊNCIA DO RELÓGIO


DO SISTEMA
A frequência PWM é derivada da frequência do relógio do
sistema. Quaisquer alterações na frequência do relógio do
sistema resultarão em alterações na frequência PWM. Ver
Seção 2.0 "Módulo oscilador (com monitor de relógio à prova
de falhas)" para obter detalhes adicionais.

DS41412B-page 186 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

TABELA 14-10: REGISTROS ASSOCIADOS AO PWM PADRÃO


Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

CCP1CON P1M <1: 0> DC1B <1: 0> CCP1M <3: 0> 201
CCP2CON P2M <1: 0> DC2B <1: 0> CCP2M <3: 0> 201
CCP3CON P3M <1: 0> DC3B <1: 0> CCP3M <3: 0> 201
CCP4CON - - DC4B <1: 0> CCP4M <3: 0> 201
CCP5CON - - DC5B <1: 0> CCP5M <3: 0> 201
CCPTMRS0 C3TSEL <1: 0> - C2TSEL <1: 0> - C1TSEL <1: 0> 204
CCPTMRS1 - - - - C5TSEL <1: 0> C4TSEL <1: 0> 204
INTCON GIE / GIEH PEIE / GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF 115
IPR1 - UM MERGULHO RC1IP TX1IP SSP1IP CCP1IP TMR2IP TMR1IP 127
IPR2 OSCFIP C1IP C2IP EEIP BCL1IP HLVDIP TMR3IP CCP2IP 128
IPR4 - - - - - CCP5IP CCP4IP CCP3IP 129
PIE1 - ADIE RC1IE TX1IE SSP1IE CCP1IE TMR2IE TMR1IE 123
PIE2 OSCFIE C1IE C2IE EEIE BCL1IE HLVDIE TMR3IE CCP2IE 124
PIE4 - - - - - CCP5IE CCP4IE CCP3IE 126
PIR1 - ADIF RC1IF TX1IF SSP1IF CCP1IF TMR2IF TMR1IF 118
PIR2 OSCFIF C1IF C2IF EEIF BCL1IF HLVDIF TMR3IF CCP2IF 119
PIR4 - - - - - CCP5IF CCP4IF CCP3IF 121
PMD0 UART2MD UART1MD TMR6MD TMR5MD TMR4MD TMR3MD TMR2MD TMR1MD 56
PMD1 MSSP2MD MSSP1MD - CCP5MD CCP4MD CCP3MD CCP2MD CCP1MD 57
PR2 Registro de Período Timer2 -
PR4 Registro de período do cronômetro 4 -
PR6 Registro de período do cronômetro 6 -
T2CON - T2OUTPS <3: 0> TMR2ON T2CKPS <1: 0> 170
T4CON - T4OUTPS <3: 0> TMR4ON T4CKPS <1: 0> 170
T6CON - T6 SAÍDAS <3: 0> TMR6ON T6CKPS <1: 0> 170
TMR2 Registro de Período Timer2 -
TMR4 Registro de período do cronômetro 4 -
TMR6 Registro de período do cronômetro 6 -
TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 154
TRISC TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 154
TRISD(1) TRISD7 TRISD6 TRISD5 TRISD4 TRISD3 TRISD2 TRISD1 TRISD0 154
TRISE WPUE3 - - - - TRISE2(1) TRISE1(1) TRISE0(1) 154
Lenda: - = Localização não implementada, lida como '0 '. Os bits sombreados não são usados pelo modo de captura.
Nota 1: Esses registros / bits estão disponíveis em dispositivos PIC18 (L) F4XK22.

TABELA 14-11: REGISTROS DE CONFIGURAÇÃO ASSOCIADOS À CAPTURA


Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

CONFIG3H MCLRE - P2BMX T3CMX HFOFST CCP3MX PBADEN CCP2MX 354


Lenda: - = Localização não implementada, lida como '0 '. Os bits sombreados não são usados pelo modo de captura.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 187


PIC18 (L) F2X / 4XK22
14,4 PWM (modo avançado) Para selecionar um modo Enhanced PWM Output, os bits
PxM <1: 0> do registro CCPxCON devem ser
A função PWM aprimorada descrita nesta seção está configurados apropriadamente.
disponível para os módulos CCP ECCP1, ECCP2 e ECCP3,
As saídas PWM são multiplexadas com pinos de E / S e
com quaisquer diferenças entre os módulos observadas.
são designadas PxA, PxB, PxC e PxD. A polaridade dos
O modo PWM aprimorado gera um sinal de modulação por pinos PWM é configurável e é selecionada definindo os
largura de pulso (PWM) em até quatro pinos de saída bits CCPxM no registro CCPxCON apropriadamente.
diferentes com até 10 bits de resolução. O período, ciclo de
A Figura 14-5 mostra um exemplo de diagrama de blocos
trabalho e resolução são controlados pelos seguintes
simplificado do módulo Enhanced PWM.
registros:
A Tabela 14-12 mostra as atribuições de pinos para vários
• Registros PRx
modos PWM aprimorados.
• Registros TxCON
• Registros CCPRxL Nota 1: O bit TRIS correspondente deve ser
• Registros CCPxCON limpo para habilitar a saída PWM no
pino CCPx.
Os módulos ECCP têm os seguintes registros PWM adicionais que
controlam os modos de desligamento automático, reinício
2: Limpar o registro CCPxCON irá abrir
automático, atraso de banda morta e direção PWM:
mão do controle do pino CCPx.

• Registros ECCPxAS
3: Qualquer pino não usado no modo PWM
aprimorado está disponível para funções de
• Registros PSTRxCON
pino alternativo, se aplicável.
• Registros PWMxCON
4: Para evitar a geração de uma forma de onda
O módulo PWM aprimorado pode gerar os seguintes incompleta quando o PWM é habilitado pela
cinco modos de saída PWM: primeira vez, o módulo ECCP espera até o
• PWM único início de um novo período de PWM antes de
• PWM de meia ponte gerar um sinal de PWM.

• PWM Full-Bridge, Modo Forward


• PWM Full-Bridge, modo reverso
• PWM único com modo de direção PWM

FIGURA 14-5: EXEMPLO DE DIAGRAMA DE BLOCO SIMPLIFICADO DO MODO PWM APRIMORADO

DCxB <1: 0> PxM <1: 0> CCPxM<3: 0>


Registros de Ciclo de Trabalho
2 4
CCPRxL
CCPx / PxA CCPx / PxA

TRISx

CCPRxH (escravo)
PxB PxB

Saída TRISx
Comparador R Q
Controlador

PxC PxC(2)
TMRx (1)
S TRISx

PxD PxD(2)
Comparador
Clear Timer, TRISx
alternar o pino PWM e o ciclo
de trabalho da trava
PRx PWMxCON

Nota 1: O registro TMRx do temporizador de 8 bits é concatenado com o relógio Q interno de 2 bits, ou 2 bits do prescaler para criar o tempo de 10 bits
base.
2: PxC e PxD não estão disponíveis nos módulos Half-Bridge ECCP.

DS41412B-page 188 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

TABELA 14-12: EXEMPLO DE ATRIBUIÇÕES DE PINOS PARA VÁRIOS MODOS DE PWM APRIMORADOS

Modo ECCP PxM <1: 0> CCPx / PxA PxB PxC PxD
Solteiro 00 sim(1) sim(1) sim(1) sim(1)
Meia Ponte 10 sim sim Não Não
Full-Bridge, Forward 01 sim sim sim sim
Full-Bridge, Reverse 11 sim sim sim sim
Nota 1: A direção PWM permite saídas no modo Único.

FIGURA 14-6: EXEMPLO PWM (MODO APRIMORADO) RELACIONAMENTOS DE SAÍDA (ESTADO ATIVO-
ALTO)
Pulso PRX + 1
PxM <1: 0> Sinal 0
Largura

Período

00 (Saída Única) PxA Modulado


Atraso(1) Atraso(1)
PxA Modulado

10 (Meia Ponte) PxB Modulado

PxA Ativo

(Full-Bridge, PxB inativo


01 Avançar)
PxC Inativo

PxD Modulado

PxA inativo

(Full-Bridge, PxB Modulado


11
Reverter)
PxC Ativo

PxD inativo

Relacionamentos:
• Período = 4 * TOSC * (PRx + 1) * (Valor de pré-escala TMRx)
• Largura de pulso = TOSC * (CCPRxL <7: 0>: CCPxCON <5: 4>) * (Valor de pré-escala TMRx)
• Atraso = 4 * TOSC * (PWMxCON <6: 0>)
Nota 1: O atraso da banda morta é programado usando o registro PWMxCON (Seção 14.4.5 “Atraso de banda morta programável
Modo")

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 189


PIC18 (L) F2X / 4XK22
FIGURA 14-7: EXEMPLO DE RELACIONAMENTOS DE SAÍDA DE PWM AUMENTADOS (ESTADO BAIXO ATIVO)

Pulso PRx + 1
PxM <1: 0> Sinal 0
Largura

Período

00 (Saída Única) PxA Modulado

PxA Modulado
Atraso(1) Atraso(1)
10 (Meia Ponte)
PxB Modulado

PxA Ativo

(Full-Bridge, PxB inativo


01 Avançar)
PxC Inativo

PxD Modulado

PxA inativo

(Full-Bridge, PxB Modulado


11
Reverter)
PxC Ativo

PxD inativo

Relacionamentos:
• Período = 4 * TOSC * (PRx + 1) * (Valor de pré-escala TMRx)
• Largura de pulso = TOSC * (CCPRxL <7: 0>: CCPxCON <5: 4>) * (Valor de pré-escala TMRx)
• Atraso = 4 * TOSC * (PWMxCON <6: 0>)
Nota 1: O atraso da banda morta é programado usando o registro PWMxCON (Seção 14.4.5 “Atraso de banda morta programável
Modo")

DS41412B-page 190 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
14.4.1 MODO DE MEIA PONTE Uma vez que as saídas PxA e PxB são multiplexadas com as
travas de dados PORT, os bits TRIS associados devem ser
No modo Half-Bridge, dois pinos são usados como saídas para
limpos para configurar PxA e PxB como saídas.
acionar cargas push-pull. O sinal de saída PWM é emitido no pino
CCPx / PxA, enquanto o sinal de saída PWM complementar é
emitido no pino PxB (consulte a Figura 14-9). Este modo pode ser FIGURA 14-8: EXEMPLO DE MEIO-
usado para aplicações Half-Bridge, conforme mostrado na Figura PONTE DE SAÍDA PWM
14-9, ou para aplicações Full-Bridge, onde quatro interruptores Período Período
de energia estão sendo modulados com dois sinais PWM.
Largura do pulso

No modo Half-Bridge, o atraso programável da banda PxA(2)


morta pode ser usado para evitar a corrente direta em td
dispositivos de energia Half-Bridge. O valor dos bits PDC td
<6: 0> do registro PWMxCON define o número de ciclos PxB(2)
de instrução antes que a saída seja ativada. Se o valor for
maior que o ciclo de serviço, a saída correspondente (1) (1) (1)
permanece inativa durante todo o ciclo. Ver
td = Atraso de banda morta
Seção 14.4.5 "Modo de atraso de banda morta programável"
para obter mais detalhes sobre as operações de atraso da banda Nota 1: Neste momento, o registro TMRx é igual ao
morta. Registro PRx.
2: Os sinais de saída são mostrados como ativo-alto.

FIGURA 14-9: EXEMPLO DE APLICAÇÕES DE MEIA PONTE

Circuito de meia ponte padrão (“Push-Pull”)

FET
Motorista
+
PxA
-

Carga
FET
Motorista
+
PxB
-

Saída de meia ponte conduzindo um circuito de ponte completa

V+

FET FET
Motorista Motorista

PxA

Carga
FET FET
Motorista Motorista

PxB

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 191


PIC18 (L) F2X / 4XK22
14.4.2 MODO PONTE CHEIA
No modo Full-Bridge, todos os quatro pinos são usados como
saídas. Um exemplo de aplicação Full-Bridge é mostrado na
Figura 14-10.

No modo Forward, o pino CCPx / PxA é conduzido para seu estado


ativo, o pino PxD é modulado, enquanto PxB e PxC são conduzidos
para seu estado inativo, conforme mostrado na Figura 14-11.

No modo reverso, PxC é conduzido ao seu estado ativo, o pino


PxB é modulado, enquanto PxA e PxD são conduzidos ao seu
estado inativo, conforme mostrado na Figura 14-11.

As saídas PxA, PxB, PxC e PxD são multiplexadas com as


travas de dados PORT. Os bits TRIS associados devem ser
apagados para configurar os pinos PxA, PxB, PxC e PxD
como saídas.

FIGURA 14-10: EXEMPLO DE APLICAÇÃO DE PONTE CHEIA

V+

FET QA QC FET
Motorista Motorista

PxA

Carga
PxB
FET FET
Motorista Motorista

PxC
QB QD

V-
PxD

DS41412B - página 192 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
FIGURA 14-11: EXEMPLO DE SAÍDA PWM DE PONTE COMPLETA
Modo Avançar
Período

PxA(2)
Largura do pulso

PxB(2)

PxC(2)

PxD(2)

(1) (1)

Modo reverso

Período

Largura do pulso

PxA(2)

PxB(2)

PxC(2)

PxD(2)
(1) (1)

Nota 1: Neste momento, o registro TMRx é igual ao registro PRx.


2: O sinal de saída é mostrado como ativo-alto.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 193


PIC18 (L) F2X / 4XK22
14.4.2.1 Mudança de direção no modo de ponte O modo Full-Bridge não fornece atraso de banda morta.
completa Como uma saída é modulada por vez, o atraso da banda
morta geralmente não é necessário. Existe uma situação em
No modo Full-Bridge, o bit PxM1 no registro CCPxCON
que o atraso da banda morta é necessário. Essa situação
permite que os usuários controlem a direção direta /
ocorre quando as duas condições a seguir são verdadeiras:
reversa. Quando o firmware do aplicativo muda este bit
de controle de direção, o módulo mudará para a nova 1. A direção da saída PWM muda quando o ciclo de
direção no próximo ciclo PWM. trabalho da saída está em ou próximo a 100%.
2. O tempo de desligamento da chave liga / desliga, incluindo
Uma mudança de direção é iniciada no software
o dispositivo de força e o circuito do driver, é maior do
alterando o bit PxM1 do registro CCPxCON. A seguinte
que o tempo de ligação.
sequência ocorre quatro ciclos do temporizador antes do
final do período PWM atual: A Figura 14-13 mostra um exemplo da direção do PWM
mudando de avanço para reverso, em um ciclo de trabalho
• As saídas moduladas (PxB e PxD) são colocadas em
próximo de 100%. Neste exemplo, no tempo t1, as saídas
seu estado inativo.
PxA e PxD tornam-se inativas, enquanto a saída PxC torna-se
• As saídas não moduladas associadas (PxA e PxC)
ativa. Como o tempo de desligamento dos dispositivos de
são comutadas para conduzir na direção oposta.
energia é maior do que o tempo de ligação, uma corrente
direta fluirá pelos dispositivos de energia QC e QD (consulte
• A modulação PWM é retomada no início do próximo a Figura 14-10) durante 't'. O mesmo fenômeno ocorrerá
período. para alimentar os dispositivos QA e QB para mudança de
Consulte a Figura 14-12 para ver uma ilustração dessa sequência. direção PWM de reverso para direto.

Se mudar a direção do PWM no ciclo de trabalho alto for


necessário para uma aplicação, duas soluções possíveis para
eliminar a corrente direta são:

1. Reduza o ciclo de trabalho PWM por um período de


PWM antes de mudar de direção.
2. Use drivers de switch que possam desligá-los
mais rápido do que ligá-los.
Podem existir outras opções para evitar a corrente
contínua.

FIGURA 14-12: EXEMPLO DE MUDANÇA DE DIREÇÃO PWM

Período(1) Período
Sinal

PxA (ativo-alto)

PxB (Ativo-Alto)
Largura do pulso

PxC (Ativo-Alto)

(2)
PxD (Ativo-Alto)

Largura do pulso

Nota 1: O bit de direção PxM1 do registro CCPxCON é escrito a qualquer momento durante o ciclo PWM.
2: Ao mudar de direção, os sinais PxA e PxC mudam antes do final do ciclo PWM atual. o
sinais PxB e PxD modulados estão inativos neste momento. A duração deste tempo é (TimerX Prescale) / FOSC,
onde TimerX é Timer2, Timer4 ou Timer6.

DS41412B-page 194 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
FIGURA 14-13: EXEMPLO DE MUDANÇA DE DIREÇÃO PWM NO CICLO DE SERVIÇO PRÓXIMO DE 100%

Período de Avanço t1 Período reverso

PxA

PxB
PW

PxC

PxD PW
TSOBRE

Switch Externo C
TDESLIGADO

Switch Externo D

Potencial T = TDESLIGADO - TSOBRE


Corrente de disparo

Nota 1: Todos os sinais são mostrados como ativo-alto.

2: TSOBRE é o atraso na ativação do botão liga / desliga QC e seu driver.


3: TDESLIGADO é o atraso de desligamento do interruptor de alimentação QD e seu driver.

14.4.3 MODO DE DESLIGAMENTO de cada par de pinos é determinado pelos bits PSSxAC <1: 0>
AUTOMÁTICO PWM AUMENTADO e PSSxBD <1: 0> do registro ECCPxAS. Cada par de pinos
pode ser colocado em um dos três estados:
O modo PWM suporta um modo de desligamento automático
que desabilita as saídas PWM quando ocorre um evento de • Lógica do drive '1 '

desligamento externo. O modo de desligamento automático • Lógica do drive '0 '


coloca os pinos de saída PWM em um estado predeterminado. • Tri-state (alta impedância)
Este modo é usado para ajudar a evitar que o PWM danifique o
aplicativo.

As fontes de desligamento automático são selecionadas Nota 1: A condição de desligamento automático é um

usando os bits CCPxAS <2: 0> do registro ECCPxAS. Um sinal baseado em nível, não um sinal baseado em

evento de desligamento pode ser gerado por: borda. Enquanto o nível estiver presente, a
redução automática persistirá.
• Uma lógica '0 ' no pino INT
2: A gravação no bit CCPxASE é desativada durante
• Comparador Cx
uma condição de desligamento automático
• Definir o bit CCPxASE no firmware persiste.
Uma condição de desligamento é indicada pelo bit CCPxASE
3: Assim que a condição de desligamento
(Status do evento de desligamento automático) do registro
automático for removida e o PWM reiniciado (por
ECCPxAS. Se o bit for um '0 ', os pinos PWM estão operando
meio do firmware ou reinício automático), o sinal
normalmente. Se o bit for um '1 ', as saídas PWM estão no estado
do PWM sempre reiniciará no início do próximo
de desligamento.
período de PWM.
Quando ocorre um evento de desligamento, duas coisas acontecem:

O bit CCPxASE é definido como '1 '. O CCPxASE permanecerá definido


até que seja limpo no firmware ou que ocorra um reinício automático
(consulte Seção 14.4.4 “Modo de reinicialização automática”)

Os pinos PWM habilitados são colocados de forma assíncrona em


seus estados de desligamento. Os pinos de saída PWM são
agrupados em pares [PxA / PxC] e [PxB / PxD]. O Estado

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 195


PIC18 (L) F2X / 4XK22
FIGURA 14-14: PWM AUTO-SHUTDOWN COM FIRMWARE RESTART (PXRSEN = 0)

Pulso ausente
Pulso ausente
(Desligamento automático)
(CCPxASE não está claro)

Cronômetro Cronômetro Cronômetro Cronômetro Cronômetro


Transbordar Transbordar Transbordar Transbordar Transbordar

Período PWM
Atividade PWM

Começar de
Período PWM

Evento de desligamento

Bit CCPxASE
PWM
Desligar Currículos
Desligar
Evento ocorre Limpeza de eventos CCPxASE
Apagado por
Firmware

14.4.4 MODO DE REINICIALIZAÇÃO AUTOMÁTICA Se o reinício automático estiver habilitado, o bit CCPxASE
permanecerá definido enquanto a condição de desligamento
O Enhanced PWM pode ser configurado para reiniciar
automático estiver ativa. Quando a condição de desligamento
automaticamente o sinal PWM assim que a condição de
automático for removida, o bit CCPxASE será apagado por meio do
autoshutdown for removida. O reinício automático é
hardware e a operação normal será retomada.
habilitado pela definição do bit PxRSEN no registro
PWMxCON.

FIGURA 14-15: DESLIGAMENTO AUTOMÁTICO PWM COM REINICIALIZAÇÃO AUTOMÁTICA (PXRSEN = 1)

Pulso ausente
Pulso ausente
(Desligamento automático)
(CCPxASE não está claro)

Cronômetro Cronômetro Cronômetro Cronômetro Cronômetro


Transbordar Transbordar Transbordar Transbordar Transbordar

Período PWM
Atividade PWM

Começar de

Período PWM

Evento de desligamento

Bit CCPxASE
PWM
Desligar Currículos
Evento ocorre
Desligar CCPxASE
Limpeza de eventos
Apagado por
Hardware

DS41412B-page 196 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
14.4.5 MODO DE ATRASO DE BANDA MORTA FIGURA 14-16: EXEMPLO DE MEIO-
PROGRAMÁVEL PONTE DE SAÍDA PWM
Em aplicações Half-Bridge onde todos os interruptores de Período Período
energia são modulados na frequência PWM, os interruptores de
Largura do pulso
energia normalmente requerem mais tempo para desligar do
que para ligar. Se as chaves de alimentação superior e inferior PxA(2)
forem ligadas ao mesmo tempo (uma ligada e a outra desligada), td
ambas as chaves podem ficar ligadas por um curto período de
td
tempo até que uma desligue completamente. Durante este breve PxB(2)
intervalo, uma corrente muito alta (corrente de tiro) fluirá através
de ambos os interruptores de energia, causando um curto na (1) (1) (1)
alimentação da ponte. Para evitar que esta corrente de disparo
potencialmente destrutiva flua durante a comutação, ligar td = Atraso de banda morta
qualquer um dos interruptores normalmente é atrasado para
permitir que o outro interruptor desligue completamente. Nota 1: Neste momento, o registro TMRx é igual ao
Registro PRx.

No modo Half-Bridge, um atraso de banda morta digitalmente 2: Os sinais de saída são mostrados como ativo-alto.

programável está disponível para evitar que a corrente direta


destrua os interruptores de energia da ponte. O atraso ocorre na
transição do sinal do estado não ativo para o estado ativo.
Consulte a Figura 14-16 para ilustração. Os sete bits inferiores do
registro PWMxCON associado (Registro 14-6) define o período de
atraso em termos de ciclos de instrução do microcontrolador (TCY
ou 4 TOSC)

FIGURA 14-17: EXEMPLO DE APLICAÇÕES DE MEIA PONTE


V+
Circuito de meia ponte padrão (“Push-Pull”)

FET
Motorista
+
PxA V
-

Carga
FET
Motorista
+
PxB V
-

V-

- 2010 Microchip Technology Inc. Preliminares DS41412B - página 197


PIC18 (L) F2X / 4XK22
14.4.6 MODO DE DIREÇÃO PWM FIGURA 14-18: DIREÇÃO SIMPLIFICADA
No modo Saída Única, a direção PWM permite que qualquer DIAGRAMA DE BLOCO
um dos pinos PWM seja o sinal modulado. Além disso, o STRxA
mesmo sinal PWM pode estar disponível simultaneamente
em vários pinos. Sinal PxA Pino PxA
CCPxM1 1
Uma vez que o modo de saída única é selecionado
(CCPxM <3: 2> = 11 e PxM <1: 0> = 00 do registro Dados PORT
CCPxCON), o firmware do usuário pode trazer o mesmo 0
TRIS
sinal PWM para um, dois, três ou quatro pinos de saída, STRxB
definindo os bits de habilitação de direção apropriados
(STRxA, STRxB, STRxC e / ou STRxD) do registro Pino PxB
CCPxM0 1
PSTRxCON, como mostrado na Tabela 14-13.
Dados PORT
0
TRIS
Observação: Os bits TRIS associados devem ser configurados STRxC
para saída ('0 ') para habilitar o driver de saída do
pino para ver o sinal PWM no pino. 1 Pino PxC
CCPxM1
Enquanto o modo de direção PWM está ativo, os bits CCPxM Dados PORT
<1: 0> do registro CCPxCON selecionam a polaridade de
0
TRIS
saída PWM para os pinos PxD, PxC, PxB e PxA. STRxD
A operação de desligamento automático PWM também se aplica
ao modo de direção PWM, conforme descrito em Seção 14.4.3 1 Pino PxD
CCPxM0
“Modo de desligamento automático PWM aprimorado”. Um
evento autoshutdown afetará apenas os pinos que possuem Dados PORT
0
saídas PWM habilitadas. TRIS

Nota 1: As saídas da porta são configuradas como mostrado quando


os bits de registro CCPxCON PxM <1: 0> = 00
e CCPxM <3: 2> = 11
2: Uma única saída PWM requer configuração de pelo menos
um dos bits STRx.

14.4.6.1 Sincronização de direção


O bit STRxSYNC do registro PSTRxCON dá ao usuário
duas seleções de quando o evento de direção
ocorrerá. Quando o bit STRxSYNC é '0 ', o evento de
direcionamento acontecerá no final da instrução que
escreve no registrador PSTRxCON. Nesse caso, o sinal
de saída nos pinos PxA, PxB, PxC e PxD pode ser uma
forma de onda PWM incompleta. Esta operação é útil
quando o firmware do usuário precisa remover
imediatamente um sinal PWM do pino.
Quando o bit STRxSYNC é '1 ', a atualização efetiva da
direção acontecerá no início do próximo período de
PWM. Nesse caso, ligar / desligar a saída PWM sempre
produzirá uma forma de onda PWM completa.
As Figuras 14-19 e 14-20 ilustram os diagramas de tempo
da direção PWM dependendo da configuração de
STRxSYNC.

DS41412B - página 198 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
14.4.7 CONSIDERAÇÕES DE INICIALIZAÇÃO os modos devem ser habilitados no modo de saída
adequado e completar um ciclo PWM completo antes de
Quando qualquer modo PWM é usado, o hardware do
habilitar os drivers de saída de pinos PWM. A conclusão de
aplicativo deve usar os resistores pull-up e / ou pull-down
um ciclo PWM completo é indicada pelo bit TMRxIF do
externos apropriados nos pinos de saída PWM.
registro PIR1, PIR2 ou PIR5 sendo definido quando o
Os bits CCPxM <1: 0> do registro CCPxCON permitem que o segundo período PWM começa.
usuário escolha se os sinais de saída PWM são ativo alto ou
ativo baixo para cada par de pinos de saída PWM (PxA / PxC Observação: Quando o microcontrolador é liberado da

e PxB / PxD). As polaridades de saída PWM devem ser reinicialização, todos os pinos de E / S estão no estado

selecionadas antes que os drivers de saída de pinos PWM de alta impedância. Os circuitos externos devem

sejam habilitados. Mudando a polaridade manter os dispositivos da chave liga / desliga no

a configuração enquanto os drivers de saída do pino PWM estado Desligado até que o microcontrolador acione

estão habilitados não é recomendada, pois pode resultar em os pinos de E / S com os níveis de sinal adequados ou

danos aos circuitos do aplicativo. ative a (s) saída (s) PWM.

As travas de saída PxA, PxB, PxC e PxD podem não estar nos
estados adequados quando o módulo PWM é inicializado.
Habilitar os drivers de saída de pinos PWM ao mesmo tempo
que os modos PWM aprimorados pode causar danos ao
circuito de aplicação. O PWM aprimorado

FIGURA 14-19: EXEMPLO DE EVENTO DE DIREÇÃO NO FIM DA INSTRUÇÃO (STRxSYNC = 0)

Período PWM

PWM

STRx

P1 <D: A> Dados PORT Dados PORT

P1n = PWM

FIGURA 14-20: EXEMPLO DE EVENTO DE DIREÇÃO NO INÍCIO DA INSTRUÇÃO


(STRxSYNC = 1)

PWM

STRx

P1 <D: A> Dados PORT Dados PORT

P1n = PWM

- 2010 Microchip Technology Inc. Preliminares DS41412B - página 199


PIC18 (L) F2X / 4XK22

TABELA 14-13: REGISTROS ASSOCIADOS COM PWM MELHORADO


Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

ECCP1AS CCP1ASE CCP1AS <2: 0> P1SSAC <1: 0> P1SSBD <1: 0> 205
CCP1CON P1M <1: 0> DC1B <1: 0> CCP1M <3: 0> 201
ECCP2AS CCP2ASE CCP2AS <2: 0> P2SSAC <1: 0> P2SSBD <1: 0> 205
CCP2CON P2M <1: 0> DC2B <1: 0> CCP2M <3: 0> 201
ECCP3AS CCP3ASE CCP3AS <2: 0> P3SSAC <1: 0> P3SSBD <1: 0> 205
CCP3CON P3M <1: 0> DC3B <1: 0> CCP3M <3: 0> 201
CCPTMRS0 C3TSEL <1: 0> - C2TSEL <1: 0> - C1TSEL <1: 0> 204
INTCON GIE / GIEH PEIE / GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF 115
IPR1 - UM MERGULHO RCxIP TXxIP SSPIP CCP1IP TMR2IP TMR1IP 127
IPR2 OSCFIP C1IP C2IP EEIP BCL1IP HLVDIP TMR3IP CCP2IP 128
IPR4 - - - - - CCP5IP CCP4IP CCP3IP 130
PIE1 - ADIE RCxIE TXxIE SSPIE CCP1IE TMR2IE TMR1IE 123
PIE2 OSCFIE C1IE C2IE EEIE BCLIE HLVDIE TMR3IE CCP2IE 124
PIE4 - - - - - CCP5IE CCP4IE CCP3IE 126
PIR1 - ADIF RCxIF TXxIF SSPIF CCP1IF TMR2IF TMR1IF 118
PIR2 OSCFIF C1IF C2IF EEIF BCLIF HLVDIF TMR3IF CCP2IF 119
PIR4 - - - - - CCP5IF CCP4IF CCP3IF 121
PMD0 UART2MD UART1MD TMR6MD TMR5MD TMR4MD TMR3MD TMR2MD TMR1MD 56
PMD1 MSSP2MD MSSP1MD - CCP5MD CCP4MD CCP3MD CCP2MD CCP1MD 57
PR2 Registro de Período Timer2 -
PR4 Registro de período do cronômetro 4 -
PR6 Registro de período do cronômetro 6 -
PSTR1CON - - - STR1SYNC STR1D STR1C STR1B STR1A 206
PSTR2CON - - - STR2SYNC STR2D STR2C STR2B STR2A 206
PSTR3CON - - - STR3SYNC STR3D STR3C STR3B STR3A 206
PWM1CON P1RSEN P1DC <6: 0> 206
PWM2CON P2RSEN P2DC <6: 0> 206
PWM3CON P3RSEN P3DC <6: 0> 206
T2CON - T2OUTPS <3: 0> TMR2ON T2CKPS <1: 0> 170
T4CON - T4OUTPS <3: 0> TMR4ON T4CKPS <1: 0> 170
T6CON - T6 SAÍDAS <3: 0> TMR6ON T6CKPS <1: 0> 170
TMR2 Registro do Módulo Timer2 -
TMR4 Registro do Módulo Timer4 -
TMR6 Registro do Módulo Timer6 -
TRISA TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 154
TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 154
TRISC TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 154
TRISD(1) TRISD7 TRISD6 TRISD5 TRISD4 TRISD3 TRISD2 TRISD1 TRISD0 154
TRISE WPUE3 - - - - TRISE2(1) TRISE1(1) TRISE0(1) 154
Lenda: - = Localização não implementada, lida como '0 '. Os bits sombreados não são usados pelo modo de captura.
Nota 1: Esses registros / bits estão disponíveis em dispositivos PIC18 (L) F4XK22.

DS41412B-page 200 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

TABELA 14-14: REGISTROS DE CONFIGURAÇÃO ASSOCIADOS À CAPTURA


Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

CONFIG3H MCLRE - P2BMX T3CMX HFOFST CCP3MX PBADEN CCP2MX 354


Lenda: - = Localização não implementada, lida como '0 '. Os bits sombreados não são usados pelo modo de captura.

REGISTRADOR 14-1: CCPxCON: REGISTRO DE CONTROLE CCPx PADRÃO

U-0 U-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0

- - DCxB <1: 0> CCPxM <3: 0>


bit 7 bit 0

Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'

u = Bit está inalterado '1' = x = bit é desconhecido - n / n = Valor em POR e BOR / Valor em todas as outras reinicializações

Bit está definido '0' = bit é apagado

bit 7-6 Não utilizado

bit 5-4 DCxB <1: 0>: PWM Duty Cycle bits menos significativos
Modo de captura:
Não utilizado

Modo de comparação:
Não utilizado

Modo PWM:
Esses bits são os dois LSbs do ciclo de trabalho PWM. Os oito MSbs são encontrados em CCPRxL.
bit 3-0 CCPxM <3: 0>: Bits de seleção do modo ECCPx
0000 = Capture / Compare / PWM off (reinicia o módulo)
0001 = Reservado
0010 = Modo de comparação: alternar a saída na correspondência
0011 = Reservado

0100 = Modo de captura: cada borda descendente


0101 = Modo de captura: cada borda ascendente
0110 = Modo de captura: a cada 4ª borda ascendente
0111 = Modo de captura: a cada 16 borda ascendente

1000 = Modo de comparação: define a saída na comparação (o pino CCPx está definido, CCPxIF é definido)
1001 = Modo de comparação: limpar a saída na comparação (o pino CCPx é limpo, CCPxIF é definido)
1010 = Modo de comparação: gera interrupção de software na correspondência de comparação (o pino CCPx não é afetado,
CCPxIF está definido)

1011 = Modo de comparação: acionador de evento especial (o pino CCPx não é afetado, o CCPxIF está definido)
TimerX (selecionado por bits CxTSEL) é reiniciado
ADON está definido, iniciando a conversão A / D se o módulo A / D estiver habilitado(1)
11xx =: Modo PWM
Nota 1: Este recurso está disponível apenas no CCP5.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 201


PIC18 (L) F2X / 4XK22

REGISTRO 14-2: CCPxCON: REGISTRO DE CONTROLE DE CCPx AUMENTADO


R / x-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0

PxM <1: 0> DCxB <1: 0> CCPxM <3: 0>


bit 7 bit 0

Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'

u = Bit está inalterado '1' = x = bit é desconhecido - n / n = Valor em POR e BOR / Valor em todas as outras reinicializações

Bit está definido '0' = bit é apagado

bit 7-6 PxM <1: 0>: Bits de configuração de saída PWM aprimorados
Se CCPxM <3: 2> = 00, 01, 10: (Modos de captura / comparação)
xx = PxA atribuído como entrada de captura / comparação; PxB, PxC, PxD atribuídos como pinos de porta

Módulos ECCP Half-Bridge(1):


Se CCPxM <3: 2> = 11: (Modos PWM)
0x = Saída única; PxA modulado; PxB atribuído como pino de porta
1x = Saída de meia ponte; PxA, PxB modulado com controle de banda morta

Módulos ECCP Full-Bridge(1):


Se CCPxM <3: 2> = 11: (Modos PWM)
00 = Saída única; PxA modulado; PxB, PxC, PxD atribuídos como pinos de porta
01 = Saída Full-Bridge para a frente; PxD modulado; PxA ativo; PxB, PxC inativo
10 = Saída de meia ponte; PxA, PxB modulado com controle de banda morta; PxC, PxD atribuído como porta
alfinetes

11 = Saída Full-Bridge reversa; PxB modulado; PxC ativo; PxA, PxD inativo
bit 5-4 DCxB <1: 0>: PWM Duty Cycle bits menos significativos
Modo de captura:
Não utilizado

Modo de comparação:
Não utilizado

Modo PWM:
Esses bits são os dois LSbs do ciclo de trabalho PWM. Os oito MSbs são encontrados em CCPRxL.
Nota 1: Consulte a Tabela 14-1 para determinar os ECCPs de ponte completa e meia ponte para o dispositivo em uso.

DS41412B-page 202 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
REGISTRADOR 14-2: CCPxCON: REGISTRO DE CONTROLE DE CCPx APRIMORADO (CONTINUAÇÃO)
bit 3-0 CCPxM <3: 0>: Bits de seleção do modo ECCPx
0000 = Capture / Compare / PWM off (reinicia o módulo)
0001 = Reservado
0010 = Modo de comparação: alternar a saída na correspondência
0011 = Reservado

0100 = Modo de captura: cada borda descendente


0101 = Modo de captura: cada borda ascendente
0110 = Modo de captura: a cada 4ª borda ascendente
0111 = Modo de captura: a cada 16 borda ascendente

1000 = Modo de comparação: define a saída na comparação (o pino CCPx está definido, CCPxIF é definido)
1001 = Modo de comparação: limpar a saída na comparação (o pino CCPx é limpo, CCPxIF é definido)
1010 = Modo de comparação: gera interrupção de software na correspondência de comparação (o pino CCPx não é afetado,
CCPxIF está definido)
1011 = Modo de comparação: acionador de evento especial (o pino CCPx não é afetado, o CCPxIF está definido)
TimerX é reiniciado

Módulos ECCP Half-Bridge(1):


1100 = Modo PWM: PxA ativo-alto; PxB ativo-alto
1101 = Modo PWM: PxA ativo-alto; PxB ativo-baixo
1110 = Modo PWM: PxA ativo-baixo; PxB ativo-alto
1111 = Modo PWM: PxA ativo-baixo; PxB ativo-baixo

Módulos ECCP Full-Bridge(1):


1100 = Modo PWM: PxA, PxC ativo-alto; PxB, PxD ativo-alto
1101 = Modo PWM: PxA, PxC ativo-alto; PxB, PxD ativo-baixo
1110 = Modo PWM: PxA, PxC ativo-baixo; PxB, PxD ativo-alto
1111 = Modo PWM: PxA, PxC ativo-baixo; PxB, PxD ativo-baixo
Nota 1: Consulte a Tabela 14-1 para determinar os ECCPs de ponte completa e meia ponte para o dispositivo em uso.

- 2010 Microchip Technology Inc. Preliminares DS41412B-página 203


PIC18 (L) F2X / 4XK22

REGISTRO 14-3: CCPTMRS0: REGISTRO DE CONTROLE DE SELEÇÃO DE TEMPORIZADOR PWM 0

R / W-0 R / W-0 U-0 R / W-0 R / W-0 U-0 R / W-0 R / W-0


C3TSEL <1: 0> - C2TSEL <1: 0> - C1TSEL <1: 0>
bit 7 bit 0

Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'

u = Bit está inalterado '1' = x = bit é desconhecido - n / n = Valor em POR e BOR / Valor em todas as outras redefinições

Bit está definido '0' = bit é apagado

bit 7-6 C3TSEL <1: 0>: Bits de seleção do temporizador CCP3


00 = CCP3 - Os modos de captura / comparação usam Timer1, os modos PWM usam Timer2
01 = CCP3 - Os modos de captura / comparação usam Timer3, os modos PWM usam Timer4
10 = CCP3 - Os modos de captura / comparação usam Timer5, os modos PWM usam Timer6
11 = Reservado
bit 5 Não utilizado

bit 4-3 C2TSEL <1: 0>: Bits de seleção do temporizador CCP2


00 = CCP2 - Os modos de captura / comparação usam Timer1, os modos PWM usam Timer2
01 = CCP2 - Os modos de captura / comparação usam Timer3, os modos PWM usam Timer4
10 = CCP2 - Os modos de captura / comparação usam Timer5, os modos PWM usam Timer6
11 = Reservado
bit 2 Não utilizado

bit 1-0 C1TSEL <1: 0>: Bits de seleção do temporizador CCP1


00 = CCP1 - Os modos de captura / comparação usam Timer1, os modos PWM usam Timer2
01 = CCP1 - Os modos de captura / comparação usam Timer3, os modos PWM usam Timer4
10 = CCP1 - Os modos de captura / comparação usam Timer5, os modos PWM usam Timer6
11 = Reservado

REGISTRO 14-4: CCPTMRS1: REGISTRO DE CONTROLE DE SELEÇÃO DE TEMPORIZADOR PWM 1

U-0 U-0 U-0 U-0 R / W-0 R / W-0 R / W-0 R / W-0

- - - - C5TSEL <1: 0> C4TSEL <1: 0>


bit 7 bit 0

Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'

u = Bit está inalterado '1' = x = bit é desconhecido - n / n = Valor em POR e BOR / Valor em todas as outras redefinições

Bit está definido '0' = bit é apagado

bit 7-4 Não implementado: Lido como '0 '

bit 3-2 C5TSEL <1: 0>: Bits de seleção do temporizador CCP5


00 = CCP5 - Os modos de captura / comparação usam Timer1, os modos PWM usam Timer2
01 = CCP5 - Os modos de captura / comparação usam Timer3, os modos PWM usam Timer4
10 = CCP5 - Os modos de captura / comparação usam Timer5, os modos PWM usam Timer6
11 = Reservado
bit 1-0 C4TSEL <1: 0>: Bits de seleção do temporizador CCP4
00 = CCP4 - Os modos de captura / comparação usam Timer1, os modos PWM usam Timer2
01 = CCP4 - Os modos de captura / comparação usam Timer3, os modos PWM usam Timer4
10 = CCP4 - Os modos de captura / comparação usam Timer5, os modos PWM usam Timer6
11 = Reservado

DS41412B-page 204 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

REGISTRADOR 14-5: ECCPxAS: REGISTRO DE CONTROLE DE DESLIGAMENTO AUTOMÁTICO CCPX

R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0

CCPxASE CCPxAS <2: 0> PSSxAC <1: 0> PSSxBD <1: 0>
bit 7 bit 0

Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'

u = Bit está inalterado '1' = x = bit é desconhecido - n / n = Valor em POR e BOR / Valor em todas as outras redefinições

Bit está definido '0' = bit é apagado

bit 7 CCPxASE: Bit de status de evento de desligamento automático CCPx


se PxRSEN = 1;
1 = Ocorreu um evento de desligamento automático; O bit CCPxASE será apagado automaticamente quando o evento for embora;
Saídas CCPx em estado de desligamento
0 = As saídas CCPx estão operando
se PxRSEN = 0;
1 = Ocorreu um evento de desligamento automático; o bit deve ser apagado no software para reiniciar o PWM;
Saídas CCPx em estado de desligamento
0 = As saídas CCPx estão operando
bit 6-4 CCxPAS <2: 0>: Bits de seleção da fonte de desligamento automático CCPx (1)
000 = O desligamento automático está desativado
001 = Comparador C1 - saída alta causará evento de desligamento
010 = Comparador C2 - saída alta causará evento de desligamento
011 = Tanto o Comparador C1 quanto C2 - saída alta causará evento de desligamento
100 = Pino FLT0 - nível baixo causará evento de desligamento
101 = Pino FLT0 ou Comparador C1 - nível baixo causará evento de desligamento
110 = Pino FLT0 ou Comparador C2 - nível baixo causará evento de desligamento
111 = Pino FLT0 ou comparadores C1 ou C2 - nível baixo causará evento de desligamento

bit 3-2 PSSxAC <1: 0>: Pinos PxA e PxC bits de controle de estado de desligamento
00 = Direcione os pinos PxA e PxC para '0 '
01 = Direcione os pinos PxA e PxC para '
1 '1x = Pinos PxA e PxC tri-state
bit 1-0 PSSxBD <1: 0>: Pinos PxB e PxD bits de controle de estado de desligamento
00 = Direcione os pinos PxB e PxD para '0 '
01 = Direcione os pinos PxB e PxD para
'1 '1x = Pinos PxB e PxD tri-state

Nota 1: Se os bits C1SYNC ou C2SYNC no registro CM2CON1 estiverem habilitados, o desligamento será atrasado pelo
Timer1.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 205


PIC18 (L) F2X / 4XK22

REGISTRO 14-6: PWMxCON: REGISTRO DE CONTROLE DE PWM MELHORADO

R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0

PxRSEN PxDC <6: 0>


bit 7 bit 0

Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'

u = Bit está inalterado '1' = x = bit é desconhecido - n / n = Valor em POR e BOR / Valor em todas as outras redefinições

Bit está definido '0' = bit é apagado

bit 7 PxRSEN: Bit de habilitação de reinicialização PWM

1 = Após o desligamento automático, o bit CCPxASE limpa automaticamente assim que o evento de desligamento for
longe; o PWM reinicia automaticamente
0 = Após o desligamento automático, CCPxASE deve ser limpo no software para reiniciar o PWM

bit 6-0 PxDC <6: 0>: PWM Delay Count bits PxDCx = Número de FOSC/ 4 (4 * TOSC) circula entre o horário
programado quando um sinal PWM
deve transição ativa e o real hora em que faz a transição ativa

REGISTRADOR 14-7: PSTRxCON: REGISTRO DE CONTROLE DE DIREÇÃO PWM(1)

U-0 U-0 U-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-1

- - - STRxSYNC STRxD STRxC STRxB STRxA


bit 7 bit 0

Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'

u = Bit está inalterado '1' = x = bit é desconhecido - n / n = Valor em POR e BOR / Valor em todas as outras redefinições

Bit está definido '0' = bit é apagado

bit 7-5 Não implementado: Lido como '0 '

bit 4 STRxSYNC: Bit de sincronização de direção

1 = A atualização da direção de saída ocorre no próximo período PWM


0 = A atualização da direção de saída ocorre no início do limite do ciclo de instrução
bit 3 STRxD: Bit D de habilitação da direção
1 = O pino PxD tem a forma de onda PWM com controle de polaridade de CCPxM <1: 0>
0 = O pino PxD é atribuído ao pino da porta

bit 2 STRxC: Bit C de habilitação da direção


1 = O pino PxC tem a forma de onda PWM com controle de polaridade de CCPxM <1: 0>
0 = O pino PxC é atribuído ao pino da porta

bit 1 STRxB: Bit B de habilitação da direção


1 = O pino PxB tem a forma de onda PWM com controle de polaridade de CCPxM <1: 0>
0 = O pino PxB é atribuído ao pino da porta

bit 0 STRxA: Bit A de habilitação da direção


1 = O pino PxA tem a forma de onda PWM com controle de polaridade de CCPxM <1: 0>
0 = O pino PxA é atribuído ao pino da porta

Nota 1: O modo de direção PWM está disponível apenas quando os bits de registro CCPxCON CCPxM <3: 2> = 11 e PxM
<1: 0> = 00

DS41412B - página 206 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

15.0 MÓDULO DE PORTA SERIAL A interface SPI oferece suporte aos seguintes modos e
recursos:
SÍNCRONA MASTER (MSSP1
E MSSP2) • Modo Master
• Modo escravo

15.1 Visão geral do módulo Master SSPx • Clock Parity


(MSSPx) • Slave Select Synchronization (Slave mode apenas)
• Conexão em cadeia de dispositivos escravos
O módulo Master Synchronous Serial Port (MSSPx) é uma
interface serial útil para comunicação com outros dispositivos A Figura 15-1 é um diagrama de blocos do módulo de
periféricos ou microcontroladores. Esses dispositivos periféricos interface SPI.
podem ser EEPROMs seriais, registradores de deslocamento,
drivers de vídeo, conversores A / D, etc. O módulo MSSPx pode
operar em um de dois modos:

• Interface Periférica Serial (SPI)


• Circuito Inter-integrado (I2C ™)

FIGURA 15-1: DIAGRAMA DE BLOCO MSSPx (MODO SPI)

Barramento de Dados

Leitura Escrever

SSPxBUF Reg

SDIx
SSPxSR Reg
SFAZx bit 0 Mudança

Relógio

WLx Controle SSx 2 (CKP, CKE)


Permitir Seleção de Relógio

Borda
Selecione

SSPxM <3: 0>

4
( Saída TMR2 )
2
SCKx
Borda Prescaler TOSC
Selecione 4, 16, 64

Taxa de transmissão

Gerador
Bit TRIS (SSPxADD)

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 207


PIC18 (L) F2X / 4XK22
O eu2A interface C suporta os seguintes modos e O PIC18 (L) F2X / 4XK22 tem dois módulos MSSP,
recursos: MSSP1 e MSSP2, cada módulo operando
• Modo Master
independentemente do outro.

• Modo escravo
• Byte NACKing (modo Slave) Nota 1: Em dispositivos com mais de um módulo
• Suporte Multi-master limitado MSSP, é muito importante prestar atenção aos
• endereçamento de 7 e 10 bits nomes de registro SSPxCONx. Os registros
SSP1CON1 e SSP1CON2 controlam diferentes
• Iniciar e parar interrupções
aspectos operacionais do mesmo módulo,
• Máscara de interrupção
enquanto SSP1CON1 e SSP2CON1 controlam
• Alongamento do relógio
os mesmos recursos para dois módulos
• Detecção de colisão de ônibus diferentes.
• Correspondência de endereço de chamada geral
2: Ao longo deste seção, genérico
• Máscara de endereço referências a um módulo MSSP em qualquer um
• Modos de retenção de endereço e retenção de dados de seus modos operacionais podem ser

• Tempos de espera SDAx selecionáveis


interpretadas como sendo igualmente aplicáveis
a MSSP1 ou MSSP2. Nomes de registro, sinais de
A Figura 15-2 é um diagrama de blocos do I2Módulo de
módulo de E / S e nomes de bits podem usar o
interface C no modo Master. A Figura 15-3 é um diagrama do
designador genérico 'x' para indicar o uso de um
I2Módulo de interface C em modo Slave.
numeral para distinguir um módulo específico
quando necessário.

FIGURA 15-2: DIAGRAMA DE BLOCO MSSPx (I2MODO C ™ MASTER)

interno
Barramento de Dados
[SSPxM 3: 0]
Leitura Escrever

SSPxBUF Taxa de transmissão

Gerador
(SSPxADD)
SDAx Mudança

SDAx em Relógio

SSPxSR
Clock Arbitrate / BCOL Detect

MSb LSb
Clock Cntl

(Hold off clock source)


Habilitar recepção (RCEN)

Iniciar bit, parar


bit, reconhecer
Gerar (SSPxCON2)
SCLx

Iniciar detecção de bits,

Detecção de bit de parada

SCLx em Detecção de colisão de gravação Definir / redefinir: S, P, SSPxSTAT, WCOL, SSPxOV


Arbitragem de Relógio Redefinir SEN, PEN (SSPxCON2)
Colisão de ônibus Contador estadual para Definir SSPxIF, BCLxIF
fim do XMIT / RCV
Detecção de correspondência de endereço

DS41412B-page 208 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
FIGURA 15-3: DIAGRAMA DE BLOCO MSSPx (I2MODO ESCRAVO C ™)

interno
Barramento de Dados

Leitura Escrever

SSPxBUF Reg
SCLx

Mudança

Relógio

SSPxSR Reg
SDAx MSb LSb

SSPxMSK Reg

Detecção de correspondência Addr Match

SSPxADD Reg

Começar e Definir, redefinir

Detecção de bit de parada Bits S, P


(SSPxSTAT Reg)

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 209


PIC18 (L) F2X / 4XK22
15.2 Visão geral do modo SPI Durante cada ciclo de clock do SPI, ocorre uma transmissão de
dados full-duplex. Isso significa que, ao mesmo tempo, o
O barramento da Interface Periférica Serial (SPI) é um dispositivo escravo está enviando o MSb de seu registrador de
barramento de comunicação de dados seriais síncrono que deslocamento e o dispositivo mestre está lendo esse bit dessa
opera no modo Full-Duplex. Os dispositivos se comunicam mesma linha e salvando-o como LSb de seu registrador de
em um ambiente mestre / escravo, onde o dispositivo mestre deslocamento.
inicia a comunicação. Um dispositivo escravo é controlado
Após 8 bits terem sido deslocados, o mestre e o escravo
por meio de um chip select conhecido como Slave Select.
trocaram os valores de registro.
O barramento SPI especifica quatro conexões de sinal:
Se houver mais dados para trocar, os registradores de deslocamento
• Relógio serial (SCKx) são carregados com novos dados e o processo se repete.
• Serial Data Out (SDOx)
Se os dados são significativos ou não (dados fictícios),
• Serial Data In (SDIx) depende do software do aplicativo. Isso leva a três
• Slave Select (SSx) cenários para transmissão de dados:
A Figura 15-1 mostra o diagrama de blocos do • O mestre envia dados úteis e o escravo envia dados fictícios.
módulo MSSPx ao operar no Modo SPI.
O barramento SPI opera com um único dispositivo mestre e um • O mestre envia dados úteis e o escravo envia dados
ou mais dispositivos escravos. Quando vários dispositivos úteis.
escravos são usados, uma conexão de seleção de escravo • O mestre envia dados fictícios e o escravo envia dados úteis.
independente é necessária do dispositivo mestre para cada
dispositivo escravo.
As transmissões podem envolver qualquer número de
A Figura 15-4 mostra uma conexão típica entre um ciclos de clock. Quando não há mais dados a serem
dispositivo mestre e vários dispositivos escravos. transmitidos, o mestre para de enviar o sinal do relógio e
O mestre seleciona apenas um escravo por vez. A maioria dos desmarca o escravo.
dispositivos escravos tem saídas tri-state para que seu sinal de saída Cada dispositivo escravo conectado ao barramento que não foi
apareça desconectado do barramento quando não estiverem selecionado por meio de sua linha de seleção escrava deve
selecionados. desconsiderar o relógio e os sinais de transmissão e não deve
As transmissões envolvem dois registradores de deslocamento, transmitir nenhum dado próprio.
oito bits de tamanho, um no mestre e um no escravo. Com o
dispositivo mestre ou escravo, os dados são sempre deslocados
um bit de cada vez, com o bit mais significativo (MSb) deslocado
primeiro. Ao mesmo tempo, um novo bit menos significativo
(LSb) é deslocado para o mesmo registro.

A Figura 15-5 mostra uma conexão típica entre dois


processadores configurados como dispositivos mestre e escravo.

Os dados são deslocados de ambos os registradores de deslocamento


na transição programada do relógio e travados na extremidade
oposta do relógio.

O dispositivo mestre transmite informações em seu pino


de saída SDOx, que é conectado e recebido pelo pino de
entrada SDIx do escravo. O dispositivo escravo transmite
informações em seu pino de saída SDOx, que é
conectado e recebido pelo pino de entrada SDIx do
mestre.
Para iniciar a comunicação, o dispositivo mestre primeiro
envia o sinal do relógio. Os dispositivos mestre e escravo
devem ser configurados para a mesma polaridade de
clock.
O dispositivo mestre inicia uma transmissão enviando o MSb
de seu registrador de deslocamento. O dispositivo escravo lê
este bit da mesma linha e o salva na posição LSb de seu
registrador de deslocamento.

DS41412B-page 210 Preliminares - 2010 Microchip Technology Inc.

Você também pode gostar