Você está na página 1de 438

PIC18F2455/2550/4455/4550

Ficha de Dados
28/40/44-Pin, de alto desempenho,
Avanado Flash, USB microcontroladores
com tecnologia nanoWatt
v 2009 Microchip Technology Inc. DS39632E
Observe os seguintes detalhes sobre o recurso de proteo de cdigo em dispositivos Microchip:



Microchip produtos atendem as especificaes contidas no seu especial Microchip Folha de Dados.
Microchip acredita que a sua famlia de produtos uma das famlias mais seguras de seu tipo no mercado hoje, quando utilizado na
destina forma e em condies normais.
Existem mtodos desonestos e possivelmente ilegais usados para violar o recurso de proteo de cdigo. Todos estes mtodos, para a nossa
conhecimento, exigir o uso dos produtos Microchip de uma maneira fora das especificaes de funcionamento constantes Dados da Microchip
Folhas. Provavelmente, a pessoa que faz isso est envolvida em roubo de propriedade intelectual.
Microchip est disposta a trabalhar com o cliente que se preocupa com a integridade de seu cdigo.
Nem Microchip nem qualquer outro fabricante de semicondutores pode garantir a segurana de seu cdigo. Proteo de cdigo no
significa que estamos garantindo o produto como "inquebrvel".


Proteo do cdigo est em constante evoluo. Ns, da Microchip esto empenhados em melhorar continuamente as caractersticas do nosso cdigo de
proteo
produtos. Tentativas de quebrar recurso de proteo de cdigo da Microchip pode ser uma violao da Lei de Direitos Autorais do Milnio Digital. Se tais atos
permitir o acesso no autorizado ao seu software ou outro trabalho com direitos autorais, voc pode ter o direito de processar por alvio ao abrigo desta lei.
As informaes contidas nesta publicao a respeito do dispositivo
aplicaes e afins fornecida apenas para sua convenincia
e podem ser substitudas por atualizaes. de sua responsabilidade a
garantir que a sua aplicao encontra-se com suas especificaes.
MICROCHIP NO FAZ REPRESENTAO OU
GARANTIAS DE QUALQUER TIPO EXPRESSA OU
IMPLCITA, escrita ou oral, ESTATUTRIO OU
OUTRA, relacionados com a informao,
INCLUINDO, SEM LIMITAO sua condio,
Qualidade, desempenho, COMERCIALIZAO OU
ADEQUAO A UM FIM. Microchip exime de qualquer responsabilidade
decorrentes de informaes e sua utilizao. Utilizao de Microchip
dispositivos de suporte de vida e / ou aplicaes de segurana inteiramente
risco do comprador, eo comprador concorda em defender, indemnizar e
isentar Microchip de todos e quaisquer danos, reclamaes,
ternos, ou despesas decorrentes de tal uso. Nenhuma licena
transmitida, de forma implcita ou no, em qualquer Microchip
direitos de propriedade intelectual.
Marcas
O nome eo logotipo Microchip, o logotipo da Microchip, dsPIC,
KEELOQ, KEELOQ logotipo, MPLAB, PIC, PIC, PICSTART,
rfPIC e UNI / O so marcas registadas da Microchip registrado
Tecnologia Incorporated nos EUA e em outros pases.
Filterlab, Hampshire, HI-TECH C, Termistor atividade Linear,
MXDEV, MXLAB, SEEVAL eo controle integrado
Solutions Company so marcas registadas da Microchip registrado
Tecnologia incorporada no U.S.A.
Idade analgico-para-o-Digital, Aplicao Maestro, CodeGuard,
dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN,
EconoMonitor, FanSense, HI-TIDE, de srie In-Circuit
Programao ICSP, Mindi, MiWi, MPASM, MPLAB Certified
logotipo, MPLIB, MPLINK, mTouch, Polvo, Cdigo Onisciente
Gerao, PICC, PICC-18, PICDE, PICDEM.net, PICkit,
PICtail, PIC32 logotipo, ICE REAL, rfLAB, selecione o modo, a Total
Endurance, TSHARC, UniWinDriver, WiperLock e ZENA
so marcas registadas da Microchip Technology Incorporated nos
U.S.A. e outros pases.
SQTP uma marca da Microchip Technology Incorporated servio
nos E.U.A.
Todas as outras marcas comerciais aqui mencionadas so de propriedade
de seus
respectivas empresas.
2009 Microchip Technology Incorporated, Impresso na
U.S.A. Todos os direitos reservados.
Impresso em papel reciclado.
Microchip recebeu ISO/TS-16949: a certificao 2002 para sua mundial
sede, projeto e instalaes de fabricao de wafer em Chandler e
Tempe, Arizona; Gresham, Oregon e design centros na Califrnia
e na ndia. Processos do sistema de qualidade da empresa e procedimentos
so para o seu PIC MCUs e dsPIC DSCs, cdigo KEELOQ pulando
dispositivos, EEPROMs seriais, microperipherals, memria no voltil e
produtos analgicos. Alm disso, o sistema de qualidade da Microchip para o projeto
e fabricao de sistemas de desenvolvimento certificada ISO 9001:2000.
DS39632E pgina ii v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
28/40/44-Pin, High-Performance, Enhanced Flash,
Microcontroladores USB com nanoWatt Tecnologia
Universal Serial Bus Caractersticas:
USB V2.0 Compliant
Baixa Velocidade (1.5 Mb / s) e velocidade mxima (12 Mb / s)
Suporta controle de interrupo, Isochronous e massa
Transferncias
Suporta at 32 pontos de extremidade (16 bidirecional)
1 Kbyte RAM Acesso duplo para USB
Transceiver USB On-Chip com tenso On-Chip
Regulador
Interface para Off-Chip USB Transceiver
Transmisso de porta paralela (SPP) para transmisso USB
transferncias (somente dispositivos 40/44-pin)
Destaques perifricos:




Dissipador de alta Corrente / Fonte: 25 mA/25 mA
Trs Interrupes Externas
Quatro mdulos Temporizador (Timer0 para Timer3)
At 2 Capture / Compare / modules PWM (CCP):
- Capture 16-bit, max. resoluo de 5,2 ns (TCY/16)
- Comparar 16-bit, max. resoluo de 83,3 ns (TCY)
- Sada de PWM: resoluo PWM de 1 a 10-bit
Avanado Capture / Compare / PWM (PEAC) mdulo:
- Vrios modos de sada
- Polaridade selecionvel
- Programvel tempo morto
- Auto-desligamento e reinicializao automtica
Avanado mdulo USART:
- Apoio nibus LIN
Mestre Synchronous mdulo Serial Port (MSSP)
Apoiar 3-Wire SPI (todos os quatro modos) e I2C
Modos de mestre e escravo
10-Bit, At 13-Channel conversor analgico-digital
(A / D) com mdulo programvel Tempo de Aquisio
Comparadores analgicos duplos com Multiplexing Input

Poder de gesto Modos:








Run: CPU, Perifricos em
Idle: off CPU, Perifricos em
Sono: CPU off, Perifricos off
Correntes modo ocioso para baixo a 5.8 A Tpico
Dormir correntes de modo at 0,1 A Tpico
Timer1 oscilador: 1.1 A Tpico, 32 kHz, 2V
Watchdog Timer: 2,1 A Tpico
Duas Velocidades Oscillator Start-up




Estrutura flexvel oscilador:
Quatro modos de cristal, incluindo alta preciso PLL
para USB
Dois modos de relgio externo, de at 48 MHz
Interno bloco oscilador:
- 8 freqncias selecionveis pelo usurio, a partir de 31 kHz
a 8 MHz
- User-ajustvel para compensar desvio de freqncia
Oscilador secundrio usando Timer1 @ 32 kHz
Opes oscilador duplos permitem microcontrolador e
Mdulo USB para funcionar em diferentes velocidades de clock
Relgio prova de falhas Monitor:
- Permite o desligamento seguro se houver relgio pra
Caractersticas especiais do microcontrolador:
C Compiler arquitetura otimizada com opcional
Alargado conjunto de instrues
100.000 Erase / Write Ciclo Avanado do Flash
Memria de programa tpico
1.000.000 Erase / Write Cycle dados EEPROM
Memria tpica
Flash / EEPROM de dados de reteno:> 40 anos
Auto-programvel em Controle de Software
nveis de prioridade para Interrupes
8 x 8 Single-Cycle Multiplicador Hardware
Watchdog Timer Extended (WDT):
- Perodo programvel de 41 ms para 131s
Proteo de cdigo programvel
5V Single-Fornecimento de srie In-Circuit
Programao (ICSP ) atravs de dois pinos
Debug In-Circuit (CID), atravs de dois pinos
Opcional Dedicado CID / ICSP Porto (44-pin, TQFP
s pacote)
Faixa de tenso de operao Wide (2.0V a 5.5V)
I / O
10-Bit CCP / PEAC
A / D (CH) (PWM)
10
10
13
13
2/0
2/0
1/1
1/1
EUSART
MSSP
SPP
SPI
Y
Y
Y
Y
Mestre
I2C
Y
Y
Y
Y
Comparadore
s
2
2
2
2
Timers
8/16-Bit
1/3
1/3
1/3
1/3
Memria de Programa
Dispositivo
Memria de Dados
Flash # nica palavra SRAM EEPROM
(Bytes) Instrues (bytes) (bytes)
24K
32K
24K
32K
12288
16384
12288
16384
2048
2048
2048
2048
256
256
256
256
PIC18F2455
PIC18F2550
PIC18F4455
PIC18F4550
24
24
35
35
No
No
Sim
Sim
1
1
1
1
v 2009 Microchip Technology Inc. DS39632E-pgina 1
PIC18F2455/2550/4455/4550
Diagramas Pin
28-Pin PLCC, SOIC
MCLR/VPP/RE3
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF +
RA4/T0CKI/C1OUT/RCV
RA5/AN4/SS/HLVDIN/C2OUT
VSS
OSC1/CLKI
OSC2/CLKO/RA6
RC0/T1OSO/T13CKI
RC1/T1OSI/CCP2(1)/ UOE
RC2/CCP1
VUSB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
RB7/KBI3/PGD
RB6/KBI2/PGC
RB5/KBI1/PGM
RB4/AN11/KBI0
RB3/AN9/CCP2(1)/ VPO
RB2/AN8/INT2/VMO
RB1/AN10/INT1/SCK/SCL
RB0/AN12/INT0/FLT0/SDI/SDA
VDD
VSS
RC7/RX/DT/SDO
RC6/TX/CK
RC5 / D + / VP
RC4/D-/VM
40-Pin PDIP
MCLR/VPP/RE3
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF +
RA4/T0CKI/C1OUT/RCV
RA5/AN4/SS/HLVDIN/C2OUT
RE0/AN5/CK1SPP
RE1/AN6/CK2SPP
RE2/AN7/OESPP
VDD
VSS
OSC1/CLKI
OSC2/CLKO/RA6
RC0/T1OSO/T13CKI
RC1/T1OSI/CCP2(1)/ UOE
RC2/CCP1/P1A
VUSB
RD0/SPP0
RD1/SPP1
PIC18F2455PI
C18F2550
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
RB7/KBI3/PGD
RB6/KBI2/PGC
RB5/KBI1/PGM
RB4/AN11/KBI0/CSSPP
RB3/AN9/CCP2(1)/ VPO
RB2/AN8/INT2/VMO
RB1/AN10/INT1/SCK/SCL
RB0/AN12/INT0/FLT0/SDI/SDA
VDD
VSS
RD7/SPP7/P1D
RD6/SPP6/P1C
RD5/SPP5/P1B
RD4/SPP4
RC7/RX/DT/SDO
RC6/TX/CK
RC5 / D + / VP
RC4/D-/VM
RD3/SPP3
RD2/SPP2
Nota 1: RB3 o pino alternativo para CCP2 multiplexao.
PIC18F4455PI
C18F4550
DS39632E-pgina 2 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
Diagramas Pin (Continuao)
RC6/TX/CKRC5/D + / VPRC4/D-
/VMRD3/SPP3RD2/SPP2RD1/SPP1RD0/S
PP0VUSBRC2/CCP1/P1ARC1/T1OSI/CCP
2(1)/ UOENC / ICPORTS(2)
4443424140393837363534
44-Pin TQFP
44-Pin QFN
4443424140393837363534
RC6/TX/CKRC5/D + / VPRC4/D-
/VMRD3/SPP3RD2/SPP2RD1/SPP1RD0/S
PP0VUSBRC2/CCP1/P1ARC1/T1OSI/CCP
2(1)/ UOERC0/T1OSO/T13CKI
33
32
31
30
29
28
27
26
25
24
23
NC / ICCK(2)/ ICPGC(2)NC / ICDT(2)/
ICPGD(2)
1213141516171819202122
RC7/RX/DT/SDO
RD4/SPP4
RD5/SPP5/P1B
RD6/SPP6/P1C
RD7/SPP7/P1D
VSS
VDD
RB0/AN12/INT0/FLT0/SDI/SDA
RB1/AN10/INT1/SCK/SCL
RB2/AN8/INT2/VMO
RB3/AN9/CCP2(1)/ VPO
1
2
3
4
5
6
7
8
9
10
11
PIC18F4455
PIC18F4550
33
32
31
30
29
28
27
26
25
24
23
NC / ICRST(2)/ ICVPP(2)
RC0/T1OSO/T13CKI
OSC2/CLKO/RA6
OSC1/CLKI
VSS
VDD
RE2/AN7/OESPP
RE1/AN6/CK2SPP
RE0/AN5/CK1SPP
RA5/AN4/SS/HLVDIN/C2OUT
RA4/T0CKI/C1OUT/RCV
Nota 1:
2:
RB3 o pino alternativo para CCP2 multiplexao.
Caractersticas especiais ICPORT disponvel em circunstncias selecionados. Ver Seo 25.9 "Caractersticas ICPORT Especiais (44-Pin TQFP
Package Only) " para mais informaes.
v 2009 Microchip Technology Inc.
RB3/AN9/CCP2(1)
1213141516171819202122
RC7/RX/DT/SDO
RD4/SPP4
RD5/SPP5/P1B
RD6/SPP6/P1C
RD7/SPP7/P1D
VSS
VDD
VDD
RB0/AN12/INT0/FLT0/SDI/SDA
RB1/AN10/INT1/SCK/SCL
RB2/AN8/INT2/VMO
1
2
3
4
5
6
7
8
9
10
11
PIC18F4455
PIC18F4550
OSC2/CLKO/RA6
OSC1/CLKI
VSS
VSS
VDD
VDD
RE2/AN7/OESPP
RE1/AN6/CK2SPP
RE0/AN5/CK1SPP
RA5/AN4/SS/HLVDIN/C2OUT
RA4/T0CKI/C1OUT/RCV
DS39632E-pgina 3
PIC18F2455/2550/4455/4550
ndice analtico
1.0 Viso Geral do Dispositivo 7
2.0 Configuraes de oscilador 23
3.0 Modos de gerenciamento de energia 35
4.0 Repor 45
5.0 Organizao da memria 59
6.0 Memria Flash Programa 81
7.0 Dados da memria EEPROM 91
8,0 8 x 8 Equipamento 97
9.0 Interrupes 99
10,0 Portas I / O 113
11,0 Timer0 Module 127
12,0 Timer1 Module 131
13,0 Timer2 Module 137
14,0 Timer3 Module 139
15,0 Capture / Compare / PWM (CCP) Mdulos 143
16,0 Captura Enhanced / Compare / PWM (PEAC) 151
17,0 Universal Serial Bus (USB) 165
18,0 Transmisso Porta Paralela 191
19,0 Mestre Synchronous Porta Serial Module (MSSP) 197
20,0 avanado Synchronous Asynchronous Receiver Transmitter Universal (EUSART) ........................................ ....................... 243
21,0 10-Bit Analog-to-Digital Converter (A / D) Module 265
22,0 Comparador 275
23,0 Comparador Module Voltagem de referncia 281
24,0 High / Low-Voltage Detect 285
25,0 Recursos especiais do CPU 291
26,0 Instruction Set Resumo 313
27,0 Desenvolvimento 363
28,0 Caractersticas eltricas 367
29,0 DC e AC Caractersticas Grficos e Tabelas 407
30,0 Embalagem 409
Apndice A: Reviso 419
Apndice B: Dispositivo 419
Apndice C: Consideraes de converso 420
Anexo D: Migrao da linha de base para Avanado 420
Apndice E: Migrao De Mid-Range para dispositivos aprimorados 421
Apndice F: Migrao De High-End para Avanado 421
ndice 423
O Web Site Microchip 433
Cliente Servio de mudana de Notificao 433
Suporte ao Cliente 433
Resposta do leitor 434
PIC18F2455/2550/4455/4550 Identificao do Produto Sistema 435
DS39632E-pgina 4 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
Para nossos clientes
nossa inteno proporcionar aos nossos valiosos clientes com a melhor documentao possvel para garantir o uso bem-sucedido de sua Microchip
produtos. Para este fim, vamos continuar a melhorar as nossas publicaes para melhor atender s suas necessidades. Nossas publicaes sero
refinados e
reforada medida que novos volumes e atualizaes so introduzidos.
Se voc tiver quaisquer perguntas ou comentrios sobre esta publicao, favor contatar o Departamento de Comunicao de Marketing via
E-mail para docerrors@microchip.com ou fax o Leitor Formulrio de Resposta no verso da folha de dados para (480) 792-4150. Ns
acolher o seu feedback.
Dados mais atuais Folha
Para obter a verso mais up-to-date desta folha de dados, por favor registre em nosso site mundial em:
http://www.microchip.com
Voc pode determinar a verso de uma folha de dados, examinando o seu nmero literatura encontrada no canto inferior do lado de fora de qualquer
pgina.
O ltimo caractere do nmero literatura o nmero da verso (por exemplo, DS30000A a verso A do documento DS30000).
Errata
Uma folha de errata, descrevendo diferenas operacionais menores de folha de dados e solues recomendadas, podem existir par a a corrente
dispositivos. Como as questes de documentao do dispositivo / tornar-se conhecido para ns, vamos publicar uma folha de errata. A errata vai
especificar a reviso
de silcio e reviso do documento a que se aplica.
Para determinar se uma folha de errata existe para um determinado dispositivo, verifique com um dos seguintes
procedimentos:
Web site mundial da Microchip; http://www.microchip.com
Seu escritrio local de vendas Microchip (ver ltima pgina)
Quando entrar em contato com um escritrio de vendas, por favor especifique qual dispositivo, reviso de silcio e folha de dados (incluir o nmero de
literatura) que voc est
usando.
Sistema de Notificao ao Cliente
Registe-se no nosso site em www.microchip.com para receber as informaes mais atualizadas sobre todos os nossos produtos.
v 2009 Microchip Technology Inc. DS39632E-pgina 5
PIC18F2455/2550/4455/4550
NOTAS:
DS39632E-pgina 6 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
1.0 Viso geral do dispositivo
1.1.3
Este documento contm informaes especficas do dispositivo para
os seguintes dispositivos:
PIC18F2455
PIC18F2550
PIC18F4455
PIC18F4550
PIC18LF2455
PIC18LF2550
PIC18LF4455
PIC18LF4550
VRIAS OPES OSCILLATOR
E CARACTERSTICAS
Todos os dispositivos na PIC18F2455/2550/4455/4550
Oferecemos famlia de doze opes diferentes de oscilador,
permitindo
usurios uma ampla gama de opes de desenvolvimento de
aplicaes
hardware. Estes incluem: Quatro modos de cristal usando cristais ou de cermica
ressonadores.
Quatro modos de relgio externo, oferecendo a opo de
utilizando dois pinos de entrada do oscilador (e uma diviso por
quatro
sada do relgio) ou um pino (entrada do oscilador, com a
segundo pino transferido to geral I / O).
Um bloco do oscilador interno, que fornece uma
8 MHz de clock ( 2% de preciso) e um INTRC
fonte (cerca de 31 kHz, estvel ao longo do
temperatura e VDD), bem como uma variedade de
Seis freqncias de clock selecionveis pelo usurio, entre
125 kHz a 4 MHz, para um total de 8 relgio
freqncias. Esta opo libera um pino de oscilador para
usar como um propsito geral adicional I / O.
A Circuito multiplicador de bloqueio de fase (PLL) de freqncia,
disponvel tanto para o cristal de alta velocidade e
Modos de oscilador externo, o que permite uma ampla
gama de velocidades de clock de 4 MHz a 48 MHz.
operao do relgio duplo assncrona, permitindo que o
Mdulo USB para executar a partir de uma alta freqncia
oscilador, enquanto o resto do microcontrolador
cronometrado a partir de um oscilador de baixa potncia interna.
Alm de sua disponibilidade como fonte do relgio, o interno
bloco oscilador fornece uma fonte de referncia estvel que
d os recursos adicionais para familiares robusto
operao:
Fail-safe Monitor de Relgio: Esta opo constantemente
monitora a fonte de clock principal contra um
sinal de referncia fornecido pelo interno
oscilador. Se ocorrer uma falha no relgio, o controlador
comutada para o bloco oscilador interno, permitindo
para operao de baixa velocidade contnua ou um seguro
desligamento do aplicativo.
Duas Velocidades Start-up: Esta opo permite que o
oscilador interno para servir como fonte de relgio
da Power-on Reset, ou wake-up do sono
modo, at que o relgio principal fonte disponvel.
Esta famlia de dispositivos oferece as vantagens de todas
Microcontroladores PIC18 - ou seja, de alta computacional
desempenho a um preo econmico - com a adio
de alta resistncia programa Flash, aprimorada
memria. Em adio a estas caractersticas, o
PIC18F2455/2550/4455/4550 famlia apresenta o projeto
melhorias que fazem estes microcontroladores um log-
escolha iCal para muitos de alto desempenho, potncia sensitiva
aplicaes.
1.1
1.1.1
Novos recursos do ncleo
nanoWatt TECNOLOGIA
Todos os dispositivos na PIC18F2455/2550/4455/4550
famlia incorporar uma gama de recursos que pode signifi-
reduzir significativamente o consumo de energia durante a
operao.
Os principais itens incluem:
Suplentes modos de execuo: Ao cronometrar o controlador
a partir da fonte ou a Timer1 oscilador interno
bloco, o consumo de energia durante a execuo de cdigo
pode ser reduzido em tanto como 90%.
Mltiplos Modos de inactividade: O controlador tambm pode ser
executado
com o seu core desativado, mas os perifricos ainda
ativo. Nesses estados, o consumo de energia pode ser
reduzida ainda mais, para menos de 4% do normal
requisitos de operao.
On-the-Fly Modo Switching: O
modos de gerenciamento de energia so invocados pelo cdigo
do usurio
durante a operao, permitindo ao utilizador a incorporar
idias de economia de energia para a sua aplicao de
design de software.
Baixo consumo em mdulos principais: O poder
as exigncias para os Timer1 eo Watchdog
Temporizador so minimizados. Ver Seo 28.0
"Caractersticas eltricas" para valores.
1.1.2 Universal Serial Bus (USB)
Dispositivos na famlia PIC18F2455/2550/4455/4550
incorporar uma inteiramente caracterizado Universal Serial Bus
mdulo de comunicao que seja compatvel com o USB
Specification Revision 2.0. O mdulo suporta tanto
comunicao de baixa velocidade e de velocidade total para todos
os su-
portados tipos de transferncia de dados. Alm disso, incorpora o
seu prprio
transceptor on-chip e 3.3V regulador e suporta
a utilizao de transceptores externas e reguladores de tenso.
v 2009 Microchip Technology Inc. DS39632E-pgina 7
PIC18F2455/2550/4455/4550
1.2 Outras caractersticas especiais 1.3
Endurance de memria: As clulas do Flash aprimorados
tanto para a memria de programa e dados de EEPROM est
avaliado para durar por muitos milhares de apagar / escrever
ciclos - at 100 mil para a memria de programa e
1.000.000 para EEPROM. A reteno de dados sem
atualizao conservadora, estima-se ser maior
de 40 anos.
Auto-programao: Estes dispositivos podem escrever para
seus prprios espaos de memria do programa sob interno
controle de software. Usando uma rotina bootloader,
localizada no bloco de boot protegido no topo
memria de programa, torna-se possvel criar um
aplicao que pode atualizar-se no campo.
Alargado conjunto de instrues: O
PIC18F2455/2550/4455/4550 famlia introduz
uma extenso opcional para o conjunto de instrues PIC18,
que acrescenta oito novas instrues e um cadastradas
Literal offset Modo de endereamento. Esta extenso,
ativado como uma opo de configurao do dispositivo, tem
foi projetado especificamente para otimizar o re-entrantes
cdigo de aplicao inicialmente desenvolvida em alto nvel
linguagens como C.
Maior CCP Mdulo: No modo de PWM, esta
mdulo fornece 1, 2 ou 4 sadas moduladas para
controlando meia ponte e ponte completa motoristas.
Outras caractersticas incluem auto-desligamento para
desativar sadas PWM em interrupo ou outra escolha
condies e auto-restart para reativar sadas
uma vez que a condio foi eliminada.
Maior USART enderevel: Esta srie
mdulo de comunicao capaz de padro
Operao RS-232 e oferece suporte para o LIN
protocolo de nibus. Os sinais RX / DT TX / CK e pode
ser invertido, eliminando a necessidade de inverter
tampes. Outras melhorias incluem Automatic
Baud Taxa de Deteco e um 16-bit Taxa de Transmisso
Gerador para uma melhor resoluo. Quando o
microcontrolador est a utilizar o oscilador interno
bloco, o EUSART fornece operao estvel
aplicaes que falam para o mundo exterior, sem
usando um cristal externo (ou o seu acompanhante
Exigncia de energia).
10-Bit A / D Converter: Este mdulo incorpora
O tempo de aquisio programveis, permitindo uma
do canal a ser seleccionado e uma converso para ser
iniciados, sem esperar por um perodo de amostragem e
assim, reduzir a sobrecarga de cdigo.
Dedicado CID / ICSP Porto: Estes dispositivos
introduzir o uso de depurador e programao
os pinos que no sejam multiplexados com outros micro-
caractersticas do controlador. Oferecido como uma opo no
select
pacotes, este recurso permite aos usurios desenvolver I / O
aplicaes de uso intensivo, mantendo a capacidade de
programa e depurao no circuito.
Detalhes sobre Famlia Individual
Usurios
Dispositivos na famlia PIC18F2455/2550/4455/4550 so
Disponvel em embalagens de 28 pinos e 40/44-pin. Bloquear
diagramas para os dois grupos so mostradas na Figura 1-1
e Figura 1-2.
Os dispositivos so diferenciadas umas das outras em seis
maneiras:
1. Memria de programa flash (24 Kbytes para
PIC18FX455devices, 32 Kbytesfor
PIC18FX550 dispositivos).
Canais de A / D (10 para dispositivos de 28 pinos, 13 para
Dispositivos 40/44-pin).
Portas de I / O (3 portas bidirecionais e uma entrada nica
porta em dispositivos de 28 pinos, 5 portas bidirecionais em
Dispositivos 40/44-pin).
CCP e Enhanced CCP implementao
(Dispositivos de 28 pinos tem duas CCP padro
mdulos, dispositivos 40/44-pin ter um padro
Mdulo CCP e um mdulo PEAC).
Transmisso Porta Paralela (presente apenas em
Dispositivos 40/44-pin).
2.
3.
4.
5.
Todas as outras caractersticas dos dispositivos desta famlia so
idnticos.
Estes encontram-se resumidos na Tabela 1-1.
A pinagem para todos os dispositivos esto listados na Tabela 1-2 e
Tabela 1-3.
Como todos os dispositivos Microchip PIC18, os membros da
PIC18F2455/2550/4455/4550 famlia esto disponveis como
ambos os dispositivos padro e baixa tenso. Padro
dispositivos com memria flash avanado, designado com
um "F" no nmero da pea (como PIC18F2550)
acomodar uma variedade de 4.2V a 5.5V VDD operacional.
Peas de baixa tenso, designados por "LF" (tais como
PIC18LF2550), funo em uma faixa estendida VDD
de 2.0V a 5.5V.
DS39632E-pgina 8 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 1-1: Recursos do dispositivo
PIC18F2455
DC - 48 MHz
24576
12288
2048
256
19
Portas A, B, C, (E)
4
2
0
MSSP,
Maior USART
1
No
10 canais de entrada
2
POR, BOR,
REAJUSTE Instruo,
Pilha completa,
Stack Underflow
(PWRT, OST)
MCLR (opcional),
WDT
Sim
Sim
75 instrues;
83 com estendida
Conjunto de instrues
ativado
28-Pin PDIP
28-Pin SOIC
PIC18F2550
DC - 48 MHz
32768
16384
2048
256
19
Portas A, B, C, (E)
4
2
0
MSSP,
Maior USART
1
No
10 canais de entrada
2
POR, BOR,
REAJUSTE Instruo,
Pilha completa,
Stack Underflow
(PWRT, OST)
MCLR (opcional),
WDT
Sim
Sim
75 instrues;
83 com estendida
Conjunto de instrues
ativado
28-Pin PDIP
28-Pin SOIC
PIC18F4455
DC - 48 MHz
24576
12288
2048
256
20
4
1
1
MSSP,
Maior USART
1
Sim
13 canais de entrada
2
POR, BOR,
REAJUSTE Instruo,
Pilha completa,
Stack Underflow
(PWRT, OST)
MCLR (opcional),
WDT
Sim
Sim
75 instrues;
83 com estendida
Conjunto de instrues
ativado
40-Pin PDIP
44-Pin QFN
44-Pin TQFP
PIC18F4550
DC - 48 MHz
32768
16384
2048
256
20
4
1
1
MSSP,
Maior USART
1
Sim
13 canais de entrada
2
POR, BOR,
REAJUSTE Instruo,
Pilha completa,
Stack Underflow
(PWRT, OST)
MCLR (opcional),
WDT
Sim
Sim
75 instrues;
83 com estendida
Conjunto de instrues
ativado
40-Pin PDIP
44-Pin QFN
44-Pin TQFP
Caractersticas
Freqncia de operao
Memria de programa (Bytes)
Memria de programa (instrues)
Memria de Dados (Bytes)
Os dados da memria EEPROM (Bytes)
Fontes de interrupo
I / O Ports
Timers
Capture / Compare / Mdulos PWM
Aprimorado de captura /
Compare / Mdulos PWM
Comunicao Serial
Universal Serial Bus (USB)
Mdulo
Transmisso de porta paralela (SPP)
10-Bit Mdulo Analgico-Digital
Comparadores
Redefine (e atrasos)
Portas A, B, C, D, E Portas A, B, C, D, E
Programvel de Baixa Tenso
Descobrir
Redefinio Programmable Brown-out
Conjunto de instrues
Pacotes
v 2009 Microchip Technology Inc. DS39632E-pgina 9
PIC18F2455/2550/4455/4550
Figura 1-1:
Tabela de Ponteiro de <21>
inc / dezembro lgica
21
20
8
PCLATU PCLATH
PIC18F2455/2550 (28-PIN) DIAGRAMA DE BLOCO
Barramento de dados <8>
Dados Trava
Memria de Dados
(2 Kbytes)
Trava endereo
12
Endereo Dados <12>
4
BSR
12
FSR0
FSR1
FSR2
inc / dezembro
lgica
4
Acessar
Banco
12
PORTB
RB0/AN12/INT0/FLT0/SDI/SDA
RB1/AN10/INT1/SCK/SCL
RB2/AN8/INT2/VMO
RB3/AN9/CCP2(3)/ VPO
RB4/AN11/KBI0
RB5/KBI1/PGM
RB6/KBI2/PGC
RB7/KBI3/PGD
PORTA
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF +
RA4/T0CKI/C1OUT/RCV
RA5/AN4/SS/HLVDIN/C2OUT
OSC2/CLKO/RA6
8
PCU PCH PCL
Contador de programa
31 Nvel Stack
Trava endereo
Memria de Programa
(24/32 Kbytes)
Dados Trava
8
STKPTR
Trava mesa
Bus Instruo <16>
Trava ROM
Endereo
Decodificar
IR
8
Instruo
Decodificar e
Controle
Mquina de Estado
Sinais de Controle
PRODH Prdl
3
OSC1(2)
OSC2(2)
T1OSI
T1OSO
MCLR(1)
VDD, VSS
VUSB
Interno
Oscilador
Bloquear
INTRC
Oscilador
8 MHz
Oscilador
Single-alimentao
Programao
No circuito
Debugger
Power-up
Cronmetro
Oscilador
Start-up timer
Power-on
Restabelecer
Co de guarda
Cronmetro
Brown-out
Restabelecer
Fail-safe
Relgio monitor
Gap Band
Referncia
Bitop
8
8
ALU <8>
8
8 x 8 Multiply
8
W
8
8
8
PORTC
RC0/T1OSO/T13CKI
RC1/T1OSI/CCP2(3)/ UOE
RC2/CCP1
RC4/D-/VM
RC5 / D + / VP
RC6/TX/CK
RC7/RX/DT/SDO
Tenso USB
Regulador
PORTE
MCLR/VPP/RE3(1)
BOR
HLVD
Dados
EEPROM
Timer0 Timer1 Timer2 Timer3
Comparador CCP1 CCP2 MSSP EUSART
ADC
10-Bit
USB
Nota 1:
2:
3:
RE3 multiplexado com MCLR e s est disponvel quando o Redefine MCLR esto desativados.
OSC1/CLKI e OSC2/CLKO s esto disponveis nos modos de oscilador selecionados e quando estes pinos no esto sendo usados como digitais I / O. Referir
a Seo 2.0 "Configuraes oscilador" para obter informaes adicionais.
RB3 o pino alternativo para CCP2 multiplexao.
DS39632E-pgina 10 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
Figura 1-2:
Tabela de Ponteiro de <21>
inc / dezembro lgica
21
20
8
PCLATU PCLATH
PIC18F4455/4550 (40/44-PIN) DIAGRAMA DE BLOCO
Barramento de dados <8>
Dados Trava
Memria de Dados
(2 Kbytes)
Trava endereo
12
Endereo Dados <12>
4
BSR
12
FSR0
FSR1
FSR2
inc / dezembro
lgica
PORTC
RC0/T1OSO/T13CKI
RC1/T1OSI/CCP2(4)/ UOE
RC2/CCP1/P1A
RC4/D-/VM
RC5 / D + / VP
RC6/TX/CK
RC7/RX/DT/SDO
4
Acessar
Banco
12
PORTA
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF +
RA4/T0CKI/C1OUT/RCV
RA5/AN4/SS/HLVDIN/C2OUT
OSC2/CLKO/RA6
8
PCU PCH PCL
Contador de programa
31 Nvel Stack
PORTB
RB0/AN12/INT0/FLT0/SDI/SDA
RB1/AN10/INT1/SCK/SCL
RB2/AN8/INT2/VMO
RB3/AN9/CCP2(4)/ VPO
RB4/AN11/KBI0/CSSPP
RB5/KBI1/PGM
RB6/KBI2/PGC
RB7/KBI3/PGD
Trava endereo
Memria de Programa
(24/32 Kbytes)
Dados Trava
8
STKPTR
Trava mesa
Bus Instruo <16>
Trava ROM
Endereo
Decodificar
IR
8
Instruo
Decodificar e
Controle
Mquina de Estado
Sinais de Controle
PRODH Prdl
3
Interno
Oscilador
Bloquear
INTRC
Oscilador
8 MHz
Oscilador
Single-alimentao
Programao
No circuito
Debugger
Power-up
Cronmetro
Oscilador
Start-up timer
Power-on
Restabelecer
Co de guarda
Cronmetro
Brown-out
Restabelecer
Fail-safe
Relgio monitor
Gap Band
Referncia
Bitop
8
8
ALU <8>
8
PORTE
8 x 8 Multiply
8
W
8
8
8
PORTD
VDD, VSS
OSC1(2)
OSC2(2)
T1OSI
T1OSO
ICPGC(3)
ICPGD(3)
ICPORTS(3)
ICRST(3)
MCLR(1)
VUSB
RD0/SPP0: RD4/SPP4
RD5/SPP5/P1B
RD6/SPP6/P1C
RD7/SPP7/P1D
RE0/AN5/CK1SPP
RE1/AN6/CK2SPP
RE2/AN7/OESPP
MCLR/VPP/RE3(1)
Tenso USB
Regulador
BOR
HLVD
Dados
EEPROM Timer0 Timer1 Timer2 Timer3
Comparador
Nota 1:
2:
3:
4:
ECCP1 CCP2 MSSP EUSART
ADC
10-Bit
USB
RE3 multiplexado com MCLR e s est disponvel quando o Redefine MCLR esto desativados.
OSC1/CLKI e OSC2/CLKO s esto disponveis nos modos de oscilador selecionados e quando estes pinos no esto sendo usados como digitais I / O. Referir
a Seo 2.0 "Configuraes oscilador" para obter informaes adicionais.
Estes pinos s esto disponveis em pacotes de 44-pin TQFP sob certas condies. Consulte Seo 25.9 "Caractersticas especiais ICPORT
(44-Pin nico pacote TQFP) " para obter informaes adicionais.
RB3 o pino alternativo para CCP2 multiplexao.
v 2009 Microchip Technology Inc. DS39632E-pgina 11
PIC18F2455/2550/4455/4550
TABELA 1-2: PIC18F2455/2550 DESCRIES pinagem I / O
Pin
Nmero
PDIP,
SOIC
1
Eu
P
Eu
9
Eu
Eu
10
O
O
I / O
-
-
TTL
ST
Pin
Tipo
Tampo
Tipo
Nome do pino Descrio
MCLR/VPP/RE3
MCLR
VPP
RE3
OSC1/CLKI
OSC1
CLKI
OSC2/CLKO/RA6
OSC2
CLKO
RA6
ST
Master Clear (entrada) ou programao tenso (entrada).
Limpar entrada Master (Reset). Este pino um baixo ativo
Repor o dispositivo.
Programao de tenso de entrada.
Entrada digital.
Cristal oscilador ou entrada de clock externo.
AnalogOscillator entrada cristal ou fonte de entrada de clock externo.
Entrada de fonte de clock AnalogExternal. Sempre associado com pino
funo OSC1. (Veja pin OSC2/CLKO).
Cristal oscilador ou sada de clock.
Sada de cristal oscilador. Ligaes de cristal ou ressonador em
Modo de oscilador de cristal.
Nos modos de seleo, OSC2 pin sadas CLKO que tem 1/4 do
frequncia de OSC1 e indica a taxa de ciclo de instruo.
Propsito pino I / O em geral.
Legenda: = TTL compatvel inputCMOS = entrada compatvel CMOS TTL ou sada
ST = entrada Schmitt Trigger com CMOS levelsI = Entrada
O = OutputP = Potncia
Nota 1: Atribuio alternativo para CCP2 quando CCP2MX bit configurao est desmarcada.
2: Atribuio padro para CCP2 quando CCP2MX bit de configurao est definido.
DS39632E-pgina 12 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 1-2: PIC18F2455/2550 DESCRIES pinagem I / O (Continuao)
Pin
Nmero
PDIP,
SOIC
2
I / O
Eu
3
I / O
Eu
4
I / O
Eu
Eu
O
5
I / O
Eu
Eu
6
I / O
Eu
O
Eu
7
I / O
Eu
Eu
Eu
O
- -
TTL
Anlogo
TTL
Anlogo
-
-
Digital I / O.
A entrada analgica 4.
SPI escravo seleto de entrada.
High / Low-Voltage Detect entrada.
Comparador de sada 2.
Veja o pino OSC2/CLKO/RA6.
ST
ST
-
TTL
Digital I / O.
Timer0 entrada de clock externo.
Comparador uma sada.
Entrada VN externo USB transceptor.
TTL
Anlogo
Anlogo
Digital I / O.
A entrada analgica 3.
A (alta) tenso de entrada de referncia / D.
TTL
Anlogo
Anlogo
Anlogo
Digital I / O.
A entrada analgica 2.
A (baixo) entrada de tenso de referncia / D.
Sada analgica de referncia de comparao.
TTL
Anlogo
Digital I / O.
Entrada analgica 1.
TTL
Anlogo
Digital I / O.
Entrada analgica 0.
Pin
Tipo
Tampo
Tipo
Nome do pino Descrio
PORTA uma porta de I / O bidirecional.
RA0/AN0
RA0
AN0
RA1/AN1
RA1
AN1
RA2/AN2/VREF-/CVREF
RA2
AN2
VREF-
CVREF
RA3/AN3/VREF +
RA3
AN3
VREF +
RA4/T0CKI/C1OUT/RCV
RA4
T0CKI
C1OUT
VN
RA5/AN4/SS /
HLVDIN/C2OUT
RA5
AN4
SS
HLVDIN
C2OUT
RA6
Legenda: = TTL compatvel inputCMOS = entrada compatvel CMOS TTL ou sada
ST = entrada Schmitt Trigger com CMOS levelsI = Entrada
O = OutputP = Potncia
Nota 1: Atribuio alternativo para CCP2 quando CCP2MX bit configurao est desmarcada.
2: Atribuio padro para CCP2 quando CCP2MX bit de configurao est definido.
v 2009 Microchip Technology Inc. DS39632E-pgina 13
PIC18F2455/2550/4455/4550
TABELA 1-2: PIC18F2455/2550 DESCRIES pinagem I / O (Continuao)
Pin
Nmero
PDIP,
SOIC
Pin
Tipo
Tampo
Tipo
Nome do pino Descrio
PORTB uma porta de I / O bidirecional. PORTB podem ser software
programado para internos fracos pull-ups em todas as entradas.
RB0/AN12/INT0/FLT0 /
SDI / SDA
RB0
AN12
INT0
FLT0
SDI
SDA
RB1/AN10/INT1/SCK /
SCL
RB1
AN10
INT1
SCK
SCL
RB2/AN8/INT2/VMO
RB2
AN8
INT2
VMO
RB3/AN9/CCP2/VPO
RB3
AN9
CCP2(1)
VPO
RB4/AN11/KBI0
RB4
AN11
KBI0
RB5/KBI1/PGM
RB5
KBI1
PGM
RB6/KBI2/PGC
RB6
KBI2
PGC
RB7/KBI3/PGD
RB7
KBI3
PGD
21
I / O
Eu
Eu
Eu
Eu
I / O
22
I / O
Eu
Eu
I / O
I / O
23
I / O
Eu
Eu
O
24
I / O
Eu
I / O
O
25
I / O
Eu
Eu
26
I / O
Eu
I / O
27
I / O
Eu
I / O
28
I / O
Eu
I / O
TTL
TTL
ST
Digital I / O.
Pino de interrupo-on-mudana.
In-Circuit Debugger e pino de dados de programao ICSP.
TTL
TTL
ST
Digital I / O.
Pino de interrupo-on-mudana.
In-Circuit Debugger e ICSP pino do relgio de programao.
TTL
TTL
ST
Digital I / O.
Pino de interrupo-on-mudana.
ICSP Low-Voltage Programao permitir pin.
TTL
Anlogo
TTL
Digital I / O.
A entrada analgica 11.
Pino de interrupo-on-mudana.
TTL
Anlogo
ST
-
Digital I / O.
A entrada analgica 9.
Capturar dois input / Comparar 2 output/PWM2 sada.
Sada externa USB transceiver VPO.
TTL
Anlogo
ST
-
Digital I / O.
A entrada analgica 8.
Interrupo externa 2.
Sada externa USB transceiver VMO.
TTL
Anlogo
ST
ST
ST
Digital I / O.
A entrada analgica 10.
Interrupo externa 1.
Synchronous entrada de clock serial / sada para o modo SPI.
Synchronous entrada de clock serial / sada para o modo I2C.
TTL
Anlogo
ST
ST
ST
ST
Digital I / O.
A entrada analgica 12.
0 interrupo externa.
Entrada Fault PWM (CCP1 mdulo).
Dados SPI dentro
I2C dados de I / O.
Legenda: = TTL compatvel inputCMOS = entrada compatvel CMOS TTL ou sada
ST = entrada Schmitt Trigger com CMOS levelsI = Entrada
O = OutputP = Potncia
Nota 1: Atribuio alternativo para CCP2 quando CCP2MX bit configurao est desmarcada.
2: Atribuio padro para CCP2 quando CCP2MX bit de configurao est definido.
DS39632E-pgina 14 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 1-2: PIC18F2455/2550 DESCRIES pinagem I / O (Continuao)
Pin
Nmero
PDIP,
SOIC
11
I / O
O
Eu
12
I / O
Eu
I / O
O
13
I / O
I / O
15
Eu
I / O
Eu
16
Eu
I / O
O
17
I / O
O
I / O
18
I / O
Eu
I / O
O
-
14
8, 19
20
-
P
P
P
ST
ST
ST
-
-
-
-
-
Digital I / O.
EUSART assncrona receber.
EUSART dados sncronos (ver TX / CK).
Dados SPI fora.
Veja MCLR/VPP/RE3 pin.
Interno USB 3.3V sada do regulador de tenso, alimentao positiva para
interna transceptor USB.
Referncia de terra para a lgica e I / O dos pinos.
Alimentao positiva para a lgica e I / O dos
pinos.
ST
-
ST
Digital I / O.
EUSART assncrona transmitir.
EUSART sncrona relgio (ver RX / DT).
TTL
-
TTL
Entrada digital.
Diferencial USB alm de linha (entrada / sada).
VP entrada USB externo transceptor.
TTL
-
TTL
Entrada digital.
Diferencial USB menos de linha (entrada / sada).
VM entrada USB externo transceptor.
ST
ST
Digital I / O.
Captura de um input / Compare 1 output/PWM1 sada.
ST
CMOS
ST
-
Digital I / O.
Timer1 entrada do oscilador.
Capturar dois input / Comparar 2 output/PWM2 sada.
Sada externa USB transceiver OE.
ST
-
ST
Digital I / O.
Timer1 sada do oscilador.
Timer1/Timer3 entrada de clock externo.
Pin
Tipo
Tampo
Tipo
Nome do pino Descrio
PORTC uma porta de I / O bidirecional.
RC0/T1OSO/T13CKI
RC0
T1OSO
T13CKI
RC1/T1OSI/CCP2/UOE
RC1
T1OSI
CCP2(2)
UOE
RC2/CCP1
RC2
CCP1
RC4/D-/VM
RC4
D-
VM
RC5 / D + / VP
RC5
D +
VP
RC6/TX/CK
RC6
TX
CK
RC7/RX/DT/SDO
RC7
RX
DT
SDO
RE3
VUSB
VSS
VDD
Legenda: = TTL compatvel inputCMOS = entrada compatvel CMOS TTL ou sada
ST = entrada Schmitt Trigger com CMOS levelsI = Entrada
O = OutputP = Potncia
Nota 1: Atribuio alternativo para CCP2 quando CCP2MX bit configurao est desmarcada.
2: Atribuio padro para CCP2 quando CCP2MX bit de configurao est definido.
v 2009 Microchip Technology Inc. DS39632E-pgina 15
PIC18F2455/2550/4455/4550
TABELA 1-3:
Nome do pino
MCLR/VPP/RE3
MCLR
VPP
RE3
OSC1/CLKI
OSC1
CLKI
OSC2/CLKO/RA6
OSC2
CLKO
13 32 30
Eu
Eu
14 33 31
O
O
-
-
PIC18F4455/4550 DESCRIES pinagem I / O
Nmero Pin
PDIP
1
Pin tampo
QFN TQFP Tipo Tipo
18 18
Eu
P
Eu
ST
Descrio
Master Clear (entrada) ou programao tenso (entrada).
Limpar entrada Master (Reset). Este pino um baixo ativo
Repor o dispositivo.
Programao de tenso de entrada.
Entrada digital.
ST
Cristal oscilador ou entrada de clock externo.
AnalogOscillator entrada cristal ou fonte de entrada de clock externo.
Entrada de fonte de clock AnalogExternal. Sempre associado
Pino Funo OSC1. (Veja pin OSC2/CLKO).
Cristal oscilador ou sada de clock.
Sada de cristal oscilador. Ligaes de cristal ou
ressonador no modo oscilador de cristal.
No modo RC, OSC2 pin sadas CLKO que tem 1/4
a frequncia de OSC1 e indica a instruo
taxa de ciclo.
Propsito pino I / O em geral.
RA6 I / O TTL
Legenda: = TTL compatvel inputCMOS = entrada compatvel CMOS TTL ou sada
ST = entrada Schmitt Trigger com nveis CMOS I = Input
O = OutputP = Potncia
Nota 1: Atribuio alternativo para CCP2 quando CCP2MX bit configurao est desmarcada.
2: Atribuio padro para CCP2 quando CCP2MX bit de configurao est definido.
3: Estes pinos no so Conecte a menos que o bit de configurao ICPRT est definido. Para NC / ICPORTS, o pino no
Ligao a menos ICPRT est definido eo bit configurao de depurao est desmarcada.
DS39632E-pgina 16 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 1-3:
Nome do pino
PIC18F4455/4550 DESCRIES pinagem I / O (Continuao)
Nmero Pin
PDIP
2
Pin tampo
Tipo Tipo
QFN TQFP
19 19
I / O
Eu
3 20 20
I / O
Eu
4 21 21
I / O
Eu
Eu
O
5 22 22
I / O
Eu
Eu
6 23 23
I / O
Eu
O
Eu
7 24 24
I / O
Eu
Eu
Eu
O
- - - -
TTL
Anlogo
TTL
Anlogo
-
-
Digital I / O.
A entrada analgica 4.
SPI escravo seleto de entrada.
High / Low-Voltage Detect entrada.
Comparador de sada 2.
Veja o pino OSC2/CLKO/RA6.
ST
ST
-
TTL
Digital I / O.
Timer0 entrada de clock externo.
Comparador uma sada.
Entrada VN externo USB transceptor.
TTL
Anlogo
Anlogo
Digital I / O.
A entrada analgica 3.
A (alta) tenso de entrada de referncia / D.
TTL
Anlogo
Anlogo
Anlogo
Digital I / O.
A entrada analgica 2.
A (baixo) entrada de tenso de referncia / D.
Sada analgica de referncia de comparao.
TTL
Anlogo
Digital I / O.
Entrada analgica 1.
TTL
Anlogo
Digital I / O.
Entrada analgica 0.
Descrio
PORTA uma porta de I / O bidirecional.
RA0/AN0
RA0
AN0
RA1/AN1
RA1
AN1
RA2/AN2/VREF- /
CVREF
RA2
AN2
VREF-
CVREF
RA3/AN3/VREF +
RA3
AN3
VREF +
RA4/T0CKI/C1OUT /
VN
RA4
T0CKI
C1OUT
VN
RA5/AN4/SS /
HLVDIN/C2OUT
RA5
AN4
SS
HLVDIN
C2OUT
RA6
Legenda: = TTL compatvel inputCMOS = entrada compatvel CMOS TTL ou sada
ST = entrada Schmitt Trigger com nveis CMOS I = Input
O = OutputP = Potncia
Nota 1: Atribuio alternativo para CCP2 quando CCP2MX bit configurao est desmarcada.
2: Atribuio padro para CCP2 quando CCP2MX bit de configurao est definido.
3: Estes pinos no so Conecte a menos que o bit de configurao ICPRT est definido. Para NC / ICPORTS, o pino no
Ligao a menos ICPRT est definido eo bit configurao de depurao est desmarcada.
v 2009 Microchip Technology Inc. DS39632E-pgina 17
PIC18F2455/2550/4455/4550
TABELA 1-3:
Nome do pino
PIC18F4455/4550 DESCRIES pinagem I / O (Continuao)
Nmero Pin
PDIP
Pin tampo
QFN TQFP Tipo Tipo
Descrio
PORTB uma porta de I / O bidirecional. PORTB podem ser
software
programado para internos fracos pull-ups em todas as entradas.
RB0/AN12/INT0 /
FLT0/SDI/SDA
RB0
AN12
INT0
FLT0
SDI
SDA
RB1/AN10/INT1/SCK /
SCL
RB1
AN10
INT1
SCK
SCL
RB2/AN8/INT2/VMO
RB2
AN8
INT2
VMO
RB3/AN9/CCP2/VPO
RB3
AN9
CCP2(1)
VPO
RB4/AN11/KBI0/CSSPP
RB4
AN11
KBI0
CSSPP
RB5/KBI1/PGM
RB5
KBI1
PGM
RB6/KBI2/PGC
RB6
KBI2
PGC
RB7/KBI3/PGD
RB7
KBI3
PGD
33 9 8
I / O
Eu
Eu
Eu
Eu
I / O
TTL
Anlogo
ST
ST
ST
ST
Digital I / O.
A entrada analgica 12.
0 interrupo externa.
Entrada de falha maior PWM (ECCP1 mdulo).
Dados SPI dentro
I2C dados de I / O.
34 10 9
I / O
Eu
Eu
I / O
I / O
TTL
Anlogo
ST
ST
ST
TTL
Anlogo
ST
-
TTL
Anlogo
ST
-
TTL
Anlogo
TTL
-
TTL
TTL
ST
TTL
TTL
ST
TTL
TTL
ST
Digital I / O.
A entrada analgica 10.
Interrupo externa 1.
Synchronous entrada de clock serial / sada para o modo SPI.
Synchronous entrada de clock serial / sada para o modo I2C.
Digital I / O.
A entrada analgica 8.
Interrupo externa 2.
Sada externa USB transceiver VMO.
Digital I / O.
A entrada analgica 9.
Capturar dois input / Comparar 2 output/PWM2 sada.
Sada externa USB transceiver VPO.
Digital I / O.
A entrada analgica 11.
Pino de interrupo-on-mudana.
SPP sada de controle select chip.
Digital I / O.
Pino de interrupo-on-mudana.
ICSP Low-Voltage Programao permitir pin.
Digital I / O.
Pino de interrupo-on-mudana.
In-Circuit Debugger e ICSP pino do relgio de programao.
Digital I / O.
Pino de interrupo-on-mudana.
In-Circuit Debugger e pino de dados de programao ICSP.
35 11 10
I / O
Eu
Eu
O
36 12 11
I / O
Eu
I / O
O
37 14 14
I / O
Eu
Eu
O
38 15 15
I / O
Eu
I / O
39 16 16
I / O
Eu
I / O
40 17 17
I / O
Eu
I / O
Legenda: = TTL compatvel inputCMOS = entrada compatvel CMOS TTL ou sada
ST = entrada Schmitt Trigger com nveis CMOS I = Input
O = OutputP = Potncia
Nota 1: Atribuio alternativo para CCP2 quando CCP2MX bit configurao est desmarcada.
2: Atribuio padro para CCP2 quando CCP2MX bit de configurao est definido.
3: Estes pinos no so Conecte a menos que o bit de configurao ICPRT est definido. Para NC / ICPORTS, o pino no
Ligao a menos ICPRT est definido eo bit configurao de depurao est desmarcada.
DS39632E-pgina 18 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 1-3:
Nome do pino
PIC18F4455/4550 DESCRIES pinagem I / O (Continuao)
Nmero Pin
PDIP
15
Pin tampo
QFN TQFP Tipo Tipo
34 32
I / O
O
Eu
16 35 35
I / O
Eu
I / O
O
17 36 36
I / O
I / O
O
23 42 42
Eu
I / O
Eu
24 43 43
Eu
I / O
Eu
25 44 44
I / O
O
I / O
26 1 1
I / O
Eu
I / O
O
ST
ST
ST
-
Digital I / O.
EUSART assncrona receber.
EUSART dados sncronos (ver TX / CK).
Dados SPI fora.
ST
-
ST
Digital I / O.
EUSART assncrona transmitir.
EUSART sncrona relgio (ver RX / DT).
TTL
-
TTL
Entrada digital.
Diferencial USB alm de linha (entrada / sada).
VP entrada USB externo transceptor.
TTL
-
TTL
Entrada digital.
Diferencial USB menos de linha (entrada / sada).
VM entrada USB externo transceptor.
ST
ST
TTL
Digital I / O.
Captura de um input / Compare 1 output/PWM1 sada.
Sada PWM maior CCP1, canal A.
ST
CMOS
ST
-
Digital I / O.
Timer1 entrada do oscilador.
Capturar dois input / Comparar 2 output/PWM2 sada.
Sada externa USB transceiver OE.
ST
-
ST
Digital I / O.
Timer1 sada do oscilador.
Timer1/Timer3 entrada de clock externo.
Descrio
PORTC uma porta de I / O bidirecional.
RC0/T1OSO/T13CKI
RC0
T1OSO
T13CKI
RC1/T1OSI/CCP2 /
UOE
RC1
T1OSI
CCP2(2)
UOE
RC2/CCP1/P1A
RC2
CCP1
P1A
RC4/D-/VM
RC4
D-
VM
RC5 / D + / VP
RC5
D +
VP
RC6/TX/CK
RC6
TX
CK
RC7/RX/DT/SDO
RC7
RX
DT
SDO
Legenda: = TTL compatvel inputCMOS = entrada compatvel CMOS TTL ou sada
ST = entrada Schmitt Trigger com nveis CMOS I = Input
O = OutputP = Potncia
Nota 1: Atribuio alternativo para CCP2 quando CCP2MX bit configurao est desmarcada.
2: Atribuio padro para CCP2 quando CCP2MX bit de configurao est definido.
3: Estes pinos no so Conecte a menos que o bit de configurao ICPRT est definido. Para NC / ICPORTS, o pino no
Ligao a menos ICPRT est definido eo bit configurao de depurao est desmarcada.
v 2009 Microchip Technology Inc. DS39632E-pgina 19
PIC18F2455/2550/4455/4550
TABELA 1-3:
Nome do pino
PIC18F4455/4550 DESCRIES pinagem I / O (Continuao)
Nmero Pin
PDIP
Pin tampo
QFN TQFP Tipo Tipo
Descrio
PORTD uma porta bidirecional I / O ou Transmisso
Porta Paralela (SPP). Estes pinos tm buffers de entrada TTL
quando o mdulo SPP est habilitado.
RD0/SPP0
RD0
SPP0
RD1/SPP1
RD1
SPP1
RD2/SPP2
RD2
SPP2
RD3/SPP3
RD3
SPP3
RD4/SPP4
RD4
SPP4
RD5/SPP5/P1B
RD5
SPP5
P1B
RD6/SPP6/P1C
RD6
SPP6
P1C
RD7/SPP7/P1D
RD7
SPP7
P1D
19 38 38
I / O
I / O
ST
TTL
ST
TTL
ST
TTL
ST
TTL
ST
TTL
ST
TTL
-
ST
TTL
-
ST
TTL
-
Digital I / O.
Transmisso de dados da porta paralela.
Digital I / O.
Transmisso de dados da porta paralela.
Digital I / O.
Transmisso de dados da porta paralela.
Digital I / O.
Transmisso de dados da porta paralela.
Digital I / O.
Transmisso de dados da porta paralela.
Digital I / O.
Transmisso de dados da porta paralela.
Sada PWM maior CCP1, canal B.
Digital I / O.
Transmisso de dados da porta paralela.
Sada PWM maior CCP1, canal C.
Digital I / O.
Transmisso de dados da porta paralela.
Sada PWM maior CCP1, canal D.
20 39 39
I / O
I / O
21 40 40
I / O
I / O
22 41 41
I / O
I / O
27 2 2
I / O
I / O
28 3 3
I / O
I / O
O
29 4 4
I / O
I / O
O
30 5 5
I / O
I / O
O
Legenda: = TTL compatvel inputCMOS = entrada compatvel CMOS TTL ou sada
ST = entrada Schmitt Trigger com nveis CMOS I = Input
O = OutputP = Potncia
Nota 1: Atribuio alternativo para CCP2 quando CCP2MX bit configurao est desmarcada.
2: Atribuio padro para CCP2 quando CCP2MX bit de configurao est definido.
3: Estes pinos no so Conecte a menos que o bit de configurao ICPRT est definido. Para NC / ICPORTS, o pino no
Ligao a menos ICPRT est definido eo bit configurao de depurao est desmarcada.
DS39632E-pgina 20 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 1-3:
Nome do pino
PIC18F4455/4550 DESCRIES pinagem I / O (Continuao)
Nmero Pin
PDIP
8
Pin tampo
QFN TQFP Tipo Tipo
25 25
I / O
Eu
O
9 26 26
I / O
Eu
O
10 27 27
I / O
Eu
O
- - -
6, 29
-
P
P
P
12, 31 6, 30,
31
ST
Anlogo
-
-
-
-
-
Digital I / O.
A entrada analgica 7.
SPP sada ativar a sada.
Veja MCLR/VPP/RE3 pin.
Referncia de terra para a lgica e I / O dos pinos.
Alimentao positiva para a lgica e I / O dos
pinos.
Interno USB 3.3V sada do regulador de tenso, positivo
fornecer para o transceptor USB.
No Connect ou dedicado CID / ICSP relgio porto.
In-Circuit Debugger relgio.
ICSP programao do relgio.
No Connect ou dedicado CID / ICSP relgio porto.
Dados In-Circuit Debugger.
Dados de programao ICSP.
No Connect ou dedicado CID / ICSP porta Reset.
Limpar entrada Master (Reset).
Programao de tenso de entrada.
Sem emulao de dispositivo Connect ou 28 pinos.
Ativar emulao de dispositivo de 28 pinos quando conectado
a VSS.
No Connect.
ST
Anlogo
-
Digital I / O.
A entrada analgica 6.
SPP relgio sada 2.
ST
Anlogo
-
Digital I / O.
A entrada analgica 5.
SPP relgio uma sada.
Descrio
PORTE uma porta de I / O bidirecional.
RE0/AN5/CK1SPP
RE0
AN5
CK1SPP
RE1/AN6/CK2SPP
RE1
AN6
CK2SPP
RE2/AN7/OESPP
RE2
AN7
OESPP
RE3
VSS
VDD
VUSB
NC / ICCK / ICPGC(3)
ICCK
ICPGC
NC / ICDT / ICPGD(3)
ICDT
ICPGD
NC / ICRST / ICVPP(3)
ICRST
ICVPP
NC / ICPORTS(3)
ICPORTS
NC
11, 32 7, 8, 7, 28
28, 29
18
-
37
-
37
12
I / O
I / O
- - 13
I / O
I / O
- - 33
Eu
P
- - 34 P
ST
ST
ST
ST
-
-
-
- 13 - - -
Legenda: = TTL compatvel inputCMOS = entrada compatvel CMOS TTL ou sada
ST = entrada Schmitt Trigger com nveis CMOS I = Input
O = OutputP = Potncia
Nota 1: Atribuio alternativo para CCP2 quando CCP2MX bit configurao est desmarcada.
2: Atribuio padro para CCP2 quando CCP2MX bit de configurao est definido.
3: Estes pinos no so Conecte a menos que o bit de configurao ICPRT est definido. Para NC / ICPORTS, o pino no
Ligao a menos ICPRT est definido eo bit configurao de depurao est desmarcada.
v 2009 Microchip Technology Inc. DS39632E-pgina 21
PIC18F2455/2550/4455/4550
NOTAS:
DS39632E-pgina 22 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
2.0
2.1
OSCILADOR
CONFIGURATIONS
Viso global
2.2 Tipos de oscilador
Dispositivos na famlia PIC18F2455/2550/4455/4550
incorporar um oscilador e microcontrolador diferente
sistema de relgio de dispositivos PIC18F anteriores. A adi-
o do mdulo USB, com as suas necessidades especficas
para uma fonte de clock estvel, tornam necessrio fornecer
uma fonte de clock separado, que compatvel com ambos
Especificaes USB de baixa velocidade e de velocidade mxima.
Para atender a essas exigncias, PIC18F2455 /
2550/4455/4550 dispositivos incluem um novo ramo do relgio para
fornecer um relgio de 48 MHz para operao USB full-speed.
Uma vez que expulso do relgio fonte primria, um
sistema adicional de prescalers e postscalers tem
foi adicionada para acomodar uma vasta gama de oscilador
freqncias. Uma viso geral da estrutura do oscilador
mostrado na Figura 2-1.
Outras caractersticas de osciladores utilizados na PIC18 reforada
microcontroladores, como o bloco de oscilador interno
e relgio de comutao, permanecem os mesmos. Eles so
discutido mais adiante neste captulo.
PIC18F2455/2550/4455/4550 dispositivos podem ser operados
em doze modos distintos de oscilador. Em contraste com pr-
rior PIC18 maior microcontroladores, quatro deles
modos envolvem a utilizao de dois tipos de oscilador de uma vez.
Os usurios podem programar o FOSC3: FOSC0 Configurao
bits para selecionar um desses modos:
XTCrystal / ressonador
HSHigh velocidade cristal / ressonador
HSPLL alta velocidade cristal / ressonador
com PLL ativado
4. Relgio ECExternal com FOSC / 4 Sada
5. Relgio ECIOExternal com I / O em RA6
6. ECPLL relgio externo com PLL ativado
e FOSC / 4 Sada em RA6
7. ECPIO relgio externo com PLL habilitado,
I / O em RA6
8. INTHS oscilador interno usado como
Microcontrolador Clock Source, HS
Oscilador usado como USB Clock Source
9. Intio oscilador interno usado como
Microcontrolador Clock Source, CE
Oscilador usado como USB Fonte de relgio,
Digital I / O em RA6
10. INTCKO oscilador interno usado como
Microcontrolador Clock Source, CE
Oscilador usado como USB Fonte de relgio,
FOSC / 4 Sada em RA6
1.
2.
3.
2.1.1 CONTROLE DE OSCILADOR
O funcionamento do oscilador em PIC18F2455/2550 /
4455/4550 dispositivos controlada atravs de duas configura-
registros de rao e dois registros de controle. Configurao
registradores, CONFIG1L e CONFIG1H, selecione o
modo de oscilador e opes prescaler / postscaler USB.
Como os bits de configurao, estes so definidos quando o
dispositivo est
programado e deixado em que a configurao at o
dispositivo reprogramado.
O registo OSCCON (Register 2-2) seleciona a atividade
Modo de relgio, que utilizado principalmente no controle de
relgio
mudana nos modos de potncia gerenciados. A sua utilizao est
discutido 2.4.1 "Control Oscillator
Registrar-se ".
O registo OSCTUNE (Register 2-1) usado para aparar
a fonte de frequncia INTRC, bem como a escolha
fonte de clock de baixa freqncia que impulsiona vrios especial
caractersticas. A sua utilizao descrito em Seo 2.2.5.2
"OSCTUNE Register".
2.2.1 MODOS oscilador e
OPERAO USB
Devido aos requisitos nicos do mdulo USB,
uma abordagem diferente para a operao do relgio necessrio.
Em
dispositivos anteriores PIC , todos os principais e relgios
perifricos
foram conduzidos por uma nica fonte de oscilador; usuais
fontes foram primrio, secundrio ou o interno oscilao
tor. Com PIC18F2455/2550/4455/4550 dispositivos, o pri-
mary oscilador torna-se parte do mdulo USB e
no pode ser associado a qualquer outra fonte de relgio. Assim,
o mdulo USB deve ser cronometrado do relgio primrio
origem, no entanto, o ncleo microcontrolador e outros
perifricos podem ser cronometrado separadamente do
osciladores secundrias ou internas como antes.
Devido aos requisitos de tempo impostos pela USB
necessrio um relgio interno de um ou outro de 6 MHz ou 48
MHz.
enquanto o mdulo USB est ativada. Felizmente, o
microcontrolador e outros perifricos, no so necessrios
para executar a esta velocidade de relgio quando se utiliza o
primrio
oscilador. Existem diversas opes para atingir o
Mdulo exigncia relgio USB e ainda fornecer fle-
dade para cronometrar o resto do dispositivo a partir do primrio
fonte de oscilador. Estes so detalhados na Seo 2.3
"Definies do oscilador para USB".
v 2009 Microchip Technology Inc. DS39632E-pgina 23
PIC18F2455/2550/4455/4550
Figura 2-1: PIC18F2455/2550/4455/4550 CLOCK ESQUEMA
PIC18F2455/2550/4455/4550
PLLDIV
| 12
| 10
PLL Prescaler
|6
|5
|4
|3
|2
|1
111
110
101
MUX
100
011
010
001
000
HSPLL, ECPLL,
XTPLL, ECPIO
CPUDIV
PLL postscaler
|6
|4
|3
|2
11
10
01
00
1
0
CPU
IDLEN
MUX
Perifricos
|4
0
FSEN
1
(4 MHz somente entrada)
96 MHz
PLL
|2
USBDIV
0
1
USB Clock Source
Oscilador primrio
OSC2
Dormir
OSC1
USB
Perifrico
CPUDIV
Postscaler
oscilador
|4
|3
|2
|1
11
10
01
00
XT, HS, CE, ECIO
Primrio
Relgio
FOSC3: FOSC0
T1OSC
Oscilador secundrio
T1OSO
T1OSCEN
Permitir
Oscilador
OSCCON <6:04>
8 MHz
INTOSC
postscaler
Interno
Oscilador
Bloquear
8 MHz
Fonte
INTRC
Fonte
4 MHz
2 MHz
1 MHz
500 kHz
250 kHz
125 kHz
111
110
101
MUX 100
011
010
001
Oscilador interno
T1OSI
Relgio
Controle
FOSC3: FOSC0 OSCCON <1:00>
8 MHz
(INTOSC)
31 kHz (INTRC)
131 kHz
000
0
OSCTUNE <7>
Opo de fonte de clock
para outros mdulos
WDT, PWRT, FSCM
e duas velocidades Start-up
DS39632E-pgina 24 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
2.2.2 Oscilador de cristal / cermica
RESONATORS
TABELA 2-1: CAPACITOR PARA SELEO
Ressonadores cermicos
Freq
4.0 MHz
8.0 MHz
16,0 MHz
OSC1
33 pF
27 pF
22 pF
OSC2
33 pF
27 pF
22 pF
No HS, HSPLL, XT e modos de oscilador XTPLL, um
cristal ou ressonador cermico ligado ao OSC1
e OSC2 pinos para estabelecer oscilao. Figura 2-2
mostra as conexes de pinos.
O design do oscilador requer o uso de um corte paralelo
cristal.
Nota: Utilizao de um cristal de corte srie pode dar uma
fre-
cia de o fabricante de cristal
especificaes.
Os valores dos capacitores tpicos usados:
Modo
XT
HS
Os valores dos capacitores so apenas para orientao design.
Estes condensadores foram testados com os ressonadores
listados abaixo para bsico start-up e operao. Estes
Os valores no so otimizados.
Diferentes valores de capacitores pode ser obrigado a produzir
operao oscilador aceitvel. O usurio deve testar
o desempenho do oscilador sobre o esperado
Faixa de VDD e temperatura para a aplicao.
Veja as notas de acordo com o quadro 2-2 para obter
informao.
Ressonadores usado:
4.0 MHz
8.0 MHz
16,0 MHz
Ao utilizar ressonadores de cermica com freqncias
acima de 3,5 MHz, modo HS recomendado em XT
modo. Modo SH podem ser utilizados em qualquer VDD para os
quais
o controlador avaliado. Se HS selecionado, o ganho do
oscilador pode ultrapassagem do ressonador. Portanto, um
resistncia em srie deve ser colocado entre a OSC2
pin e do ressonador. Como um bom ponto de partida, o
valor recomendado de RS 330 . .
Figura 2-2: CRYSTAL / cermica
OPERAO RESONATOR
(XT, HS OU HSPLL
CONFIGURAO)
OSC1
A
Interno
Lgica
Dormir
C1(1)
XTAL
RS(2)
C2(1)
OSC2
RF(3)
PIC18FXXXX
Nota 1: Ver Quadro 2-1 e Quadro 2-2 para os valores iniciais de
C1 e C2.
2: A resistncia em srie (RS) pode ser necessria para a AT
tira cristais de corte.
3: RF varia de acordo com o modo do oscilador escolhida.
v 2009 Microchip Technology Inc. DS39632E-pgina 25
PIC18F2455/2550/4455/4550
TABELA 2-2: CAPACITOR PARA SELEO
Oscilador de cristal
Cristal
Freq
4 MHz
4 MHz
8 MHz
20 MHz
Valores tpicos de capacitores
Testado:
C1
27 pF
27 pF
22 pF
15 pF
C2
27 pF
27 pF
22 pF
15 pF
Relgio de
Ext. Sistema
Aberto
Figura 2-3: EXTERNO entrada de clock
OPERAO (HS OSC
CONFIGURAO)
OSC1
Osc Tipo
XT
HS
PIC18FXXXX
OSC2
(Modo HS)
2.2.3 EXTERNO entrada de clock
Os valores dos capacitores so apenas para orientao design.
Estes condensadores foram testados com os cristais referidos
abaixo bsica start-up e operao. Estes valores
no so otimizados.
Diferentes valores de capacitores pode ser obrigado a produzir
operao oscilador aceitvel. O usurio deve testar
o desempenho do oscilador sobre o esperado
Faixa de VDD e temperatura para a aplicao.
Veja as notas que seguem esta tabela para o adicional
informao.
Cristais usado:
4 MHz
8 MHz
20 MHz
Nota 1: Capacitncia maior aumenta a estabilidade
do oscilador, mas tambm aumenta o
tempo de arranque.
2: Quando estiver operando abaixo de 3V VDD, ou
quando
utilizando certos ressonadores cermicos em qualquer
tenso, pode ser necessrio usar o
Modo HS ou mudar para um oscilador de cristal.
3: Uma vez que cada ressonador / cristal tem o seu
prprio
caractersticas, o usurio deve consultar
o fabricante ressonador / cristal para
appropriatevaluesofexternal
componentes.
4: Rs pode ser necessria para evitar distorcer
cristais com baixo nvel de especificao da unidade.
5: Sempre verificar o desempenho do oscilador mais
VDD e o intervalo de temperatura que
esperado para a aplicao.
Um postscaler interna permite aos usurios selecionar um relgio
frequncia diferente do que a do cristal ou ressonador.
Diviso de frequncia determinada pelo CPUDIV
Bits de configurao. Os usurios podem selecionar uma freqncia
de clock
da frequncia do oscilador, ou 1/2, 1/3 ou 1/4 da
freqncia.
Um relgio externo podem tambm ser utilizados quando o micro-
controlador est no modo oscilador HS. Neste caso, o
OSC2/CLKO pino deixada em aberto (Figura 2-3).
Os modos de oscilador CE, ECIO, ECPLL e ECPIO
requerem uma fonte de relgio externo a ser ligado ao
Pin OSC1. No h tempo start-up oscilador necessrio
depois de um Power-on Reset ou depois de uma sada de sono
modo.
Na CE e os modos de oscilador ECPLL, o oscilador
frequncia dividida por 4 est disponvel no pino OSC2.
Este sinal pode ser utilizado para fins de ensaio ou
sincronizar outra lgica. A Figura 2-4 mostra o pino
conexes para o modo de oscilador CE.
FIGURA 2-4: Relgio externo
Operao de entrada
(CE E ECPLL
CONFIGURAO)
OSC1/CLKI
Relgio de
Ext. Sistema
FOSC / 4
PIC18FXXXX
OSC2/CLKO
Os modos de oscilador ECIO e ECPIO funcionar como o
CE e modos ECPLL, exceto que o pino OSC2
torna-se um objetivo geral pino I / O adicional. O I / O
pin torna bit 6 da PORTA (RA6). Figura 2-5 mostra
as conexes de pinos para o modo de oscilador ECIO.
FIGURA 2-5: Relgio externo
Operao de entrada
(ECIO E ECPIO
CONFIGURAO)
OSC1/CLKI
Relgio de
Ext. Sistema
RA6
PIC18FXXXX
I / O (OSC2)
O postscaler interna para reduzir a freqncia de clock em
XT e modos SH tambm est disponvel em CE e ECIO
modos.
DS39632E-pgina 26 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
2.2.4 PLL multiplicador de frequncia 2.2.5 INTERNO DO BLOCO OSCILADOR
PIC18F2455/2550/4255/4550 dispositivos incluem uma Fase
Circuito circuito (PLL) bloqueado. Isto fornecido especificamente
para aplicaes USB com osciladores e de velocidade mais baixos
tambm pode ser usado como uma fonte de relgio do
microcontrolador.
O PLL habilitado em HSPLL, XTPLL, ECPLL e
Modos de oscilador ECPIO. Ele projetado para produzir um
fixo de 96 MHz relgio de referncia a partir de uma entrada MHz
fixo 4.
A sada pode ser ento dividido e utilizado tanto para o
USB eo clock do ncleo microcontrolador. Porque o
PLL tem uma frequncia de entrada fixa e de sada, existem
oito opes prescaling para coincidir com a entrada do oscilador
a frequncia do PLL.
Tambm existe uma opo postscaler separado para derivar
o relgio a partir do microcontrolador de PLL. Isto permite que o
Perifrico USB e um microcontrolador para usar a mesma
entrada do oscilador e ainda operam no relgio diferente
velocidades. Em contraste com a postscaler para XT, HS e CE
modos, as opes disponveis so de 1/2, 1/3, 1/4 e 1/6
da sada do PLL.
Os modos HSPLL, ECPLL ECPIO e fazer uso de
o modo de oscilador HS para freqncias de at 48 MHz.
O divisor divide a entrada do oscilador por at 12 a
produzir a unidade de 4 MHz para o PLL. O modo XTPLL
s pode usar uma frequncia de entrada de 4 MHz que impulsiona
o PLL directamente.
Os dispositivos incluem PIC18F2455/2550/4455/4550
bloco interno oscilador que gera dois diferentes
sinais de relgio, ou pode ser usado como o microcontrolador
fonte de relgio. Se o perifrico USB no for utilizado, o
oscilador interno pode eliminar a necessidade de externa
circuitos osciladores nas OSC1 e / ou pinos OSC2.
A sada principal (INTOSC) uma fonte de clock de 8 MHz
que pode ser usado para conduzir directamente o relgio do
dispositivo. Ele
Tambm conduz a postscaler INTOSC que pode proporcionar uma
faixa de freqncias de clock de 31 kHz a 4 MHz. O
INTOSC sada ativada quando a freqncia de clock
a partir de 125 kHz a 8 MHz selecionado.
A outra fonte o oscilador de relgio interno RC
(INTRC), que fornece uma sada nominal de 31 kHz.
INTRC est habilitado, se for selecionado como o relgio do
dispositivo
fonte, mas tambm ativado automaticamente quando qualquer um
dos
So ativado:




Power-up timer
Fail-safe Monitor de Relgio
Watchdog Timer
Duas Velocidades Start-up
Estas caractersticas so discutidas em maior detalhe nas
Seo 25,0 "Caractersticas especiais da CPU".
A freqncia de clock source (INTOSC direta, INTRC
direta ou INTOSC postscaler) selecionado, configurando
os bits IRCF do registo OSCCON (pgina 33).
Figura 2-6: PLL DIAGRAMA DE BLOCO
(MODE HS)
2.2.5.1 Modos de oscilador interno
HS / EC / ECIO / XT oscilador Ativar
PLL Ativar
(A partir de CONFIG1H Register)
OSC2
Oscilador
e
OSC1
Prescaler
FIN
FOUT
Fase
Comparador
Quando o oscilador interno utilizado como o micro-
fonte de relgio do controlador, um do outro oscilador
modos (relgio externo ou cristal externo / ressonador)
devem ser utilizados como fonte de relgio USB. A escolha de uma
a fonte do relgio USB for determinado pelo nomeadamente
Modo oscilador interno.
Existem quatro modos distintos disponveis:
1.
2.
3.
MUX
SYSCLK
Lao
Filtre
| 2 4 VCO
4.
INTHS modo: O relgio USB fornecida pela
oscilador no modo HS.
INTXT modo: O relgio USB fornecida pela
oscilador em modo XT.
INTCKO modo: O relgio USB fornecida por um
entrada do relgio externo OSC1/CLKI; OSC2 o /
CLKO pin sadas FOSC / 4.
Modo intio: O relgio USB fornecida por um
entrada do relgio externo OSC1/CLKI; OSC2 o /
CLKO pino funciona como um I / O (RA6) digital.
Desses quatro modos, s o modo de intio libera uma
pin adicional (OSC2/CLKO/RA6) para a porta uso de E / S.
v 2009 Microchip Technology Inc. DS39632E-pgina 27
PIC18F2455/2550/4455/4550
2.2.5.2 OSCTUNE Registrar 2.2.5.3
A sada do oscilador interno foi calibrado
na fbrica, mas pode ser ajustada no utilizador aplica-
o. Isso feito por escrito para o registro OSCTUNE
(Registrar 2-1). A sensibilidade do ajuste constante
toda a faixa de afinao.
O relgio INTOSC ir estabilizar dentro de 1 ms. Cdigo exe-
cution continua durante este turno. No h nenhuma indicao
que ocorreu a mudana.
O registo OSCTUNE tambm contm o bit INTSRC.
O bit INTSRC permite aos usurios selecionar quais interna
oscilador fornece a fonte de relgio quando a 31 kHz
opo de freqncia selecionada. Isso abordado em maior
detalhe na 2.4.1 "Mdulo de Controle Register".
Interno oscilador de freqncia de sada
e Deriva
O bloco oscilador interno calibrado na fbrica
para produzir uma frequncia de sada INTOSC de 8,0 MHz.
No entanto, esta freqncia pode ser movimentado como VDD ou
tempe-
mudanas tura, que podem afetar a operao do controlador
numa variedade de maneiras.
A baixa freqncia INTRC oscilador opera indepen-
dentemente da fonte INTOSC. Quaisquer mudanas em INTOSC
entre a tenso e a temperatura no so necessariamente
refletido por mudanas na INTRC e vice-versa.
CADASTRE-SE 2-1:
R/W-0
INTSRC
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
OSCTUNE: TUNING OSCILADOR REGISTRAR
U-0
-
U-0
-
R/W-0
TUN4
R/W-0
TUN3
R/W-0
Tun2
R/W-0
Tun1
R/W-0
Tun0
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
INTSRC: Interno oscilador de baixa frequncia de seleco de fonte bit
1= Dispositivo relgio 31,25 kHz derivado de 8 MHz fonte INTOSC (diviso por 256 enabled)
0= 31 kHz dispositivo de relgio derivado diretamente do INTRC oscilador interno
Unimplemented: Leia como '0 '
TUN4: tun0: Frequncia pedaos de Ajuste
01111 = Freqncia mxima


00001
00000 = Freqncia Center. Mdulo oscilador est funcionando na freqncia calibrada.
11111


10000 = Freqncia mnima
bit 6-5
bit 4-0
DS39632E-pgina 28 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
2.2.5.4 Compensando INTOSC Deriva
possvel ajustar a frequncia por INTOSC
modificando o valor no registo OSCTUNE. Isto tem
nenhum efeito sobre a frequncia de relgio fonte INTRC.
Ajustando a fonte INTOSC exige saber quando
fazer o ajuste, em que direo deve ser
feita e, em alguns casos, como uma grande mudana
necessrio. Quando se utiliza o EUSART, por exemplo, um
ajuste pode ser necessrio quando se comea a gerar
enquadrando erros ou recebe os dados com erros, enquanto em
Modo assncrono. Erros de enquadramento indicam que a
frequncia de relgio do dispositivo demasiado elevado, para
ajustar para este,
diminuir o valor na OSCTUNE para reduzir o relgio
freqncia. Por outro lado, erros nos dados podem suge-
rem que a velocidade do clock muito baixo, para compensar,
incrementar OSCTUNE para aumentar a freqncia de clock.
Tambm possvel verificar a velocidade do relgio do dispositivo
contra
um relgio de referncia. Podem ser utilizados dois temporizadores:
um temporizador
cronometrado pelo relgio perifrica, enquanto que a outra est
temporizados pela fonte de referncia fixo, tal como o
Timer1 oscilador. Ambos os timers so apagadas, mas o timer
temporizados pela referncia gera interrupes. Quando
ocorre uma interrupo, o temporizador com clock internamente
lido
e ambos os temporizadores so apagadas. Se o clock internamente
valor do temporizador for maior do que o esperado, o interno
bloco oscilador est correndo muito rpido. Para ajustar para isso,
diminuir o registo OSCTUNE.
Finalmente, um mdulo CCP pode usar Timer1 free-running (ou
Timer3), cronometrado pelo bloco interno e um oscilador
evento externo com um perodo conhecido (ou seja, a energia AC
freqncia). O tempo do primeiro evento capturado no
CCPRxH: CCPRxL registra e est registrado para uso
mais tarde. Quando o segundo evento provoca uma captura, o
tempo do primeiro evento subtrado a partir do momento da
segundo evento. Uma vez que o perodo do evento externo
conhecida, a diferena de tempo entre os eventos podem ser
calculado.
Se o tempo medido muito maior do que a cal-
lated tempo, o bloco oscilador interno est funcionando muito
rpido, para compensar, diminuir o registo OSCTUNE.
Se o tempo medido muito menor do que a calculada
tempo, o bloco oscilador interno est muito lento, para
compensar, incrementar o registo OSCTUNE.
v 2009 Microchip Technology Inc. DS39632E-pgina 29
PIC18F2455/2550/4455/4550
2.3 Configuraes de oscilador para USB
Quando estes dispositivos so usados para a conectividade USB,
que deve ter um 6 MHz ou 48 MHz de clock para
Funcionamento USB, dependendo se a baixa velocidade ou
Modo Full-Speed est sendo usado. Isso pode exigir algum
premeditao na seleo de uma freqncia de oscilador e
a programao do dispositivo.
A ampla gama de configuraes possveis do oscilador
compatvel com o funcionamento USB mostrado na Tabela 2-3.
activo e a fonte de relgio do controlador um dos
modos de oscilador primrio (XT, HS ou CE, com ou sem
o PLL).
Esta restrio no se aplica se o microcontrolador
fonte de relgio o oscilador secundrio ou interno
bloco oscilador.
2.3.2 FUNCIONAMENTO USB DIFERENTE E
RELGIOS microcontrolador
2.3.1 Operao de baixa velocidade
O relgio para o modo USB de baixa velocidade derivado do
cadeia oscilador primrio e no diretamente do PLL. Ele
dividido por 4 MHz para produzir o relgio real 6.
Devido a isso, o microcontrolador pode usar apenas um
frequncia de relgio de 24 MHz quando o mdulo USB
O mdulo USB, em qualquer modo, pode ser executado asynchro-
nously em relao ao ncleo do microcontrolador e
outros perifricos. Isso significa que os aplicativos podem usar
o oscilador principal para o relgio USB enquanto o micro-
controlador executado a partir de uma fonte de clock separado a
um menor
velocidade. Se for necessrio para executar o aplicativo inteiro
a partir de uma nica fonte de clock de operao, full-speed
proporciona uma maior seleo de relgio microcontrolador
freqncias.
TABELA 2-3: OSCILLATOR opes de configurao para a operao USB
PLL Diviso
(PLLDIV2: PLLDIV0)
N / D(1)
Modo Relgio
(FOSC3: FOSC0)
CE, ECIO
MCU Diviso Relgio
(CPUDIV1: CPUDIV0)
Nenhum (00)
| 2 (01)
| 3 (10)
| 4 (11)
Microcontrolador
Frequncia
48 MHz
24 MHz
16 MHz
12 MHz
48 MHz
24 MHz
16 MHz
12 MHz
48 MHz
32 MHz
24 MHz
16 MHz
40 MHz
20 MHz
13,33 MHz
10 MHz
48 MHz
32 MHz
24 MHz
16 MHz
24 MHz
12 MHz
8 MHz
6 MHz
48 MHz
32 MHz
24 MHz
16 MHz
Oscilador de entrada
Freqncia
48 MHz
48 MHz | 1 2 (111) CE, ECIO Nenhum (00)
| 2 (01)
| 3 (10)
| 4 (11)
ECPLL, ECPIO | 2 (00)
| 3 (01)
| 4 (10)
| 6 (11)
40 MHz | 1 0 (110) CE, ECIO Nenhum (00)
| 2 (01)
| 3 (10)
| 4 (11)
ECPLL, ECPIO | 2 (00)
| 3 (01)
| 4 (10)
| 6 (11)
24 MHz | 6 (101) HS, CE, ECIO Nenhum (00)
| 2 (01)
| 3 (10)
| 4 (11)
HSPLL, ECPLL, ECPIO | 2 (00)
| 3 (01)
| 4 (10)
| 6 (11)
Legenda:
Nota 1:
Todas as freqncias de clock, com exceo de 24 MHz, esto exclusivamente associado com a operao full-speed USB (USB relgio de
48 MHz).
Negrito utilizado para destacar as selees de clock que so compatveis com o funcionamento USB de baixa velocidade (clock do sistema
de 24 MHz,
Relgio USB de 6 MHz).
S vlido quando o bit de configurao USBDIV est desmarcada.
DS39632E-pgina 30 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 2-3: OSCILLATOR opes de configurao para a operao USB (continuao)
PLL Diviso
(PLLDIV2: PLLDIV0)
| 5 (100)
Modo Relgio
(FOSC3: FOSC0)
HS, CE, ECIO
MCU Diviso Relgio
(CPUDIV1: CPUDIV0)
Nenhum (00)
| 2 (01)
| 3 (10)
| 4 (11)
HSPLL, ECPLL, ECPIO | 2 (00)
| 3 (01)
| 4 (10)
| 6 (11)
16 MHz | 4 (011) HS, CE, ECIO Nenhum (00)
| 2 (01)
| 3 (10)
| 4 (11)
HSPLL, ECPLL, ECPIO | 2 (00)
| 3 (01)
| 4 (10)
| 6 (11)
12 MHz | 3 (010) HS, CE, ECIO Nenhum (00)
| 2 (01)
| 3 (10)
| 4 (11)
HSPLL, ECPLL, ECPIO | 2 (00)
| 3 (01)
| 4 (10)
| 6 (11)
8 MHz | 2 (001) HS, CE, ECIO Nenhum (00)
| 2 (01)
| 3 (10)
| 4 (11)
HSPLL, ECPLL, ECPIO | 2 (00)
| 3 (01)
| 4 (10)
| 6 (11)
4 MHz | 1 (000) XT, HS, CE, ECIO Nenhum (00)
| 2 (01)
| 3 (10)
| 4 (11)
HSPLL, ECPLL, XTPLL,
ECPIO
| 2 (00)
| 3 (01)
| 4 (10)
| 6 (11)
Legenda:
Microcontrolador
Frequncia
20 MHz
10 MHz
6,67 MHz
5 MHz
48 MHz
32 MHz
24 MHz
16 MHz
16 MHz
8 MHz
5,33 MHz
4 MHz
48 MHz
32 MHz
24 MHz
16 MHz
12 MHz
6 MHz
4 MHz
3 MHz
48 MHz
32 MHz
24 MHz
16 MHz
8 MHz
4 MHz
2,67 MHz
2 MHz
48 MHz
32 MHz
24 MHz
16 MHz
4 MHz
2 MHz
1,33 MHz
1 MHz
48 MHz
32 MHz
24 MHz
16 MHz
Oscilador de entrada
Freqncia
20 MHz
Nota 1:
Todas as freqncias de clock, com exceo de 24 MHz, esto exclusivamente associado com a operao full-speed USB (USB relgio de
48 MHz).
Negrito utilizado para destacar as selees de clock que so compatveis com o funcionamento USB de baixa velocidade (clock do sistema
de 24 MHz,
Relgio USB de 6 MHz).
S vlido quando o bit de configurao USBDIV est desmarcada.
v 2009 Microchip Technology Inc. DS39632E-pgina 31
PIC18F2455/2550/4455/4550
2.4 Fontes relgio e oscilador
Comutao
A freqncia de oscilao internos Seleccionar bits
IRCF2: IRCF0, selecione a sada do interno freqncia
bloco oscilador para conduzir o relgio do dispositivo. As opes so
a fonte INTRC, a fonte INTOSC (8 MHz) ou um
das frequncias derivadas do INTOSC postscaler
(31 kHz a 4 MHz). Se o bloco de oscilador interno
fornecendo o relgio do dispositivo, mudando os membros dessas
pedaos ter uma mudana imediata no mercado interno oscil-
sada de lator. Em Redefine dispositivo, a sada padro
freqncia do bloco oscilador interno fixado em 1 MHz.
Quando uma freqncia de 31 kHz de sada selecionado
(IRCF2: IRCF0 = 000), os usurios podem escolher qual inter-
oscilador nal atua como a fonte. Isto feito com a
Bit INTSRC no registo OSCTUNE (OSCTUNE <7>).
Definir este bit seleciona INTOSC como um relgio kHz 31,25
fonte, permitindo a sada de diviso por 256 da
INTOSC postscaler. Clearing INTSRC seleciona INTRC
(Nominalmente 31 kHz) como a fonte do relgio.
Esta opo permite aos usurios selecionar o sintonizvel e mais
INTOSC preciso como uma fonte de relgio, mantendo
economia de energia com uma velocidade muito baixa relgio.
Independentemente
da definio de INTSRC, INTRC permanece sempre
fonte de relgio para recursos como o temporizador de Watchdog
ea prova de falhas Monitor de Relgio.
Os USTOS, IOFS e pedaos T1RUN indicar qual relgio
fonte est fornecendo o relgio do dispositivo. Os USTOS
bit indica que o Oscillator Start-up timer (OST) tem
expirou eo relgio principal fornecer o dispositivo
relgio nos modos de relgio primrios. O bit indica IOFS
quando o bloco oscilador interno estabilizou e
fornecendo o relgio do dispositivo em modo relgio de RC. O
T1RUN bit (T1CON <6>) indica quando o Timer1 oscil-
lator est fornecendo o relgio do dispositivo no relgio secundrio
modos. Nos modos de potncia gerenciados, apenas um deles
trs bits ser definido a qualquer momento. Se nenhum destes bits
forem
definido, o INTRC est fornecendo o relgio ou o interno
bloco oscilador apenas comeou e ainda no estvel.
O bit IDLEN determina se o dispositivo entra em sono
um modo, ou um dos modos inactivo, quando o DORMIR
instruo executada.
O uso dos bits de controlo da bandeira e na OSCCON
registo discutida em mais detalhe no Seo 3.0
"Modos de gerenciamento de energia".
Nota 1: O oscilador Timer1 deve estar habilitado para
selecionar a fonte de relgio secundrio. O
Timer1 oscilador ativado, definindo o
T1OSCEN pouco no controle Timer1 regis-
ter (T1CON <3>). Se o oscilador Timer1
no habilitado, ento qualquer tentativa de selecionar um
fonte de relgio secundrio ir ser ignorado.
2: Recomenda-se que o Timer1
oscilador ser operacional e estvel antes
migrando para ele como a fonte de relgio, de outro
sbio, um longo atraso pode ocorrer enquanto
o Timer1 oscilador comea.
Como os dispositivos anteriores PIC18 avanados, o
PIC18F2455/2550/4455/4550 famlia inclui um recurso
que permite que a fonte de relgio do dispositivo para ser ligado a
partir de
o oscilador de um relgio alternativo, de baixa freqncia
fonte. Esses dispositivos oferecem duas relgio alternativo
fontes. Quando uma fonte de relgio alternativa estiver ativada,
os diversos modos de operao poder geridas so
disponvel.
Basicamente, existem trs fontes de relgio para estes
dispositivos:
osciladores primrios
osciladores Secundrio
bloco oscilador interno
O osciladores primrios incluem o cristal externo
e modos de ressonador, os modos do relgio externo e
o bloco oscilador interno. O modo especial
definido pela FOSC3: FOSC0 bits de configurao. O
detalhes destes modos so cobertos anteriormente neste
captulo.
O osciladores secundrias so as fontes externas
no ligado aos pinos OSC1 e OSC2. Estes
fontes podem continuar a funcionar mesmo depois do
controlador colocado em um modo de gerenciamento de energia.
PIC18F2455/2550/4455/4550 dispositivos oferecem o Timer1
oscilador como um oscilador secundrio. Este oscilador, em todos
modos de gesto de energia, muitas vezes a base de tempo para
funes como um relgio de tempo real (RTC). A maioria
muitas vezes, um relgio de cristal 32.768 kHz est conectado
entre o RC0/T1OSO/T13CKI e RC1/T1OSI /
UOE pinos. Como o XT e SH circuitos modo de oscilador,
carregamento condensadores esto tambm ligados a partir de cada
pino
cho. O oscilador Timer1 discutido em maior
detalhe na Seo 12.3 "Timer1 oscilador".
Para alm de ser uma fonte de relgio principal, o interno
bloco oscilador est disponvel como um poder de gesto
fonte de clock mode. A fonte INTRC tambm usado como
a fonte de relgio para vrias caractersticas especiais, tais como
o WDT e no-Safe Monitor de Relgio.
2.4.1 OSCILADOR registro de controle
O registo OSCCON (Register 2-2) controla vrios
aspectos da operao do relgio do dispositivo, tanto em
operao full-poder e nos modos power-gerenciados.
Relgio do Sistema Select bits, SCS1: SCS0, selecione o
fonte de relgio. As fontes de clock disponveis so
relgio primrio (definido pelo FOSC3: FOSC0 configura-
bits de rao), o relgio secundrio (Timer1 oscilador) e
o bloco oscilador interno. As mudanas fonte de relgio
imediatamente depois de um ou mais dos bits gravado,
aps um breve intervalo de transio do relgio. Os bits de SCS
so apagadas em todas as formas de Reset.
DS39632E-pgina 32 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
2.4.2 TRANSITIONS OSCILLATOR
PIC18F2455/2550/4455/4550 dispositivos contm circuitos
para evitar relgio "falhas" quando se alterna entre
fontes de relgio. Uma pequena pausa no relgio do dispositivo
ocorre
durante o interruptor de relgio. A durao desta pausa o
soma de dois ciclos da fonte de relgio velho e trs para
quatro ciclos da nova fonte de relgio. Esta frmula
assume que a nova fonte de relgio estvel.
Transies relgio so discutidos em maior detalhe em
Seo 3.1.2 "Insero de gerenciamento de energia Modes".
CADASTRE-SE 2-2:
R/W-0
IDLEN
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
OSCCON: registro de controle OSCILADOR
R/W-1
IRCF2
R/W-0
IRCF1
R/W-0
IRCF0
R(1)
USTOS
R-0
IOFS
R/W-0
SCS1
R/W-0
SCS0
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
IDLEN: Ocioso Habilitar bit
1= O dispositivo entra em modo de espera DORMIR instruo
0= O dispositivo entra em modo de suspenso DORMIR instruo
IRCF2: IRCF0: Internos Frequency Oscillator Selecionar pedaos
111 = 8 MHz (unidades INTOSC diretamente do relgio)
110 = 4 MHz
101 = 2 MHz
100 = 1 MHz(3)
011 = 500 kHz
010 = 250 kHz
001 = 125 kHz
000 = 31 kHz (a partir de qualquer um ou INTOSC/256 INTRC
directamente)(2)
USTOS: Oscillator Start-up Time-out bit Estado(1)
1= Oscillator Start-up timer tempo limite expirou; oscilador primrio est sendo executado
0= Oscillator Start-up Time-out timer estiver em execuo; oscilador primrio no est pronto
IOFS: INTOSC Frequency pouco estvel
1= Freqncia INTOSC estvel
0= Freqncia INTOSC no estvel
SCS1: SCS0: Sistema de relgio Selecionar
pedaos
1x = Oscilador interno
01 = Timer1 oscilador
00 = Oscilador primrio
Depende do estado do bit de configurao IESO.
Fonte selecionado pelo bit INTSRC (OSCTUNE <7>), veja o texto.
Freqncia de sada padro de INTOSC em Reset.
bit 6-4
bit 3
bit 2
bit 1-0
Nota 1:
2:
3:
v 2009 Microchip Technology Inc. DS39632E-pgina 33
PIC18F2455/2550/4455/4550
2,5 Efeitos de modos de gerenciamento de energia
sobre as diversas fontes de relgio
comando sobre o USB. Uma vez que o mdulo tem de sus-
dependia operao e transferido para um estado de baixa energia, o
microcontrolador pode ser colocado com segurana em modo de
suspenso.
Permitindo que qualquer recurso on-chip que ir operar durante
Sono vai aumentar o consumo de corrente durante o sono.
O INTRC necessrio para suportar a operao WDT. O
Timer1 oscilador pode estar operando para suportar uma
Real-Time Clock. Outras caractersticas que podem ser operarem
no necessitam de uma fonte de relgio do dispositivo (isto , MSSP
escravo
PSP, INTX pinos e outros). Perifricos que podem adicionar
consumo de corrente significativa so listados na
Seo 28.2 "DC Caractersticas: Power-Down e
Corrente de suprimento ".
Quando o modo de PRI_IDLE selecionado, o designado
oscilador primrio continua a funcionar sem interrupo.
Para todos os outros modos de potncia gerenciados, o oscilador
usando o pino OSC1 est desativado. A menos que o USB
mdulo ativado, o pino OSC1 (e OSC2 pin se
utilizada pelo oscilador) parar oscilante.
Nos modos de relgio secundrio (SEC_RUN e
SEC_IDLE), o oscilador est a funcionar e Timer1
proporcionando o relgio do dispositivo. O oscilador Timer1 pode
tambm executar em todos os modos de energia administradas, se
necessrio
relgio Timer1 ou Timer3.
Nos modos de oscilador interno (RC_RUN e RC_IDLE)
o bloco oscilador interno proporciona o relgio do dispositivo
fonte. A sada INTRC 31 kHz pode ser utilizado directamente
para fornecer o relgio e pode ser activado para suportar
vrias caractersticas especiais, independentemente do
modo de potncia de gesto (ver Artigo 25.2 "Watchdog
Timer (WDT) ", seo 25.3" Duas Velocidades Start-up "
e Seo 25,4 "Monitor Relgio prova de falhas" Para mais
informaes sobre WDT, prova de falhas Monitor de relgio e
Duas Velocidades Start-up). A sada INTOSC a 8 MHz
pode ser utilizada directamente para o relgio do dispositivo, ou
pode ser
dividido pelo postscaler. A sada INTOSC
desativado se o relgio fornecido diretamente do INTRC
sada.
Independentemente do modo de funcionamento ou ocioso
selecionado, o USB
fonte de relgio vai continuar a funcionar. Se o dispositivo estiver
operando a partir de um oscilador de cristal ou base de
ressonador,
oscilador que continuar ao relgio do mdulo USB.
O ncleo e todos os outros mdulos vai mudar para o novo
fonte de relgio.
Se o modo de suspenso selecionado, todas as fontes de relgio
so
parado. Dado que todos os transistores de comutao correntes
ter sido interrompido, o modo de suspenso atinge o menor
consumo de corrente do dispositivo (somente vazamento
correntes).
Modo de suspenso no deve nunca ser invocado, enquanto o USB
mdulo est a funcionar e ligado. A nica exceo
quando o dispositivo tiver sido emitida uma "suspenso"
2.6 Atrasos Power-up
Atrasos Power-up so controlados por dois timers para que nenhum
circuitos de reposio externa necessrio para a maioria das
aplicaes.
Os atrasos de assegurar que o dispositivo mantido em Redefinir
at
a fonte de alimentao do dispositivo estvel em condies
normais de circum-
posturas eo relgio primrio est funcionando e estvel.
Para obter informaes adicionais sobre os atrasos de inicializao,
veja
Seo 4.5 "Redefinir Timers dispositivo".
O primeiro temporizador o timer Power-up (PWRT), que
fornece um atraso fixo em power-up (parmetro 33,
Tabela 28-12). Ele ativado por compensao (= 0) o
PWRTEN bit de configurao.
O segundo o temporizador Temporizador Start-up oscilador
(OST), destina-se a manter o chip no Redefinir at o
oscilador de cristal estvel (XT e modos SH). O
OST faz isso contando 1.024 ciclos do oscilador
antes de permitir que o oscilador do relgio do dispositivo.
Quando o modo de oscilador HSPLL for selecionado, o
dispositivo mantido em Reset durante um adicional de 2 ms a
seguir
o HS modo OST atraso, de modo que o PLL pode bloquear a
freqncia de clock de entrada.
H um atraso de intervalo, TCSD (parmetro 38,
Tabela 28-12), a seguir POR, enquanto o controlador
torna-se pronto para executar instrues. Este atraso executado
concorrentemente com quaisquer outros atrasos. Este pode ser o
apenas atraso que ocorre quando qualquer um dos CE ou interna
modos de oscilador so utilizados como a fonte do relgio principal.
TABELA 2-4:
INTCKO
Intio
ECIO, ECPIO
CE
XT e HS
Nota:
OSC1 E OSC2 ESTADOS PIN no modo de inatividade
OSC1 Pin
Flutuante, puxado por relgio externo
Flutuante, puxado por relgio externo
Flutuante, puxado por relgio externo
Flutuante, puxado por relgio externo
Inversor de feedback desativado no repouso
nvel de tenso
OSC2 Pin
Na lgica baixa (relgio / 4 output)
Configurado como PORTA, bit 6
Configurado como PORTA, bit 6
Na lgica baixa (relgio / 4 output)
Inversor de feedback desativado no repouso
nvel de tenso
Modo oscilador
Veja a Tabela 4-2 na Seo 4.0 "Reset" para tempos de espera devido ao sono e MCLR Reset.
DS39632E-pgina 34 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
3.0 Modos de energia de gesto
3.1.1 Fontes de relgio
PIC18F2455/2550/4455/4550 dispositivos oferecem um total de
sete modos de operao para o poder mais eficiente
gesto. Estes modos proporcionam uma variedade de
opes para a conservao de energia seletiva em aplicaes
onde os recursos podem ser limitados (ie, alimentado por bateria
dispositivos).
Existem trs categorias de modos de gerenciamento de energia:
Executar os modos
modos Ocioso
Modo de suspenso
Estas categorias que definem pores do dispositivo
so cronometrados e, por vezes, que a velocidade. The Run e
Modos ociosas podem usar qualquer um dos trs relgio disponvel
fontes (oscilador primrio, secundrio ou interno
bloco), o modo de suspenso no usa uma fonte de clock.
Os modos de potncia gerenciados incluem vrios
recursos de economia de energia disponveis no PIC anterior
dispositivos. Uma delas o recurso de comutao relgio, oferecido
em
PIC18 outros dispositivos, permitindo que o controlador usa o
Timer1 oscilador local do oscilador principal. Tambm
est includo o modo de suspenso, oferecido por todos os
dispositivos PIC,
onde todos os relgios do dispositivo esto parados.
Os SCS1: SCS0 bits permitem a seleo de um dos trs
fontes de relgio para os modos de potncia gerenciados. Eles so:
O relgio principal, tal como definido pela
FOSC3: FOSC0 bits de configurao
O relgio secundrio (o Timer1 oscilador)
O bloco de oscilador interno (para os modos de RC)
3.1.2 ENTRADA DE ENERGIA de gesto
MODOS
Mudar de um modo de gerenciamento de energia para outro
comea a carregar o registo OSCCON. O
SCS1: SCS0 pedaos selecionar a fonte de relgio e determinar
o modo de funcionamento inactivo ou est a ser usado. Alterando
estas
faz com que um comutador de bits de imediato para o novo relgio
fonte, assumindo que ele est sendo executado. O interruptor pode
tambm estar sujeitos a atrasos relgio de transio. So
discutido Seo 3.1.3 "Transitions relgio e
Indicadores de Status " e sees subseqentes.
A entrada para os modos de gesto de energia ocioso ou sono
provocado pela execuo de uma DORMIR instrues. O
Modo real que resulta depende do estado do
IDLEN bit.
Dependendo do modo de corrente e o modo sendo
comutada para, uma mudana para um modo de gerenciamento de
energia no
nem sempre exigem a criao de todos esses bits. Muitos
transies podem ser feitas alterando o oscilador
selecionar os bits, ou alterando o bit IDLEN, antes de emitir um
DORMIR instrues. Se o bit IDLEN j est
configurado correctamente, apenas pode ser necessrio
executar uma DORMIR instrues para alternar para o desejado
modo.
3.1 Selecionando os modos de gerenciamento de
energia
Seleccionar um modo de gerenciamento de energia requer duas
decises: Se a CPU est a ser cronometrado, ou no, e o
seleco de uma fonte de relgio. O bit IDLEN
(OSCCON <7>) controles de clock da CPU, enquanto o
SCS1: SCS0 pedaos (OSCCON <01:00>) selecionar o relgio
fonte. Os modos individuais, configuraes de bits, as fontes de
clock
e mdulos afectadas encontram-se resumidos na Tabela 3-1.
TABELA 3-1:
Modo
Dormir
PRI_RUN
SEC_RUN
RC_RUN
PRI_IDLE
SEC_IDLE
RC_IDLE
Nota 1:
2:
Modos de energia de gesto
OSCCON <7,1:0>
IDLEN (1)
0
N / D
N / D
N / D
1
1
1
SCS1: SCS0
N / D
00
01
1x
00
01
1x
Mdulo Overclock
CPU
Fora
Cronometrado
Cronometrado
Cronometrado
Fora
Fora
Fora
Perifricos
Fora
Cronometrado
Cronometrado
Cronometrado
Cronometrado
Cronometrado
Cronometrado
Disponvel Relgio e oscilador Fonte
None - todos os relgios esto
desabilitados
Primrio - todos os modos de oscilador.
Este o modo de execuo plena potncia normal.
Oscilador Timer1 - Secundrio
Bloco oscilador interno(2)
Primrio - todos os modos de oscilador
Oscilador Timer1 - Secundrio
Bloco oscilador interno(2)
IDLEN reflete seu valor quando o DORMIR instruo executada.
Inclui INTOSC e INTOSC postscaler, bem como a fonte INTRC.
v 2009 Microchip Technology Inc. DS39632E-pgina 35
PIC18F2455/2550/4455/4550
3.1.3 TRANSITIONS relgio e
INDICADORES DE STATUS
A durao da transio entre as fontes de relgio
a soma de dois ciclos da fonte de relgio velho e trs
a quatro ciclos da nova fonte de relgio. Esta frmula
assume que a nova fonte de relgio estvel.
Trs bits indicam a origem e a sua corrente de relgio
estado. Eles so:
USTOS (OSCCON <3>)
IOFS (OSCCON <2>)
T1RUN (T1CON <6>)
Em geral, apenas um destes bits ser definido enquanto numa
determinado modo de gerenciamento de energia. Quando o bit
USTOS
definido, o relgio principal proporcionar o relgio do dispositivo.
Quando o bit IOFS estiver definido, a sada INTOSC provid-
relativa a um, de 8 MHz fonte de relgio estvel a um divisor de que
realmente dirige o relgio do dispositivo. Quando o bit T1RUN
set, o oscilador Timer1 est fornecendo o relgio. Se nenhum
desses bits so definidos, em seguida, o relgio INTRC
fonte de relgio do dispositivo, ou seja a fonte INTOSC
ainda no estvel.
Se o bloco de oscilador interno est configurada como a
relgio fonte primria pela FOSC3: FOSC0 Con-
pedaos figurao, ento ambos os USTOS e IOFS bits podem
ser definido nos modos PRI_RUN ou PRI_IDLE. Este
indica que o relgio principal (sada INTOSC)
gerar uma sada de 8 MHz estvel. Entrar em outro
poder de gesto modo RC na mesma freqncia
abriria bit USTOS.
Nota 1: O cuidado deve ser usado quando a modificao de um
nico bit IRCF. Se for inferior a VDD 3V,
possvel selecionar uma velocidade de clock superior
que apoiada pela baixa VDD.
Operao do dispositivo inadequado pode resultar se
as especificaes VDD / FOSC so violados.
2: A execuo de um DORMIR instruo no
necessariamente colocar o dispositivo no sono
modo. Actua como o gatilho para colocar o
controlador em qualquer modo de suspenso ou
um dos modos de inactividade, dependendo do
definio do bit IDLEN.
3.1.4 VRIOS COMANDOS DO SONO
O modo de gerenciamento de energia que invocada com o
DORMIR instruo determinado pela configurao da
IDLEN pouco no tempo, a instruo executada. Se
outro DORMIR instruo executada, o dispositivo ser
entrar no modo de gerenciamento de energia especificado pelo
IDLEN em
nesse momento. Se IDLEN mudou, o dispositivo vai entrar
o novo modo de gerenciamento de energia especificado pelo novo
criao.
Ao retomar a operao normal aps acordar de
Dormir ou inativo, as mquinas de estado internos exigem pelo
menos um atraso TCY antes de outra DORMIR instruo
pode ser executado. Se dois de volta para trs DORMIR instru-
es vai ser executada, o processo mostrado na
Exemplo 3-1 deve ser usado.
Exemplo 3-1:
DORMIR
NOP
DORMIR
EXECUO DE VOLTA AOS DORMIR INSTRUES
, Espere pelo menos uma TCY antes de executar outra instruo sono
3.2 Executar Modos
3.2.2 SEC_RUN MODO
Nos modos de funcionamento, relgios tanto para o ncleo e
perifricos esto ativos. A diferena entre estes
modos a fonte de relgio.
3.2.1 PRI_RUN MODO
O modo PRI_RUN , full-power normal, execu-
o do modo de microcontrolador. Este tambm o padro
modo sobre a redefinio do dispositivo a menos de duas
velocidades Start-up
est ativado (ver Seo 25.3 "Duas Velocidades Start-up"
para mais detalhes). Neste modo, o bit USTOS est definido. Os
IOFS
bit pode ser definido se o bloco oscilador interno o
relgio fonte primria (ver 2.4.1 "oscilador
Controle Register ").
O modo SEC_RUN o modo compatvel com a
Recurso "switching relgio" oferecido em outros PIC18
dispositivos. Neste modo, o processador e os perifricos so
clock do Timer1 oscilador. Isso d aos usurios a
opo de baixo consumo de energia enquanto ainda estiver usando
um
fonte de relgio de alta preciso.
DS39632E-pgina 36 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
Modo SEC_RUN inserido, definindo o SCS1: SCS0
bits a '01 '. A fonte de relgio do dispositivo comutado para o
Timer1 oscilador (ver Figura 3-1), o principal
oscilador desligado, o bit T1RUN (T1CON <6>)
definido eo bit USTOS est desmarcada.
Nota: O oscilador Timer1 j deve estar
corrente antes de entrar no modo de SEC_RUN.
Se o bit T1OSCEN no est definido quando o
SCS1: SCS0 bits so definidos como '01 ', entrada
para
Modo SEC_RUN no ocorrer. Se o
Timer1 oscilador ativado, mas ainda no
execuo, relgios do dispositivo ser adiada at
o oscilador foi iniciado. Em tais
situaes, a operao inicial oscilador est longe
a partir de uma operao estvel e imprevisvel
pode resultar.
Em transies de modo SEC_RUN para PRI_RUN, o
perifricos e CPU continuar a ser cronometrado da
Timer1 oscilador enquanto o relgio principal iniciado.
Quando o relgio principal ficar pronto, um interruptor de relgio
de volta para o relgio primria ocorre (ver Figura 3-2).
Quando o interruptor de relgio est completa, o bit T1RUN
desmarcada, o bit USTOS est definido eo relgio principal
proporcionando o relgio. Os IDLEN e SCS bits no forem
afetados pela wake-up, o Timer1 oscilador
continua a funcionar.
Figura 3-1: CALENDRIO DE TRANSIO PARA ENTRADA DE MODO SEC_RUN
Q1 Q2 Q3 Q4 Q1 Q2
1 2 3 n-1 n
Q3 Q4 Q1 Q2 Q3
T1OSI
OSC1
CPU
Relgio
Perifrico
Relgio
Programa
Contador
Nota 1:
PC
Relgio de Transio(1)
PC + 2 + PC 4
Transio do relgio normalmente ocorre dentro de 2-4 tosc.
Figura 3-2: TRANSIO DE DISTRIBUIO DE SEC_RUN modo para PRI_RUN MODE (HSPLL)
Q1
T1OSI
OSC1
TOST(1)
TPLL(1)
1 2 n-1 n
Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3
PLL Clock
Sada
CPU Clock
Perifrico
Relgio
Programa
Contador
SCS1: SCS0 bits alterados
Nota 1:
2:
PC
USTOS bit Set
Relgio(2)
Transio
PC + 2 + PC 4
TOST = 1024 tosc; TPLL = 2 ms (aproximadamente). Estes intervalos no esto desenhadas escala.
Transio do relgio normalmente ocorre dentro de 2-4 tosc.
v 2009 Microchip Technology Inc. DS39632E-pgina 37
PIC18F2455/2550/4455/4550
3.2.3 RC_RUN MODO
No modo RC_RUN, a CPU e os perifricos so
cronometrado a partir do bloco usando o oscilador interno
INTOSC multiplexer, o relgio principal desligado.
Quando se utiliza a fonte INTRC, este modo proporciona a
melhor conservao de todos os modos correr enquanto ainda poder
execuo de cdigo. Ele funciona bem para aplicativos de usurio
que no so altamente sensveis a cronometragem ou no requerem
relgios de alta velocidade em todos os momentos.
Se a fonte do relgio principal o oscilador interno
block (ou INTRC ou INTOSC), no h distin-
diferenas entre o guishable e PRI_RUN
RC_RUN modos durante a execuo. No entanto, um relgio
atraso interruptor ir ocorrer durante a entrada e sada do
Modo RC_RUN. Portanto, se a fonte do relgio primrio
o bloco do oscilador interno, o uso de RC_RUN
modo no recomendado.
Este modo introduzido atravs da criao SCS1 para '1 '. Embora
ignorado, recomenda-se que seja tambm SCS0
apuradas, o que para manter a compatibilidade com software
dispositivos futuros. Quando a fonte de relgio ligada
o INTOSC multiplexer (ver Figura 3-3), o principal
oscilador desligado eo bit USTOS est desmarcada. O
IRCF bits podem ser modificados a qualquer momento para
imediatamente
alterar a velocidade do clock.
Nota: O cuidado deve ser usado quando a modificao de
um
nico bit IRCF. Se for inferior a VDD 3V,
possvel selecionar uma velocidade de clock superior
que apoiada pela baixa VDD.
Operao do dispositivo inadequado pode resultar se
as especificaes VDD / FOSC so violados.
Se os bits IRCF eo bit INTSRC so claras, o
Sada INTOSC no est habilitado eo bit IOFS vontade
permanecem lmpidas, no haver nenhuma indicao sobre a
actual
fonte de relgio. A fonte INTRC est fornecendo o
relgios do dispositivo.
Se os bits IRCF so alteradas de todo claro (assim,
permitindo a sada INTOSC), ou se INTSRC est definido, o
IOFS bit torna-se definido aps a sada INTOSC
torna-se estvel. Relgios para o dispositivo continuar enquanto
a fonte INTOSC estabiliza aps um intervalo de
TIOBST.
Se os bits IRCF foram anteriormente com um valor diferente de zero
ou
se INTSRC foi definida antes SCS1 ea
Fonte INTOSC j era estvel, o bit IOFS vontade
permanecer definido.
Em transies de modo RC_RUN ao modo PRI_RUN,
o dispositivo continua a ser cronometrado da INTOSC
multiplexador enquanto o relgio principal iniciado. Quando o
relgio primrio ficar pronto, um relgio de mudar para o
relgio primria ocorre (veja a Figura 3-4). Quando o relgio
interruptor estiver concluda, o bit IOFS estiver desmarcada, a
USTOS
bit definido eo relgio principal fornecer o dispositivo
relgio. Os IDLEN e SCS bits no so afetados pela
mudar. A fonte INTRC continuar a funcionar se qualquer
o WDT ou a prova de falhas monitor relgio est ativado.
DS39632E-pgina 38 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
FIGURA 3-3: CALENDRIO DE TRANSIO PARA RC_RUN MODO
Q1 Q2 Q3 Q4 Q1
INTRC
OSC1
CPU
Relgio
Perifrico
Relgio
Programa
Contador
Nota 1:
PC
Transio do relgio normalmente ocorre dentro de 2-4 tosc.
PC + 2 + PC 4
1 2 3 n-1 n
Q2 Q3 Q4 Q1 Q2 Q3
Relgio de Transio(1)
Figura 3-4: TRANSIO DE DISTRIBUIO DE RC_RUN MODO DE MODO PRI_RUN
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3
INTOSC
Multiplexer
OSC1
TOST(1)
PLL Clock
Sada
CPU Clock
Perifrico
Relgio
Programa
Contador
SCS1: SCS0 bits alterados
Nota 1:
2:
PC
USTOS bit Set
PC + 2 + PC 4
TPLL(1)
1 2 n-1 n
Relgio(2)
Transio
TOST = 1024 tosc; TPLL = 2 ms (aproximadamente). Estes intervalos no esto desenhadas escala.
Transio do relgio normalmente ocorre dentro de 2-4 tosc.
v 2009 Microchip Technology Inc. DS39632E-pgina 39
PIC18F2455/2550/4455/4550
3.3 Modo de dormir 3.4 Modos ociosas
Thepower-managedSleepmodeinthe
PIC18F2455/2550/4455/4550 dispositivos idntica
o modo de suspenso legado oferecido em todos os outros
dispositivos PIC.
entrou limpando o bit IDLEN (o estado padro
na redefinio do dispositivo) e executar o DORMIR instrues.
Isso desliga o oscilador selecionado (Figura 3-5). Tudo
Clock Source bits de status so apagadas.
Ao entrar no modo de suspenso de qualquer outro modo no
exigir um interruptor relgio. Isto porque no h relgios so
necessrio uma vez que o controlador entrou no modo Sleep. Se o
WDT selecionada, a fonte INTRC continuar a
operar. Se o oscilador Timer1 est habilitado, ele ir tambm
continuar a executar.
Quando um evento de ativao ocorre no modo Sleep (por
interrupo,
Redefinir ou WDT time-out), o dispositivo no ser cronometrado
at que a fonte de clock selecionado pelo SCS1: SCS0 pedaos
torna-se pronto (veja a Figura 3-6), ou ele vai ser cronometrado
do bloco de oscilador interno ou se a duas velocidades
Start-up ou a prova de falhas Monitor de Relgio esto habilitados
(Ver Seo 25,0 "Recursos Especiais da CPU"). Em
qualquer caso, o bit USTOS definido quando o relgio principal
est fornecendo os relgios do dispositivo. O IDLEN e SCS pedaos
no so afetados pelo wake-up.
Os modos inativos permitir CPU do controlador para ser
seletivamente desligar enquanto os perifricos continuam a
operar. Seleo de um modo de Espera especial permite que os
usurios
para gerenciar o consumo de energia.
Se o bit IDLEN est definido para '1 'quando um DORMIR instruo
est
executado, os perifricos sero cronometrados a partir do relgio
fonte seleccionada usando o SCS1: SCS0 pedaos, no entanto, o
CPU no sero cronometrados. O relgio fonte bits de estado so
no afetados. Definir IDLEN e execuo de um DORMIR
instruo fornece um mtodo rpido de mudana de um
determinado modo Corra para o seu modo de Espera
correspondente.
Se o WDT selecionada, a fonte INTRC continuar
para operar. Se o oscilador Timer1 est habilitado, ele ir tambm
continuar a executar.
Uma vez que a CPU no est executando instrues, a nica
sai de qualquer dos modos ociosas so por interrupo, WDT
time-out ou um Reset. Quando um evento de ativao ocorre, CPU
execuo est atrasada por um intervalo de TCSD
(Parmetro 38, Tabela 28-12), enquanto que ele fica pronto para
executar o cdigo. Quando a CPU comea cdigo em execuo,
ele reinicia com a mesma fonte de clock para o atual
Modo ocioso. Por exemplo, quando acordar de RC_IDLE
modo, o bloco de oscilador de relgio interno a CPU vai
e perifricos (em outras palavras, o modo de RC_RUN). O
IDLEN e SCS bits no so afetados pela wake-up.
Enquanto que em qualquer modo de suspenso, a WDT time-out
modo de espera ou
ir resultar em um wake-up para o modo Run WDT atualmente
especificada pelo SCS1: SCS0 bits.
FIGURA 3-5:
OSC1
CPU
Relgio
Perifrico
Relgio
Dormir
Programa
Contador
PC
CALENDRIO DE TRANSIO PARA INGRESSO DO MODO
DORMIR
Q1 Q2 Q3 Q4 Q1
PC + 2
Figura 3-6: CALENDRIO DE TRANSIO PARA ACORDAR DE DORMIR (HSPLL)
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
OSC1
PLL Clock
Sada
CPU Clock
Perifrico
Relgio
Programa
Contador
Evento de despertar
PC
USTOS bit Set
PC + 2 + PC 4 PC + 6
TOST(1)
TPLL(1)
Nota 1: TOST = 1024 tosc; TPLL = 2 ms (aproximadamente). Estes intervalos no esto desenhadas escala.
DS39632E-pgina 40 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
3.4.1 PRI_IDLE MODO 3.4.2 SEC_IDLE MODO
Este modo o nico entre os trs ocioso de baixa potncia
modos em que no desactivar o dispositivo primrio
relgio. Para cronometrar aplicaes sensveis, isso permite
a retomada mais rpida da operao do dispositivo, com a sua
relgio fonte primria mais precisos, uma vez que o relgio
fonte no precisa "aquecer" ou transio
outro oscilador.
Modo PRI_IDLE introduzido a partir do modo PRI_RUN por
definindo o bit IDLEN e execuo de um DORMIR instru-
o. Se o dispositivo estiver em outro modo de execuo, defina
IDLEN
em primeiro lugar, em seguida, desmarque os bits SCS e executar
Dormir.
Embora a CPU estiver desativado, os perifricos continuam
para ser cronometrado a partir da fonte relgio primrio especificado
pelo FOSC3: FOSC0 bits de configurao. Os USTOS
bit permanece definido (ver Figura 3-7).
Quando um evento de ativao ocorre, a CPU tem clock do
relgio fonte primria. Um atraso de intervalo TCSD
necessria entre o evento de ativao e quando o cdigo
execuo iniciada. Isso necessrio para permitir que a CPU
tornar-se pronto para executar instrues. Aps o
wake-up, o bit USTOS permanece definido. O IDLEN e
SCS bits no so afetados pela wake-up (ver
Figura 3-8).
No modo SEC_IDLE, a CPU est desativada, mas o
perifricos continuam a ser cronometrado da Timer1
oscilador. Este modo introduzido a partir de SEC_RUN por set-
ting o bit IDLEN e execuo de um DORMIR instrues. Se
o dispositivo est em um outro modo de execuo, defina IDLEN
primeiro, depois
Conjunto SCS1: SCS0 a '01 'e executar Dormir. Quando o
fonte de relgio ligado ao Timer1 oscilador, o
oscilador principal desligado, o bit USTOS eliminado
eo bit T1RUN est definido.
Quando ocorre um evento de despertar, os perifricos continuam
ser cronometrado da Timer1 oscilador. Aps um intervalo
de TCSD aps o evento de ativao, a CPU comea a exe-
cdigo cuting sendo cronometrado pelo Timer1 oscilador. O
IDLEN e SCS bits no so afetados pela wake-up;
o oscilador Timer1 continua a funcionar (ver Figura 3-8).
Nota: O oscilador Timer1 j deve estar
corrente antes de entrar no modo de SEC_IDLE.
Se o bit T1OSCEN no est definido quando o
DORMIR instruo executada, o DORMIR
instruo ser ignorado e entrada para
Modo SEC_IDLE no ocorrer. Se o
Timer1 oscilador ativado, mas ainda no
execuo, relgios perifricos ser adiada
at que o oscilador foi iniciado. Em tais
situaes, a operao inicial oscilador est longe
a partir de uma operao estvel e imprevisvel
pode resultar.
FIGURA 3-7: CALENDRIO DE TRANSIO para a entrada modo ocioso
Q1 Q2 Q3 Q4 Q1
OSC1
CPU Clock
Perifrico
Relgio
Programa
Contador
PC PC + 2
FIGURA 3-8:
Q1
OSC1
CPU Clock
Perifrico
Relgio
Programa
Contador
CALENDRIO DE TRANSIO PARA ACORDAR DE IDLE para executar o modo
Q2 Q3 Q4
TCSD
PC
Evento de despertar
v 2009 Microchip Technology Inc. DS39632E-pgina 41
PIC18F2455/2550/4455/4550
3.4.3 RC_IDLE MODO
No modo RC_IDLE, a CPU est desativada, mas o peri-
Minerals continuar a ser cronometrado do oscilador interno
bloquear usando o multiplexer INTOSC. Este modo permite
para a conservao de energia controlvel durante os perodos
ociosos.
De RC_RUN, este modo inserido, definindo o
IDLEN bit e execuo de um DORMIR instrues. Se o
dispositivo est em outro modo de operao, o primeiro set IDLEN,
em seguida, definir
o bit SCS1 e executar Dormir. Embora o seu valor
ignorados, recomenda-se que SCS0 tambm afastada;
isto para manter a compatibilidade de software com futuro
dispositivos. O multiplexador INTOSC podem ser usadas para
selecionar uma freqncia de clock maior, modificando o IRCF
bocados antes de executar a DORMIR instrues. Quando o
fonte do relgio ligada INTOSC multiplexador, o
oscilador primrio desligado eo bit USTOS
apagadas.
Se os bits IRCF est definido para qualquer valor diferente de zero,
ou a
INTSRC bit definido, a sada INTOSC est habilitado. O
IOFS bit torna-se definido aps a sada INTOSC
torna-se estvel, aps um intervalo de TIOBST
(Parmetro 39, Tabela 28-12). Relgios para os perifricos
continuar enquanto a fonte INTOSC estabiliza. Se o
IRCF bits foram anteriormente em um valor diferente de zero, ou
INTSRC foi definido antes da DORMIR instruo era
executada e a fonte INTOSC j era estvel,
o bit IOFS permanecer definido. Se os bits e IRCF
INTSRC so todos clara, a sada INTOSC no ser
ativado, o bit IOFS permanecer claro e haver
nenhuma indicao da fonte de relgio actual.
Quando ocorre um evento de despertar, os perifricos continuam
ser cronometrado a partir do multiplexador INTOSC. Depois de um
atraso
de TCSD aps o evento de ativao, a CPU comea
execuo de cdigo que est sendo cronometrado pelo INTOSC
multi-
plexer. Os IDLEN e SCS bits no so afetados pela
wake-up. A fonte INTRC continuar a ser executado se
ou o WDT ou a prova de falhas monitor Clock
ativado.
Em todas as sadas de modos ocioso ou por interrupo do sono,
cdigo
ramos de execuo para o vetor de interrupo, se o
GIE / GIEH bit (INTCON <7>) definido. Caso contrrio, o cdigo
execuo continua ou recomea sem ramificao
(Ver Seo 9.0 "interrompe").
Um atraso fixo de intervalo TCSD aps o evento de ativao
necessria quando deixando modos inativos do sono e. Este
atraso necessrio para o CPU para se preparar para a execuo.
Retoma a execuo de instrues, no primeiro ciclo de relgio
seguindo esse atraso.
3.5.2 SAIR POR WDT TIME-OUT
A WDT time-out far aes diferentes dependendo
em que o modo de gerenciamento de energia do dispositivo
quando
o tempo limite ocorre.
Se o dispositivo no est executando o cdigo (todos os modos e
ociosa
O modo de suspenso), o time-out resultar em uma sada da
modo de potncia de gesto (ver Seo 3.2 "Executar
Modos " e Seo 3.3 "Modo Sleep"). Se o dispositivo
est executando o cdigo (todos os modos de execuo), o tempo
limite ser
resultar em uma redefinio WDT (ver Artigo 25.2 "Watchdog
Timer (WDT) ").
O temporizador WDT e postscaler so apuradas pela execu-
que estabelece um DORMIR ou CLRWDT instruo, a uma perda de
fonte de relgio atualmente selecionado (se o relgio prova de
falhas
Monitor ativado) e modificar os bits IRCF no
OSCCON registar se o bloco o oscilador interno
fonte de relgio do dispositivo.
3.5.3 SAIR POR REAJUSTE
Normalmente, o dispositivo realizada em Reiniciar pelo oscilador
Start-up timer (OST) at que o relgio se torna principal
imediata. Naquela poca, o bit USTOS est definido eo dispositivo
comea a executar cdigo. Se o bloco de oscilador interno
a nova fonte de clock, o bit IOFS est definido em seu lugar.
O tempo de sada de Reset para o incio do cdigo
execuo depende tanto das fontes de relgio antes
e depois do despertar e do tipo de oscilador, se o
nova fonte de relgio o relgio primrio. Atrasos de sada so
resumidos na Tabela 3-2.
Execuo de cdigo pode comear antes que o relgio principal
torna-se pronto. Se quer a duas velocidades Start-up (ver
Seo 25.3 "Duas Velocidades Start-up") ou prova de falhas
Monitor de relgio (ver Seo 25,4 "Fail-Safe Relgio
Monitor ") ativada, o dispositivo poder iniciar a execuo
assim como a fonte de reincio foi cancelado. A execuo
cronometrado pelo multiplexador INTOSC impulsionado pela
bloco oscilador interno. A execuo cronometrado pelo
bloco oscilador interno at que o relgio principal
torna-se pronto ou um modo de gerenciamento de energia
introduzido
antes que o relgio primrio ficar pronto, o principal
relgio ento desligado.
3.5 Saindo Modos ocioso e do sono
Uma sada do modo de suspenso ou de qualquer um dos modos
ociosa
desencadeada por uma interrupo, um reset ou um WDT time-out.
Esta seo discute os gatilhos que fazem com que as sadas
de modos de potncia gerenciados. O subsistema de clock
aes so tratadas em cada uma o poder de gesto
modos (ver Seo 3.2 "Modos de correr", Seco 3.3
"Modo Sleep" e Seo 3.4 "Modos idle").
3.5.1 SAIR POR INTERRUPO
Qualquer das fontes de interrupo disponveis pode causar o
dispositivo para sair de um modo ou modo de suspenso ocioso
para um
Modo de execuo. Para habilitar essa funcionalidade, uma
interrupo
fonte deve ser ativada, definindo o seu bit de habilitao em um
dos INTCON ou PIE registros. A seqncia de sada
iniciada quando o correspondente interrupo bit sinalizador est
definido.
DS39632E-pgina 42 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
3.5.4 Sair sem um oscilador
ARRANQUE ATRASO
Certas sadas modos de potncia gerenciados no
invocar a OST em tudo. Existem dois casos:
modo PRI_IDLE, onde a principal fonte de relgio
no interrompido, e
a fonte de clock principal no qualquer um dos XT ou
Modos HS.
Nesses casos, a principal fonte de relgio ou
no necessita de um atraso de arranque do oscilador, uma vez que

j em execuo (PRI_IDLE), ou normalmente no
requerem um atraso de arranque oscilador (CE e qualquer interno
modos do oscilador). No entanto, um atraso fixo de intervalo
TCSD aps o evento de ativao ainda necessria quando
deixando modos de inactividade do sono e para permitir que a CPU
prepare para execuo. Execuo da instruo recomea
no primeiro ciclo de relgio seguindo este atraso.
TABELA 3-2: SAIR EM ATRASO ACORDAR DE REAJUSTE do modo de inatividade ou qualquer outro modo IDLE
(Por fontes relgio)
Microcontrolador Clock Source
Depois de despertar
XT, HS
XTPLL, HSPLL
CE
INTOSC(3)
XT, HS
TOST(4)
TOST + trc(4)
TCSD(2)
TIOBST(5)
TOST(4)
TOST + trc(4)
TCSD(2)
Nenhum
TOST(4)
TOST + trc(4)
TCSD(2)
TIOBST(5)
USTOS
IOFS
IOFS
USTOS
USTOS
IOFS
XTPLL, HSPLL
CE
INTOSC(3)
XT, HS
XTPLL, HSPLL
CE
INTOSC(3)
XT, HS
Sair Delay
Relgio Estado Pronto
Bit (OSCCON)
Antes de Wake-up
Principal dispositivo do Relgio
(Modo PRI_IDLE)
Nenhum
USTOS
IOFS
T1OSC ou INTRC(1)
INTOSC(3)
Nenhum
(Modo de suspenso)
Nota 1:
2:
3:
4:
5:
XTPLL, HSPLL
CE
INTOSC(3)
Neste caso, refere-se especificamente ao kHz fonte de relgio INTRC 31.
TCSD (parmetro 38, Tabela 28-12) um atraso necessrio quando acordar de todos os modos e inativos do sono e corre
em simultneo com quaisquer outros atrasos necessrios (ver Seo 3.4 "Modos idle").
Inclui tanto o INTOSC fonte MHz 8 e postscaler freqncias derivadas.
TOST o perodo Temporizador Start-up oscilador (parmetro 32, Tabela 28-12). trc o bloqueio PLL time-out
(Parmetro F12, Tabela 28-9), que tambm designada como TPLL.
A execuo continua durante TIOBST (parmetro 39, Tabela 28-12), o perodo de estabilizao INTOSC.
v 2009 Microchip Technology Inc. DS39632E-pgina 43
PIC18F2455/2550/4455/4550
NOTAS:
DS39632E-pgina 44 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
4.0 REAJUSTE
Os dispositivos PIC18F2455/2550/4455/4550 diferenciar
entre vrios tipos de reset:
um)
b)
c)
d)
e)
f)
g)
h)
Power-on Reset (POR)
Redefinir MCLR durante a operao normal
Redefinir MCLR durante os modos de potncia
gerenciados
Watchdog Timer (WDT) Reset (durante
execuo)
Redefinio Programmable Brown-out (BOR)
REAJUSTE Instruo
Pilha Reinicializao Completa
Pilha Reiniciar Underflow
Um diagrama de blocos simplificado do circuito de reset on-chip
mostrado na Figura 4-1.
4.1 RCON Registrar
Redefinir eventos do dispositivo so controladas atravs do RCON
registrar (Register 4-1). Os menores de cinco bits do regis-
ter indicar que ocorreu um evento de reset especfico. Em
maioria dos casos, esses bits s podem ser apagados pelo evento
e deve ser definido pela aplicao aps o evento. O
estado destes bits bandeira, em conjunto, pode ser lido para
indicar o tipo de reset que acabou de ocorrer. Isto
descritos em mais detalhe em Seo 4.6 "Reset Estado
dos registos ".
O registo RCON tambm tem bits de controle para configurao
prioridade de interrupo (IPEN) e controlo do software
BOR (SBOREN). Interrupo prioridade discutido em
Seo 9.0 "interrompe". BOR coberto em
Seo 4.4 "Reset Brown-out (BOR)".
Esta seo discute Redefine gerado pelo MCLR,
POR e BOR e abrange o funcionamento das vrias
start-up temporizadores. Stack Redefinir eventos so abordados em
Seo 5.1.2.4 "pilha completa e Underflow Redefine".
WDT Redefine so abordados em Artigo 25.2 "Watchdog
Timer (WDT) ".
Figura 4-1:
REAJUSTE
Instruo
Pilha
Apontador
SIMPLIFICADO diagrama de blocos on-chip circuito de reset
Pilha / Underflow completa Reiniciar
Reset externo
MCLR
MCLRE
() _IDLE
Dormir
WDT
Intervalo
Ascenso VDD
Descobrir
VDD
Brown-out
Restabelecer
Boren
OST / PWRT
OST
OSC1
32 o
INTRC
(1)
POR Pulso
S
1024 Ciclos
R Q
10-Bit Ripple Contador
Chip_Reset
PWRT 65,5 ms
11-Bit Ripple Contador
Ativar PWRT
Ativar OST(2)
Nota 1:
2:
Esta a fonte INTRC de baixa frequncia do oscilador bloco interno.
Consulte a Tabela 4-2 para situaes de tempo.
v 2009 Microchip Technology Inc. DS39632E-pgina 45
PIC18F2455/2550/4455/4550
CADASTRE-SE 4-1:
R/W-0
IPEN
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
RCON: REAJUSTE registro de controle
R/W-1(1)
SBOREN
U-0
-
R/W-1
RI
R-1
TO
R-1
PD
R/W-0(2)
POR
R/W-0
BOR
bit 0
IPEN: Prioridade Interrupo Ativar bit
1= Ativar nveis de prioridade sobre as interrupes
0= Desativar nveis de prioridade de interrupes (modo de compatibilidade
PIC16CXXX)
SBOREN: BOR Software Habilitar bit(1)
Se BOREN1: BOREN0 = 01:
1= BOR est habilitado
0= BOR est desativado
Se BOREN1: BOREN0 = 00, 10 ou 11:
Bit desativado e ler como '0 '.
Unimplemented: Leia como '0 '
RI: REAJUSTE Bandeira Instruo bit
1= O REAJUSTE instruo no foi executada (definido por apenas firmware)
0= O REAJUSTE instruo foi executada causando uma redefinio do dispositivo (deve ser definido no software
depois de um
Redefinio de Brown-out ocorre)
TO: Watchdog Time-out Flag bit
1= Definido pelo power-up, CLRWDT ou instruo DORMIR instruo
0= A WDT time-out ocorreu
PD: Poder-Down Deteco Flag bit
1= Definido pelo power-up ou pelo CLRWDT instruo
0= Definido pela execuo do DORMIR instruo
POR: Power-on reset bit Estado(2)
1= No ocorreu um Power-on Reset (definida apenas por firmware)
0= A Power-on reset ocorreu (deve ser definido em software depois de um Power-on reset ocorre)
BOR: Brown-out bit Estado Reiniciar
1= A Redefinio de Brown-out no ocorreu (definido por apenas firmware)
0= A Redefinio de Brown-out ocorreu (deve ser definido no software aps um Reset Brown-out ocorre)
Se SBOREN est habilitado, o seu estado de reset '1 ', caso contrrio, '0'.
O valor real de Redefinir POR determinada pelo tipo de dispositivo de reset. Veja as notas que seguem esta
registrar e Seo 4.6 "Reset Estado dos registos" para obter informaes adicionais.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
2:
Nota 1: Recomenda-se que o bit POR ser definido aps um Power-on reset foi detectado para que posteriormente
Poder-na Repe pode ser detectada.
2: Redefinio de Brown-out dito ter ocorrido quando BOR '0 'e POR '1' (supondo que POR foi definido para
'1 'Software imediatamente aps POR).
DS39632E-pgina 46 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
4.2 Master Clear Reset (MCLR)
Figura 4-2:
O pino MCLR proporciona um mtodo para desencadear uma
Redefinir externa do dispositivo. A Reset gerado pelo
segurando o pino de baixo. Estes dispositivos tm um filtro de rudo
em
Reiniciar o caminho MCLR que detecta e ignora pequeno
pulsos.
O pino MCLR no impulsionado baixo por qualquer Redefine
interno,
incluindo o WDT.
Em PIC18F2455/2550/4455/4550 dispositivos, o MCLR
entrada pode ser desabilitado com a configurao MCLRE
bit. Quando MCLR est desativado, o pino se torna uma cmera
digital
entrada. Ver Seo 10.5 "PORTE, TRISE e LATE
Registra " para mais informaes.
EXTERNO POWER-ON
REAJUSTE DO CIRCUITO (FOR
SLOW VDD POWER-UP)
VDD VDD
D
R
R1
C
MCLR
PIC18FXXXX
Nota 1:
4.3 Power-on Reset (POR)
2:
A Power-on pulso Reset gerado on-chip
sempre que VDD sobe acima de um certo limite. Este
permite que o dispositivo para iniciar no estado inicializado quando
VDD adequado para a operao.
Para tirar proveito do circuito POR, amarrar o pino MCLR
atravs de um resistor (1 kW a 10 kW) a VDD. Isso vai
eliminar os componentes externos RC normalmente necessrios
para
criar um Power-on reset demora. A taxa mnima de crescimento para
VDD est especificado (parmetro D004, Seo 28.1 "DC
Caractersticas "). Para um tempo de subida lenta, veja a Figura 4-2.
Quando o dispositivo comea a operao normal (isto , as sadas
Redefinir condio), os parmetros de funcionamento do dispositivo
(volt-
idade, frequncia, temperatura, etc) devem ser atendidas para
assegurar a operao. Se estas condies no forem cumpridas, o
dispositivo deve ser realizada em reset at que a operao
condies so satisfeitas.
POR eventos so capturados pelo bit POR (RCON <1>).
O estado do bit definido para '0 'sempre que um POR ocorre;
isso no muda para qualquer outro evento Reset. POR
no repor a '1 'por qualquer evento hardware. Para capturar
vrios eventos, o usurio manualmente redefine o bit a '1 '
em software de seguir qualquer POR.
Power-on reset externo do circuito necessrio
apenas se a inclinao poder-se VDD muito lento.
O diodo D ajuda a descarregar o capacitor
rapidamente quando poderes VDD para baixo.
R <40 kW recomendada para se certificar de que
a queda de tenso em R no viola
especificao eltrica do dispositivo.
R1 c 1 kW ir limitar qualquer corrente que flui para
MCLR de C condensador externo, no caso
de MCLR / VPP pin colapso, devido a Electro-
descarga esttica (ESD) ou eltrica
Overstress (EOS).
3:
v 2009 Microchip Technology Inc. DS39632E-pgina 47
PIC18F2455/2550/4455/4550
4.4 Brown-out Reset (BOR)
PIC18F2455/2550/4455/4550 dispositivos implementar um
BOR circuito que fornece o utilizador com um nmero de
configurao e as opes de economia de energia. O BOR
controlado pelo BORV1: e BORV0
BOREN1: BOREN0 bits de configurao. H um total
de quatro configuraes BOR que esto resumidas na
Tabela 4-1.
O limiar BOR definido pelo BORV1: BORV0 bits. Se
BOR est habilitado (quaisquer valores de BOREN1: BOREN0
exceto '00 '), qualquer queda de VDD abaixo VBOR (parmetro
D005, Seco 28.1 "DC") Caractersticas para
superior TBOR (parmetro 35, Tabela 28-12) ter
reiniciar o dispositivo. A redefinio pode ou no pode ocorrer se
VDD
desce abaixo VBOR para menos de TBOR. O chip ser
permanecer em Reiniciar Brown-out at VDD sobe acima VBOR.
Se o timer Power-up estiver ativado, ele ser chamado aps
VDD sobe acima VBOR, que, em seguida, ir manter o chip em
Redefinir para um intervalo de tempo adicional, TPWRT
(Parmetro 33, Tabela 28-12). Se gotas VDD abaixo VBOR
enquanto o timer Power-up est sendo executado, o chip vai
de volta para uma redefinio Brown-out eo temporizador de Power-
up
ser inicializado. Uma vez que VDD sobe acima VBOR, o
Poder-se de temporizador ir executar o tempo de atraso adicional.
BOR e Power-on timer (PWRT) so
configurado de forma independente. Ativando Reiniciar BOR faz
no permitir automaticamente o PWRT.
Colocar o BOR sob controle de software d ao usurio
a flexibilidade de adaptar a aplicao para o seu
ambiente sem a necessidade de reprogramar o dispositivo
alterar a configurao BOR. Tambm permite que o utilizador
adequar o consumo de energia do dispositivo no software por elimi-
nar a corrente peridica que o BOR consome.
Embora o actual BOR tipicamente muito pequeno, pode
ter algum impacto em aplicaes de baixa potncia.
Nota: Mesmo quando BOR est sob controle de software,
o nvel de tenso reset BOR ainda definido pelo
o BORV1: BORV0 bits de configurao. Ele
no podem ser alteradas em software.
4.4.2 DETECO DE BOR
Quando BOR est habilitado, o bit BOR sempre retorna para '0 '
BOR ou em qualquer evento POR. Isto torna mais difcil
determinar se um evento de BOR ocorreu apenas pela leitura
o estado de BOR sozinho. Um mtodo mais fivel consiste em
verificar simultaneamente o estado de ambos POR e BOR.
Isso pressupe que o POR bit redefinido para '1 'no software
imediatamente aps qualquer evento POR. IF BOR '0 'enquanto
POR '1 ', pode presumir-se de modo fivel que um evento BOR
ocorreu.
4.4.3 DESATIVAO BOR NO MODO DE
SUSPENSO
4.4.1 SOFTWARE ENABLED BOR
Quando BOREN1: BOREN0 = 01, o BOR pode ser
ativada ou desativada pelo usurio no software. Isto
feito com o bit de controlo, SBOREN (RCON <6>).
Definindo SBOREN permite funcionar como BOR
anteriormente descrito. Clearing SBOREN desativa o
Bor inteiramente. O bit SBOREN opera apenas neste
modo, caso contrrio, ele lido como '0 '.
Quando BOREN1: BOREN0 = 10, o BOR permanece
sob o controlo de hardware e opera como anteriormente
descrito. Sempre que o dispositivo entra em modo de suspenso,
no entanto, o BOR automaticamente desativado. Quando o
dispositivo retorna a qualquer outro modo de operao, BOR
reativado automaticamente.
Este modo permite que aplicativos para se recuperar de
brown-out situaes, durante a execuo de cdigo ativamente,
quando o dispositivo exige uma proteco BOR mais. Em
Ao mesmo tempo, ele economiza energia adicional no modo de
suspenso
eliminando a pequena corrente BOR incremental.
TABELA 4-1: CONFIGURATIONS BOR
Estado de
SBOREN
(RCON <6>)
Indisponvel
Disponvel
Indisponvel
Indisponvel
BOR Operao
BOR desativado; deve ser ativado atravs da reprogramao dos bits de configurao.
BOR habilitada no software; operao controlada por SBOREN.
BOR habilitado hardware nos modos de corrida e de Espera, desativado durante o sono
modo.
BOR habilitado em hardware, deve ser desativado atravs da reprogramao do
Bits de configurao.
BOR Configurao
BOREN1
0
0
1
1
BOREN0
0
1
0
1
DS39632E-pgina 48 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
4,5 Redefinir Timers dispositivo
4.5.3 PLL BLOQUEIO DE TIME-OUT
PIC18F2455/2550/4455/4550 dispositivos incorporam
trs temporizadores em chips separados que ajudam a regular o
Power-on reset processo. Sua principal funo
assegurar que o relgio do dispositivo estvel antes de cdigo
executado. Estes temporizadores so:
Temporizador de Power-up (PWRT)
Oscillator Start-up timer (OST)
PLL Time Lock-out
Com a PLL habilitado em seu modo de PLL, o time-out
seqncia seguindo um Power-on Reset um pouco dife-
ent de outros modos de oscilador. Um temporizador separado
utilizado para proporcionar um tempo de espera fixa que suficiente
para o
PLL para bloquear a frequncia do oscilador principal. Este PLL
bloquear time-out (TPLL) tipicamente de 2 ms e segue o
oscilador start-up time-out.
4.5.4
1.
2.
SEQUNCIA DE TIME-OUT
4.5.1 TIMER POWER-UP (PWRT)
Ao ligar, a seqncia de time-out a seguinte:
Aps a condio POR cancelou, PWRT
time-out invocado (se habilitado).
Em seguida, a OST ativado.
O timer Power-up (PWRT) do PIC18F2455/2550 /
4455/4550 dispositivos um contador de 11 bits, que utiliza o
Fonte INTRC como a entrada de relgio. Isto produz um
intervalo de 2048 x 32 hora aproximada o = 65,6 ms.
Enquanto o PWRT est a contar, o dispositivo mantido em
Redefinir.
O poder-se tempo de atraso depende do relgio INTRC
e ir variar de chip para chips, devido temperatura e
variao do processo. Veja o parmetro DC 33 (Tabela 28-12)
para mais detalhes.
O PWRT est habilitado limpando a PWRTEN
Bit de configurao.
O time-out total varia de acordo com oscilador configura-
rao eo status do PWRT. Figura 4-3,
Figura 4-4, Figura 4-5, Figura 4-6 e Figura 4-7 tudo
retratam time-out seqncias em power-up, com o
Power-up habilitado temporizador e dispositivo de operao em
Modo de oscilador HS. Figuras 4-3 atravs de 4-6 tambm se
aplicam
para dispositivos que operam no modo XT. Para dispositivos em RC
o modo e com os deficientes PWRT, por outro lado,
no haver tempo limite em tudo.
Desde os tempos de espera ocorrer a partir do pulso POR, se MCLR
mantido baixo por muito tempo, todos os time-outs ir expirar.
Traga-
ing MCLR alta comear imediatamente a execuo
(Figura 4-5). Isto til para fins de ensaio ou
sincronizar mais do que um dispositivo PIC18FXXXX
operando em paralelo.
4.5.2 OSCILADOR DE ARRANQUE
TIMER (OST)
O oscilador Start-up timer (OST) fornece uma
1024 ciclo oscilador (de OSC1 entrada) imediatamente aps a
PWRT atraso superior a (parmetro 33, Tabela 28-12). Este
assegura que o oscilador de cristal tem ou ressonador
iniciado e estabilizada.
A OST time-out invocado apenas por XT, HS e
Modos HSPLL e apenas em Power-on reset ou na sada
da maioria dos modos de potncia gerenciados.
TABELA 4-2: TIME-OUT EM SITUAES DIFERENTES
Power-up (2) e Brown-out
PWRTEN = 0
66 ms(1) + 1024 tosc
66 ms(1) + 1024 tosc + 2 ms(2)
66 ms(1)
66 ms(1) + 2 ms(2)
66 ms(1)
66 ms(1) + 1024 tosc
PWRTEN = 1
1024 tosc
1024 tosc + 2 ms(2)
-
2 ms(2)
-
1024 tosc
Sair
Modo Power-Managed
1024 tosc
1024 tosc + 2 ms(2)
-
2 ms(2)
-
1024 tosc
Oscilador
Configurao
HS, XT
HSPLL, XTPLL
CE, ECIO
ECPLL, ECPIO
Intio, INTCKO
INTHS, INTXT
Nota 1:
2:
66 ms (65,5 ms) o timer Power-up (PWRT) atraso nominal.
2 ms o tempo nominal necessrio para o PLL para bloquear.
v 2009 Microchip Technology Inc. DS39632E-pgina 49
PIC18F2455/2550/4455/4550
Figura 4-3: TIME-OUT sequncia no POWER-UP (MCLR AMARRADO A VDD, RISE VDD <TPWRT)
VDD
MCLR
INTERNA POR
TPWRT
PWRT TIME-OUT
OST TIME-OUT
Interno de reset
TOST
Figura 4-4:
VDD
MCLR
INTERNA POR
TIME-OUT sequncia no POWER-UP (MCLR no vinculados a VDD): Caso 1
TPWRT
TOST PWRT TIME-OUT
OST TIME-OUT
Interno de reset
FIGURA 4-5:
VDD
MCLR
INTERNA POR
TIME-OUT sequncia no POWER-UP (MCLR no vinculados a VDD): CASE 2
TPWRT
PWRT TIME-OUT
OST TIME-OUT
Interno de reset
TOST
DS39632E-pgina 50 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
FIGURA 4-6: TEMPO ascenso lenta (MCLR AMARRADO A VDD, VDD RISE> TPWRT)
5V
VDD
MCLR
INTERNA POR
TPWRT
PWRT TIME-OUT
TOST
OST TIME-OUT
Interno de reset
0V 1V
FIGURA 4-7: TIME-OUT SEQNCIA DE POR w / PLL ativado (MCLR AMARRADO A VDD)
VDD
MCLR
INTERNA POR
TPWRT
PWRT TIME-OUT
OST TIME-OUT
TOST
TPLL
PLL TIME-OUT
Interno de reset
Nota: Tost = 1024 ciclos de clock.
TPLL H 2 ms mx. As trs primeiras etapas do timer Power-up.
v 2009 Microchip Technology Inc. DS39632E-pgina 51
PIC18F2455/2550/4455/4550
4.6 Redefinir Estado de Registros
A maioria dos registros no so afetados por um Reset. Seu status
desconhecido em POR e inalterada por todos os outros
Redefine. Os outros registros so obrigados a um "Reset
Estado "dependendo do tipo de reposio que ocorreu.
A maioria dos registros no so afetados por um WDT acordar,
uma vez que este visto como a retomada do normal fun-
rao. Bits de status do registo RCON, RI, TO, PD,
POR e BOR, so definidos ou cancelado de forma diferente em
diferentes
Repor situaes, tal como indicado no Quadro 4-3. Estes bits
so utilizados no software para determinar a natureza da
Redefinir.
Tabela 4-4 descreve os estados Redefinir para toda a
Funo Especial Registradores. Estes so categorizados pela
Power-on e Brown-out Redefine, Master Clear e
WDT Redefine e WDT wake-ups.
TABELA 4-3: Bits de status, o seu significado ea condio INITIALIZATION
RCON PARA REGISTRO
Condio
Programa
Contador
0000h
0000h
0000h
0000h
0000h
0000h
0000h
0000h
0000h
0000h
PC + 2
PC + 2(1)
RCON Registrar
RI
1
0
1
u
u
u
u
u
u
u
u
u
TO
1
u
1
1
1
0
u
u
u
u
0
u
PD
1
u
1
u
0
u
u
u
u
u
0
0
STKPTR Registrar
STKUNF
0
u
u
u
u
u
u
u
1
1
u
u
POR BOR STKFUL
0
u
u
u
u
u
u
u
u
u
u
u
0
u
0
u
u
u
u
u
u
u
u
u
0
u
u
u
u
u
u
1
u
u
u
u
Power-on reset
REAJUSTE instruo
Brown-out reset
MCLR reset durante poder de gesto Run
modos
MCLR reset durante poder de gesto Ocioso
modos e modo de suspenso
WDT tempo limite durante a potncia total ou
modos de execuo de gerenciamento de
energia
Redefinir MCLR durante a execuo plena potncia
Pilha Reinicializao Completa (STVREN =
1)
Pilha Reiniciar Underflow (STVREN = 1)
Pilha de erro de estouro negativo (no um reset real,
STVREN = 0)
WDT time-out durante poder de gesto ou inativo
Modos de suspenso
Interromper a sada dos modos de potncia
gerenciados
Legenda: u= Inalterado
Nota 1: Quando o wake-up devido a uma interrupo eo GIEH ou giel bits so definidos, o PC carregado com o
vetor de interrupo (008h ou 0018h).
2: Redefinir estado '1 'para POR e inalterados para todos os outros Reinicia quando BOR software est habilitado
(BOREN1: BOREN0 bits de configurao = 01 e SBOREN = 1); caso contrrio, o estado de reinicializao '0 '.
DS39632E-pgina 52 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 4-4:
Registrar
CONDIES inicializao para todos os registos
Dispositivos aplicveis
Power-on Reset,
Brown-out reset
--- 0 0000
0000 0000
0000 0000
00-0 0000
--- 0 0000
0000 0000
0000 0000
- 00 0000
0000 0000
0000 0000
0000 0000
xxxx xxxx
xxxx xxxx
0000 x 000
1111 -1-1
11-0 0-00
N / D
N / D
N / D
N / D
N / D
---- 0000
xxxx xxxx
xxxx xxxx
N / D
N / D
N / D
N / D
N / D
---- 0000
xxxx xxxx
---- 0000
MCLR Redefine,
WDT Reset,
REAJUSTE Instruo,
Stack Redefine
--- 0 0000
0000 0000
0000 0000
uu-0 0000
--- 0 0000
0000 0000
0000 0000
- 00 0000
0000 0000
0000 0000
0000 0000
uuuu uuuu
uuuu uuuu
0000 000u
1111 -1-1
11-0 0-00
N / D
N / D
N / D
N / D
N / D
---- 0000
uuuu uuuu
uuuu uuuu
N / D
N / D
N / D
N / D
N / D
---- 0000
uuuu uuuu
---- 0000
Wake-up via WDT
ou Interrupo
--- 0 uuuu(1)
uuuu uuuu(1)
uuuu uuuu(1)
uu-u uuuu(1)
--- U uuuu
uuuu uuuu
PC + 2(3)
- Uu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu(2)
uuuu-u-u(2)
uu-u u-uu(2)
N / D
N / D
N / D
N / D
N / D
---- Uuuu
uuuu uuuu
uuuu uuuu
N / D
N / D
N / D
N / D
N / D
---- Uuuu
uuuu uuuu
---- Uuuu
TOSU
TOSH
TOSL
STKPTR
PCLATU
PCLATH
PCL
TBLPTRU
TBLPTRH
TBLPTRL
Tablat
PRODH
Prdl
INTCON
INTCON2
INTCON3
INDF0
POSTINC0
POSTDEC0
PREINC0
PLUSW0
FSR0H
FSR0L
WREG
INDF1
POSTINC1
POSTDEC1
PREINC1
PLUSW1
FSR1H
FSR1L
BSR
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
Legenda: u= Inalterado, x= Desconhecido, -= Bit no implementado, ler como '0 ', q= Valor depende do estado.
As clulas sombreadas indicam condies no se aplicam para o dispositivo designado.
Nota 1: Quando o wake-up devido a uma interrupo eo bit giel ou GIEH est definido, o TOSU, Tosh e TOSL so
atualizado com o valor atual do PC. O STKPTR modificada para apontar para a prxima posio no
hardware pilha.
2: Um ou mais bits nos registradores INTCONx ou pirx sero afetados (para causar wake-up).
3: Quando o wake-up devido a uma interrupo eo bit giel ou GIEH est definido, o PC carregado com a interrupo
vetor (0008H ou 0018h).
4: Consulte a Tabela 4-3 para Reiniciar valor para a condio especfica.
5: PORTA <6>, LATA <6> e TRISA <6> esto activadas, dependendo do modo seleccionado de oscilador. Quando no est
habilitado como PORTA pinos, eles so desativados e ler '0 '.
v 2009 Microchip Technology Inc. DS39632E-pgina 53
PIC18F2455/2550/4455/4550
TABELA 4-4:
Registrar
CONDIES inicializao para todos os registos (CONTINUAO)
Dispositivos aplicveis
Power-on Reset,
Brown-out reset
N / D
N / D
N / D
N / D
N / D
---- 0000
xxxx xxxx
--- X xxxx
0000 0000
xxxx xxxx
1111 1111
0100 Q000
0-00 0101
------- 0
0q-1 11q0
xxxx xxxx
xxxx xxxx
0000 0000
0000 0000
1111 1111
-000 0000
xxxx xxxx
0000 0000
0000 0000
0000 0000
0000 0000
xxxx xxxx
xxxx xxxx
- 00 0000
- 00 0qqq
0-00 0000
MCLR Redefine,
WDT Reset,
REAJUSTE Instruo,
Stack Redefine
N / D
N / D
N / D
N / D
N / D
---- 0000
uuuu uuuu
--- U uuuu
0000 0000
uuuu uuuu
1111 1111
0100 00q0
0-00 0101
------- 0
0q-q qquu
uuuu uuuu
uuuu uuuu
u0uu uuuu
0000 0000
1111 1111
-000 0000
uuuu uuuu
0000 0000
0000 0000
0000 0000
0000 0000
uuuu uuuu
uuuu uuuu
- 00 0000
- 00 0qqq
0-00 0000
Wake-up via WDT
ou Interrupo
N / D
N / D
N / D
N / D
N / D
---- Uuuu
uuuu uuuu
--- U uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuqu
u-uu uuuu
------- U
uq-u qquu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
1111 1111
-Uuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
- Uu uuuu
- Uu uuuu
u-uu uuuu
INDF2
POSTINC2
POSTDEC2
PREINC2
PLUSW2
FSR2H
FSR2L
STATUS
TMR0H
TMR0L
T0CON
OSCCON
HLVDCON
WDTCON
RCON
(4)
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
TMR1H
TMR1L
T1CON
TMR2
PR2
T2CON
SSPBUF
SSPADD
SSPSTAT
SSPCON1
SSPCON2
ADRESH
ADRESL
ADCON0
ADCON1
ADCON2
Legenda: u= Inalterado, x= Desconhecido, -= Bit no implementado, ler como '0 ', q= Valor depende do estado.
As clulas sombreadas indicam condies no se aplicam para o dispositivo designado.
Nota 1: Quando o wake-up devido a uma interrupo eo bit giel ou GIEH est definido, o TOSU, Tosh e TOSL so
atualizado com o valor atual do PC. O STKPTR modificada para apontar para a prxima posio no
hardware pilha.
2: Um ou mais bits nos registradores INTCONx ou pirx sero afetados (para causar wake-up).
3: Quando o wake-up devido a uma interrupo eo bit giel ou GIEH est definido, o PC carregado com a interrupo
vetor (0008H ou 0018h).
4: Consulte a Tabela 4-3 para Reiniciar valor para a condio especfica.
5: PORTA <6>, LATA <6> e TRISA <6> esto activadas, dependendo do modo seleccionado de oscilador. Quando no est
habilitado como PORTA pinos, eles so desativados e ler '0 '.
DS39632E-pgina 54 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 4-4:
Registrar
CONDIES inicializao para todos os registos (CONTINUAO)
Dispositivos aplicveis
Power-on Reset,
Brown-out reset
xxxx xxxx
xxxx xxxx
- 00 0000
0000 0000
xxxx xxxx
xxxx xxxx
- 00 0000
0100 0-00
0000 0000
0000 0000
0000 0000
0000 0111
xxxx xxxx
xxxx xxxx
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0010
0000 x 000
0000 0000
0000 0000
0000 0000
xx-0 x000
MCLR Redefine,
WDT Reset,
REAJUSTE Instruo,
Stack Redefine
uuuu uuuu
uuuu uuuu
- 00 0000
0000 0000
uuuu uuuu
uuuu uuuu
- 00 0000
0100 0-00
0000 0000
0000 0000
0000 0000
0000 0111
uuuu uuuu
uuuu uuuu
uuuu uuuu
0000 0000
0000 0000
0000 0000
0000 0000
0000 0010
0000 x 000
0000 0000
0000 0000
0000 0000
uu-0 U000
Wake-up via WDT
ou Interrupo
uuuu uuuu
uuuu uuuu
- Uu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
- Uu uuuu
uuuu u-uu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
uuuu uuuu
0000 0000
uu-0 U000
CCPR1H
CCPR1L
CCP1CON
CCPR2H
CCPR2L
CCP2CON
BAUDCON
ECCP1DEL
ECCP1AS
CVRCON
CMCON
TMR3H
TMR3L
T3CON
SPBRGH
SPBRG
RCREG
TXREG
TXSTA
RCSTA
EEADR
EEDATA
EECON2
EECON1
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
Legenda: u= Inalterado, x= Desconhecido, -= Bit no implementado, ler como '0 ', q= Valor depende do estado.
As clulas sombreadas indicam condies no se aplicam para o dispositivo designado.
Nota 1: Quando o wake-up devido a uma interrupo eo bit giel ou GIEH est definido, o TOSU, Tosh e TOSL so
atualizado com o valor atual do PC. O STKPTR modificada para apontar para a prxima posio no
hardware pilha.
2: Um ou mais bits nos registradores INTCONx ou pirx sero afetados (para causar wake-up).
3: Quando o wake-up devido a uma interrupo eo bit giel ou GIEH est definido, o PC carregado com a interrupo
vetor (0008H ou 0018h).
4: Consulte a Tabela 4-3 para Reiniciar valor para a condio especfica.
5: PORTA <6>, LATA <6> e TRISA <6> esto activadas, dependendo do modo seleccionado de oscilador. Quando no est
habilitado como PORTA pinos, eles so desativados e ler '0 '.
v 2009 Microchip Technology Inc. DS39632E-pgina 55
PIC18F2455/2550/4455/4550
TABELA 4-4:
Registrar
CONDIES inicializao para todos os registos (CONTINUAO)
Dispositivos aplicveis
Power-on Reset,
Brown-out reset
1111 1111
0000 0000
0000 0000
1111 1111
-111 1111
0000 0000
-000 0000
0000 0000
-000 0000
0 - 0 0000
----- 111
1111 1111
11 --- 111
1111 1111
-111 1111
----- Xxx
xxxx xxxx
xx - xxx-
xxxx xxxx
-Xxx xxxx(5)
0 --- x000
xxxx xxxx
xxxx-xxx
xxxx xxxx
-X0x 0000(5)
(5)
MCLR Redefine,
WDT Reset,
REAJUSTE Instruo,
Stack Redefine
1111 1111
0000 0000
0000 0000
1111 1111
-111 1111
0000 0000
-000 0000
0000 0000
-000 0000
0 - 0 0000
----- 111
1111 1111
11 --- 111
1111 1111
-111 1111
----- Uuu
uuuu uuuu
uu -, uuu
uuuu uuuu
-Uuu uuuu(5)
0 --- x000
uuuu uuuu
uuuu-uuu
uuuu uuuu
-U0u 0000(5)
(5)
Wake-up via WDT
ou Interrupo
uuuu uuuu
uuuu uuuu(2)
uuuu uuuu
uuuu uuuu
-Uuu uuuu
uuuu uuuu(2)
-Uuu uuuu
uuuu uuuu
-Uuu uuuu
u - u uuuu
----- Uuu
uuuu uuuu
uu -, uuu
uuuu uuuu
-Uuu uuuu(5)
----- Uuu
uuuu uuuu
uu -, uuu
uuuu uuuu
-Uuu uuuu(5)
u --- uuuu
uuuu uuuu
uuuu-uuu
uuuu uuuu
-Uuu uuuu(5)
IPR2
PIR2
PIE2
IPR1
PIR1
PIE1
OSCTUNE
Trise
TRISD
TRISC
TRISB
TRISA
LATE
LATD
LATC
LATB
LATA(5)
PORTE
PORTD
PORTC
PORTB
PORTA(5)
(5)
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
Legenda: u= Inalterado, x= Desconhecido, -= Bit no implementado, ler como '0 ', q= Valor depende do estado.
As clulas sombreadas indicam condies no se aplicam para o dispositivo designado.
Nota 1: Quando o wake-up devido a uma interrupo eo bit giel ou GIEH est definido, o TOSU, Tosh e TOSL so
atualizado com o valor atual do PC. O STKPTR modificada para apontar para a prxima posio no
hardware pilha.
2: Um ou mais bits nos registradores INTCONx ou pirx sero afetados (para causar wake-up).
3: Quando o wake-up devido a uma interrupo eo bit giel ou GIEH est definido, o PC carregado com a interrupo
vetor (0008H ou 0018h).
4: Consulte a Tabela 4-3 para Reiniciar valor para a condio especfica.
5: PORTA <6>, LATA <6> e TRISA <6> esto activadas, dependendo do modo seleccionado de oscilador. Quando no est
habilitado como PORTA pinos, eles so desativados e ler '0 '.
DS39632E-pgina 56 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 4-4:
Registrar
CONDIES inicializao para todos os registos (CONTINUAO)
Dispositivos aplicveis
Power-on Reset,
Brown-out reset
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
00-0 0000
-000 0000
0x0-000 -
-Xxx-xxx
0 - 0 0000
0 - 0 0000
-000 0000
-000 0000
----- Xxx
xxxx xxxx
------ 00
00-0 0000
0000 0000
0000 0000
MCLR Redefine,
WDT Reset,
REAJUSTE Instruo,
Stack Redefine
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
00-0 0000
-000 0000
0x0-000 -
-Xxx-xxx
0 - 0 0000
0 - 0 0000
-000 0000
-000 0000
----- Xxx
xxxx xxxx
------ 00
00-0 0000
0000 0000
0000 0000
Wake-up via WDT
ou Interrupo
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
--- U uuuu
uu-u uuuu
-Uuu uuuu
-Uuu uuu-
-Uuu uuu-
u - u uuuu
u - u uuuu
-Uuu uuuu
-Uuu uuuu
----- Uuu
uuuu uuuu
------ Uu
uu-u uuuu
uuuu uuuu
uuuu uuuu
UEP15
UEP14
UEP13
UEP12
UEP11
UEP10
UEP9
UEP8
UEP7
UEP6
UEP5
UEP4
UEP3
UEP2
UEP1
UEP0
UCFG
UADDR
UCON
USTAT
UEIE
UEIR
UIE
UIR
UFRMH
UFRML
SPPCON
SPPEPS
SPPCFG
SPPDATA
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
2455 2550 4455 4550
Legenda: u= Inalterado, x= Desconhecido, -= Bit no implementado, ler como '0 ', q= Valor depende do estado.
As clulas sombreadas indicam condies no se aplicam para o dispositivo designado.
Nota 1: Quando o wake-up devido a uma interrupo eo bit giel ou GIEH est definido, o TOSU, Tosh e TOSL so
atualizado com o valor atual do PC. O STKPTR modificada para apontar para a prxima posio no
hardware pilha.
2: Um ou mais bits nos registradores INTCONx ou pirx sero afetados (para causar wake-up).
3: Quando o wake-up devido a uma interrupo eo bit giel ou GIEH est definido, o PC carregado com a interrupo
vetor (0008H ou 0018h).
4: Consulte a Tabela 4-3 para Reiniciar valor para a condio especfica.
5: PORTA <6>, LATA <6> e TRISA <6> esto activadas, dependendo do modo seleccionado de oscilador. Quando no est
habilitado como PORTA pinos, eles so desativados e ler '0 '.
v 2009 Microchip Technology Inc. DS39632E-pgina 57
PIC18F2455/2550/4455/4550
NOTAS:
DS39632E-pgina 58 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
5 Organizao da memria 5.1 Organizao da memria do programa
Existem trs tipos de memria em PIC18 maior
dispositivos microcontrolador:
Memria de Programa
RAM de dados
EEPROM de dados
Como os dispositivos de Harvard arquitetura, os dados e os
programas
memrias usar nibus separados, o que permite con-
acesso atual dos dois espaos de memria. Os dados
EEPROM, para fins prticos, pode ser considerada
um dispositivo perifrico, uma vez que dirigida e acessados
atravs de um conjunto de registos de controlo.
Informaes detalhadas adicionais sobre o funcionamento do
Memria de programa de inflamao fornecido em Seo 6.0
"Memria de Programa Flash". Dados EEPROM
discutido separadamente Seo 7.0 "EEPROM de dados
Memria ".
Microcontroladores PIC18 implementar um programa de 21-bit
contra o qual capaz de dirigir a 2 Mbyte
espao de memria do programa. Acessar uma posio entre
o limite superior da fisicamente implementado
memria eo endereo de 2 Mbyte retornar todos '0 's (a
NOP instruo).
O PIC18F2455 e PIC18F4455 cada um tem 24 Kbytes
de memria Flash e pode armazenar at 12.288 nica palavra
instrues. O PIC18F2550 e PIC18F4550 cada
tm 32 Kbytes de memria Flash e pode armazenar at
16.384 instrues de uma s palavra.
Dispositivos PIC18 tem dois vetores de interrupo. O reset
endereo vetor est em 0000h eo vetor de interrupo
endereos esto no 0008H e 0018h.
Os mapas de memria de programa para PIC18FX455 e
PIC18FX550 dispositivos so mostrados na Figura 5-1.
Figura 5-1: PROGRAMA MAPA DE MEMRIA E PILHA
24 Dispositivos Kbytes
PC <20:00>
32 Dispositivo Kbyte
PC <20:00>
Chamada, RCALL, retorno,
RETFIE, RETLW, CALLW,
ADDULNK, SUBULNK
Chamada, RCALL, retorno,
RETFIE, RETLW, CALLW,
ADDULNK, SUBULNK
21 21
Pilha Nvel 1



Pilha Nvel 1



Pilha Nvel 31
Redefinir Vector 0000h
Pilha Nvel 31
Redefinir Vector 0000h
Vetor de interrupo 0008H alta prioridade
Vetor de interrupo 0018h de baixa prioridade
On-Chip
Memria de Programa
5FFFh
6000h
Vetor de interrupo 0008H alta prioridade
Vetor de interrupo 0018h de baixa prioridade
On-Chip
Memria de Programa
Espao
Memria do
Usurio
Espao
Memria do
Usurio
7FFFh
8000h
Leia '0 '
Leia '0 '
1FFFFFh
200000h
1FFFFFh
200000h
v 2009 Microchip Technology Inc. DS39632E-pgina 59
PIC18F2455/2550/4455/4550
5.1.1 Contador de programa
O contador do programa (PC) especifica o endereo do
instruo para buscar para a execuo. O PC de 21 bits de largura
e est contida em trs registos separados de 8 bits. O
byte baixo, conhecido como o registo PCL, tanto legvel
e gravvel. A alta byte, ou PCH registo, contm
o PC <15:08> pedaos, mas no de fcil leitura ou escrita.
Atualizaes para o registo PCH so realizadas atravs do
PCLATH registo. O byte superior chamado PCU. Este
registro contm o PC <20:16> bits; tambm no
diretamente lidos ou escritos. Atualizaes para o PCU
registo so realizadas atravs do registo PCLATU.
O contedo de PCLATH e PCLATU so transferidos
para o contador do programa por qualquer operao que escreve
PCL. Do mesmo modo, os dois bytes superiores do programa
contador transferido para PCLATH e por um PCLATU
operao que l PCL. Isto til para computadorizada
compensaes para o PC (ver O ponto 5.1.4.1 "Computed
GOTO ").
O PC bytes endereos na memria de programa. A
impedir que o PC fique desalinhado com a palavra
instrues, o bit menos significativo do PCL fixado em
um valor de '0 '. Os incrementos de PC por 2 a resolver
instrues seqenciais na memria do programa.
O Chamada, RCALL e GOTO ramo programa
instrues de escrever para o contador de programa diretamente.
Para
estas instrues, o contedo de PCLATH e
PCLATU no so transferidas para o contador do programa.
A pilha funciona como uma palavra-31 por 21 bits e uma memria
RAM
Stack Pointer 5 bits, STKPTR. O espao de pilha no
parte de qualquer programa espacial ou de dados. O ponteiro da
pilha
legvel e gravvel eo endereo no topo da
a pilha leitura e escrita atravs do
Top-of-Stack Funo Especial Registradores. Os dados podem
tambm
ser empurrada, ou removido da pilha, usando estes
registra.
ACHAMADA instruo tipo provoca um impulso para a pilha.
O ponteiro da pilha o primeiro incrementado ea localizao
apontado pelo ponteiro Stack escrito com a
contedo do PC (j que aponta para a instruo
seguindo o Chamada). ARETORNO causas de instruo do tipo
um pop da pilha. O contedo da localizao
apontada pelo STKPTR so transferidos para o computador
e, em seguida, o ponteiro da pilha decrementado.
O ponteiro da pilha inicializado para '00000 'depois de tudo
Redefine. No h RAM associado com a localizao
correspondente a um valor de ponteiro Pilha de '00000 ', o que
apenas um valor Reset. Bits de status indica se a pilha est
cheio, transbordou ou tenha underflowed.
5.1.2.1 Acesso Top-of-Stack
5.1.2 RETORNO pilha de endereos
A pilha de endereos de retorno permite qualquer combinao de
at
para 31 chamadas do programa e interrompe a ocorrer. O PC
empurrado para a pilha quando um CHAMADA ou RCALL instru-
o executado ou uma interrupo reconhecida. O
Valor PC puxado para fora da pilha numa Retorno, RETLW ou
umRETFIE instrues. PCLATU e no so PCLATH
afectada por qualquer um dos RETORNO ou CHAMADA instrues.
Apenas a parte superior da pilha de endereo de retorno (TOS) est
legvel e gravvel. Um conjunto de trs registos,
TOSU: TOSH: TOSL, armazenar o contedo da pilha de loca-
o apontada pelo registo STKPTR (Figura 5-2). Este
permite que os usurios para implementar uma pilha de software, se
necessrio.
Aps Chamada, RCALL ou de interrupo, o software pode ler
o valor empurrado pela leitura do TOSU: TOSH: TOSL
registra. Estes valores podem ser colocados em um definido pelo
utilizador
pilha de software. No momento da troca, o software pode retornar
esses valores para TOSU: Tosh: TOSL e fazer um retorno.
O usurio deve desativar a interrupo globais permitem pedaos
ao acessar a pilha para evitar pilha inadvertida
corrupo.
Figura 5-2: RETORNO pilha de endereos de e registra ASSOCIADOS
Voltar Stack Endereo <20:00>
11111
11110
11101
Top-of-Stack Registra
TOSU
00h
TOSH
1Ah
TOSL
34h
Top-of-Stack
001A34h
000D58h
Stack Pointer
STKPTR <4:00>
00010
00011
00010
00001
00000
DS39632E-pgina 60 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
5.1.2.2 Voltar Pointer Stack (STKPTR)
O registo STKPTR (Register 5-1) contm a pilha
Valor do ponteiro, o STKFUL (Stack Full) bit de status e
o STKUNF (Underflow Stack) bit de status. O valor de
o ponteiro da pilha pode ser de 0 a 31. O Stack
Incrementos ponteiro antes os valores so colocados na
empilhar e diminui aps os valores so bateu fora o
empilhar. Em Reset, o valor do ponteiro de pilha ser igual a zero.
O usurio pode ler e escrever o valor do ponteiro de pilha.
Esta caracterstica pode ser usada por uma operao em tempo real
System (RTOS) para manuteno da pilha de retorno.
Depois que o PC empurrado para a pilha de 31 vezes (sem
surgindo quaisquer valores do stack), o bit STKFUL
definido. O bit STKFUL desmarcada por software ou por uma
POR.
A ao que ocorre quando a pilha se torna
completo depende do estado do STVREN (Pilha
Restaurar Ativar Overflow) bit de configurao. (Consulte a
Seo 25.1 "Bits de Configurao" para uma descrio de
os bits de configurao do dispositivo.) Se STVREN est definido
(Default), o impulso 31 vai empurrar o valor (PC + 2)
na pilha, defina o bit STKFUL e redefinir o
dispositivo. O bit STKFUL permanecer set ea Pilha
Pointer ser definido para zero.
Se STVREN estiver desmarcada, o bit STKFUL ser definido no
31 de presso e o ponteiro da pilha ser incrementado para 31.
Qualquer adicional empurra no substituir o impulso 31
eo STKPTR permanecer em 31.
Quando a pilha tenha sido estalou vezes suficiente para
descarregar a pilha, a prxima pop ir retornar um valor de zero
para o PC e define o bit STKUNF, enquanto a pilha
Ponteiro permanece em zero. O bit STKUNF permanecer
definir at que seja limpa por software ou at um POR ocorre.
Nota: Retornando um valor de zero para o PC em um
underflow tem o efeito de vetorizao do
programa para o vector de Reset, onde o
condies de pilha pode ser verificada e
aes apropriadas possam ser tomadas. Isto
no o mesmo como um Reset, como o contedo
dos SFRs no so afetados.
5.1.2.3 IMPULSO e POP Instrues
Desde o Top-of-Stack leitura e escrita, o
capacidade de empurrar os valores para a pilha e puxe valores fora
da pilha, sem programao normal perturbador execu-
o, uma caracterstica desejvel. O conjunto de instrues PIC18
inclui duas instrues, IMPULSO e POP, que permitam
TOS para ser manipulado sob controle de software.
TOSU, TOSL Tosh e podem ser modificados para colocar dados
ou um endereo de retorno na pilha.
O IMPULSO instruo coloca o valor atual para PC
a pilha. Isso aumenta o ponteiro da pilha e cargas
o valor atual do PC na pilha.
O POP instruo descarta as TOS atuais por decre-
mentao o ponteiro da pilha. O valor anterior empurrado
na pilha torna-se ento o valor TOS.
CADASTRE-SE 5-1:
R/C-0
STKFUL(1)
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
STKPTR: ponteiro de pilha REGISTRO
R/C-0 U-0
-
R/W-0
SP4
R/W-0
SP3
R/W-0
SP2
R/W-0
SP1
R/W-0
SP0
bit 0
C = bit Apagvel
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
STKUNF(1)
STKFUL: Stack Full Flag bit(1)
1= Stack tornou-se total ou transbordou
0= Stack no se tornou completo ou transbordou
STKUNF: Pilha Bandeira Underflow bit(1)
1= Estouro de pilha ocorreu
0= Estouro de pilha no ocorreu
Unimplemented: Leia como '0 '
SP4: SP0: Stack Pointer Localizao pedaos
Bit 7 e 6 bit so apuradas pelo software usurio ou por um POR.
bit 6
bit 5
bit 4-0
Nota 1:
v 2009 Microchip Technology Inc. DS39632E-pgina 61
PIC18F2455/2550/4455/4550
5.1.2.4 Pilha completa e Underflow Redefine 5.1.4
Redefine dispositivo em estouro de pilha e estouro de pilha
condies esto habilitados definindo o bit STVREN em
Configurao Register 4L. Quando STVREN est definida, um total
de
ou condio de underflow ir definir o STKFUL apropriado
ou STKUNF pouco e, em seguida, provocar uma redefinio do
dispositivo. Quando
STVREN estiver desmarcada, uma condio total ou underflow ir
definir
o bit STKFUL ou STKUNF adequado, mas no causam
um dispositivo de reset. Os bits so STKFUL ou STKUNF
apuradas pelo software usurio ou um Power-on Reset.
TABELAS look-up do programa
MEMRIA
Pode haver situaes que requerem a programao
criao de estruturas de dados, ou procurar-se tabelas,
memria de programa. Para os dispositivos PIC18, procure-up
tabelas
pode ser implementada de duas maneiras:
computadorizada GOTO
Tabela L
5.1.4.1 Computadorizada GOTO
5.1.3 RPIDO registro da pilha
Um registo Stack rpido fornecido para o STATUS,
WREG e BSR registra a fornecer um "retorno rpido"
opo para interrupes. Cada pilha apenas um nvel de
profundidade
e no legvel, nem gravvel. carregado com o
valor atual do registro correspondente, quando a
vetores de processador para uma interrupo. Todas as fontes de
interrupo
vai empurrar os valores para os registros da pilha. Os valores
os registros so carregados de volta para o seu associado
regista-se o RETFIE, RPIDO de instrues utilizado para
retornar da interrupo.
Se ambas as interrupes de baixa e de alta prioridade so
ativados, o
registros da pilha no pode ser usado com segurana para retornar
a partir de
interrupes de baixa prioridade. Se ocorre uma interrupo de alta
prioridade
enquanto atende uma interrupo de baixa prioridade, a pilha
registar valores armazenados pela interrupo de baixa prioridade
ser
ser substitudo. Nestes casos, os usurios devem guardar a chave
registros em software durante uma interrupo de baixa prioridade.
Se a prioridade de interrupo no utilizado, todas as interrupes
podem utilizar o
Registre rpido Stack para retornos de interrupo. Se nenhum
as interrupes so usados, o rpido registro da pilha pode ser
usado para restaurar o STATUS, WREG e BSR registra
no fim de uma chamada de subrotina. Para usar o Registro Rpido
Pilha para uma chamada de sub-rotina, um Etiqueta CALL,
RPIDO
instruo deve ser executada para salvar o STATUS,
WREG e BSR registra o rpido Register Stack. A
RETORNO, RPIDO instruo ento executado para restaurar
estes registros do rpido Register Stack.
Exemplo 5-1 mostra um exemplo de cdigo fonte que usa
o rpido Register Stack durante uma chamada de sub-rotina e
voltar.
A computadorizada GOTO realizado por adio de um
deslocamento
para o contador do programa. Um exemplo mostrado nas
Exemplo 5-2.
Uma tabela de consulta pode ser formado com um ADDWF PCL
instruo e um grupo de RETLW nn instrues. O
Registo W carregado com um deslocamento na tabela antes
execuo de uma chamada para que a tabela. A primeira instruo
do
representa a rotina de chamada ADDWF PCL instrues. O prximo
instrues ser executado um dos RETLW nn
instrues que retorna o valor 'nn' ao chamado
funo.
O valor de deslocamento (em WREG) especifica o nmero de
bytes que o contador de programa deve avanar e
deve ser mltiplos de 2 (LSB = 0).
Neste mtodo, somente um byte de dados podem ser armazenados
em
cada local e sala de instruo sobre o retorno
pilha de endereo necessrio.
Exemplo 5-2:
MOVF
CHAMADA
nn00h
ADDWF
RETLW
RETLW
RETLW
.
.
.
COMPUTED GOTO UTILIZAO
Um valor de deslocamento
DESVIO, W
TABELA
PCL
NNL
NNL
NNL
ORG
TABELA
5.1.4.2 Tabela L e Escreve Tabela
EXEMPLO 5-1:
CHAMADA SUB1, RPIDO


SUB1
RPIDO registro da pilha
Exemplo de cdigo
, STATUS, WREG, BSR
, Salvo no registrador RPIDO
, PILHA
A melhor forma de armazenar dados na memria do programa
permite que dois bytes de dados a serem armazenados em cada
instruo
localizao.
Olhe para cima os dados da tabela podem ser armazenadas por
dois bytes
programa Word usando a tabela l e escreve. O
Tabela Pointer (TBLPTR) registro especifica o byte
endereo eo Trava Table (Tablat) registo
contm os dados que so lidos ou gravados para o programa
memria. Os dados so transferidos para ou a partir do programa
memria de um byte de cada vez.
Tabela operaes de leitura e gravao de mesa so discutidos
ainda mais em Seo 6.1 "Tabela L e Tabela
Escreve ".


RETORNO, RPIDO
, Restaurar os valores SALVO
; Em fast PILHA REGISTRO
DS39632E-pgina 62 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
5.2
5.2.1
Ciclo de Instruo PIC18
Overclock ESQUEMA
5.2.2 INSTRUES DE FLUXO / PIPELINING
A entrada de relgio do microcontrolador, quer a partir de um
de origem interna ou externa, est dividida internamente por quatro
para gerar quatro relgios no sobrepostos quadratura
(Q1, Q2, Q3 e Q4). Internamente, o contador de programa
incrementado em cada Q1, a instruo buscada
a partir da memria de programa e travada no instru-
o Register (IR) durante Q4. A instruo descodificado
e executado durante o seguinte Q1 atravs Q4. O
relgios e fluxo de execuo das instrues so apresentadas na
Figura 5-3.
Um "ciclo de instruo" composto por quatro ciclos Q: Q1
atravs Q4. A instruo buscar e executar so pipe-
alinhadas de tal maneira que uma tira buscar uma instruo
ciclo, enquanto a decodificao e execuo leva outro
ciclo de instruo. No entanto, devido canalizao, cada
instruo efectivamente executada em um ciclo. Se um
instruo faz com que o contador de programa para alterar (por
exemplo,
GOTO), depois de dois ciclos so necessrios para completar a
instruo (Exemplo 5-3).
Um ciclo de busca comea com o contador de programa (PC)
incrementado em Q1.
No ciclo de execuo da instruo buscada trancada
para o registrador de instruo (IR) no 1 trimestre de ciclo. Este
instruo ento descodificado e executado durante o
Q2, Q3 e Q4 ciclos. A memria de dados lido durante Q2
(Operando leitura) e escrito durante Q4 (destino
escrever).
Figura 5-3:
OSC1
Q1
Q2
Q3
Q4
PC
OSC2/CLKO
(Modo RC)
CLOCK / CICLO DE INSTRUES
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
Interno
Fase
Relgio
PC PC + 2 + PC 4
Executar INST (PC - 2)
Buscar INST (PC)
Executar INST (PC)
Buscar INST (PC + 2)
Executar INST (PC + 2)
Buscar INST (PC + 4)
Exemplo 5-3: INSTRUO PIPELINE DE FLUXO
TCY0 TCY1
Executar um
Fetch 2 Executar 2
Fetch 3 Execute 3
Fetch 4 Lave (NOP)
Buscar SUB_1 Executar SUB_1
TCY2 TCY3 TCY4 TCY5
1. MOVLW 55h
2. MOVWF PORTB
3. BRA
4. BSF
SUB_1
Buscar uma
PORTA, Bit3 (Forced NOP)
5. Instruo @ endereo SUB_1
Nota: Todas as instrues so de ciclo nico, com exceo de todas as filiais do programa. Estes tm dois ciclos desde a
buscar
instruo "liberado" do gasoduto, enquanto a nova instruo est sendo buscado e, em seguida, executado.
v 2009 Microchip Technology Inc. DS39632E-pgina 63
PIC18F2455/2550/4455/4550
5.2.3 Instrues em um programa
MEMRIA
A memria de programa abordada em bytes. Instru-
es so armazenados como bytes de dois ou quatro bytes no
programa
memria. O byte menos significativo de uma instruo
palavra sempre armazenado em um local de memria de
programa
com um mesmo endereo (LSB = 0). Para manter o alinhamento
com limites de instruo, incrementa o PC em etapas
de 2 ea LSB vai sempre ler '0 '(ver Seo 5.1.1
"Contador de Programa").
A figura 5-4 mostra um exemplo de como a instruo palavras
so armazenadas na memria de programa.
O CHAMADA e GOTO instrues tm o absoluto
programa endereo de memria embutido no instru-
o. Como as instrues so sempre armazenados na palavra
limites, os dados contidos na instruo uma
endereo de palavra. O endereo da palavra escrita para PC
<20:01>,
que acessa o endereo do byte desejado no programa
memria. Instruo N 2 na Figura 5-4 mostra como o
instruo GOTO 0006h, codificado no programa
memria. Instrues de desvio do programa, que codificam a
endereo relativo compensado, funcionam da mesma maneira. O
valor de desvio armazenada numa instruo de ramificao
representa o
nmero de instrues de uma s palavra que o PC ser
compensada por. Seo 26.0 "Instruction Set Summary"
fornece mais detalhes sobre o conjunto de instrues.
Figura 5-4: INSTRUES na memria de programa
Memria de Programa
Locais Byte
LSB = 1 LSB = 0
Palavra Endereo

000000h
000002h
000004h
000006h
000008h
00000Ah
00000Ch
00000Eh
000010h
000012h
000014h
Instruo 1:
Instruo 2:
Instruo 3:
MOVLW
GOTO
MOVFF
055H
0006h
123h, 456h
0Fh
Efh
F0h
C1h
F4h
55h
03h
00h
23h
56h
5.2.4 INSTRUES duas palavras
O conjunto de instrues padro PIC18 tem quatro de duas palavras
instrues: CALL, MOVFF, GOTO e LSFR. Em todos
dos casos, a segunda palavra de as instrues tem sempre
'1111 'Como seus quatro bits mais significativos, os outros 12 bits
so dados literais, geralmente um endereo de memria de dados.
O uso de '1111 'nas quatro MSBS de uma instruo
especifica uma forma especial de NOP. Se a instruo
executado na sequncia adequada, imediatamente aps a
palavra em primeiro lugar, os dados da segunda palavra acessado
e
utilizado pela sequncia de instrues. Se a primeira palavra
ignorados por algum motivo, ea segunda palavra
executado por si s, uma NOP executada em vez disso. Isto
necessrios para os casos em que a instruo de duas palavras
precedida de uma instruo condicional que altera o
PC. Exemplo 5-4 mostra como isso funciona.
Nota: Ver Seo 5.5 "Memria e Programa
O conjunto de instrues estendida " para
informaes sobre o ensino de duas palavras no
instruo estendido definido.
Exemplo 5-4:
Caso 1:
Cdigo Objeto
INSTRUES duas palavras
Cdigo-Fonte
TSTFSZ
MOVFF
ADDWF
REG1 , a localizao RAM 0?
, Executar esta palavra como um NOP
Reg3 , Continue cdigo
REG1, REG2; No, pule esta palavra
0110 0110 0000 0000
1100 0001 0010 0011
1111 0100 0101 0110
0010 0100 0000 0000
Caso 2:
Cdigo Objeto
0110 0110 0000 0000
1100 0001 0010 0011
1111 0100 0101 0110
0010 0100 0000 0000
Cdigo-Fonte
TSTFSZ
MOVFF
ADDWF
REG1 , a localizao RAM 0?
, Segundo palavra de instruo
Reg3 , Continue cdigo
REG1, REG2; Sim, executar esta palavra
DS39632E-pgina 64 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
5.3
Nota:
Organizao da memria de dados
O funcionamento de alguns aspectos dos dados
memria so alterados quando o PIC18
conjunto de instrues estendida estiver ativada. Ver
Seo 5.6 "Memria de Dados eo
Alargado conjunto de instrues " Para mais
informao.
5.3.2 BANCO Selecione Registrar (BSR)
A memria de dados em dispositivos de PIC18 implementado
como
RAM esttica. Cada registo na memria de dados tem um
Endereo de 12 bits, permitindo at 4096 bytes de dados
memria. O espao de memria dividida em quantos
16banksthatcontain256byteseach.
PIC18F2455/2550/4455/4550 dispositivos implementar oito
bancos completos, para um total de 2048 bytes. Figura 5-5
mostra a organizao de memria de dados para os dispositivos.
A memria de dados contm registros de funes especiais
(SFR) e registradores de propsito geral (GPRS). O
SFR so usados para controle e status do controlador
e funes perifricas, enquanto GPRS so usados para dados
operaes de armazenamento e de rascunho em que o usurio do
aplicao. Qualquer leitura de um local no implementado vontade
lido como '0 's.
O conjunto de instrues e arquitetura permitir operaes
em todos os bancos. A memria de dados inteira pode ser
acessados por direta, indireta ou endereamento indexado
modos. Modos de endereamento so discutidos mais adiante neste
subseo.
Para garantir que os registos de uso geral (SFR e
selecione GPRS) pode ser acessado em um nico ciclo, PIC18
dispositivos implementar um Banco Access. Este um 256-byte
espao de memria que fornece acesso rpido a SFR e
a poro inferior do banco 0 GPR sem utilizar o
BSR. Seo 5.3.3 "Access Bank" fornece uma
Descrio detalhada da RAM de acesso.
Grandes reas de memria de dados requer um eficiente
esquema de endereamento para fazer um rpido acesso a
qualquer
tratar possvel. Idealmente, isso significa que um inteiro
endereo no precisa ser fornecida para cada leitura ou
escrever operao. Para os dispositivos PIC18, este acom-
zado com um sistema bancrio RAM. Isto divide a
espao de memria no 16 bancos contguos de 256 bytes.
Dependendo da instruo, cada local pode ser
dirigida diretamente pelo seu endereo de 12 bits completo, ou um
8-bit
Endereo de baixa ordem e um Pointer Banco de 4 bits.
A maioria das instrues do conjunto de instrues PIC18 fazer uso
do Pointer Bank, conhecido como o Bank Select Register
(BSR). Este SFR detm os 4 bits mais significativos de um
endereo de localizao, a prpria instruo inclui o
oito bits menos significativos. Apenas os quatro bits mais baixos de
o BSR so implementados (BSR3: BSR0). Os superiores
quatro bits no so usados, pois eles sempre iro ler '0 'e pode-
no ser gravado. A BSR pode ser carregado diretamente pelo
usando o MOVLB instrues.
O valor do BSR indica o banco de dados
memria. Os oito bits na instruo mostrar a loca-
o no banco e pode ser pensado como um deslocamento
limite inferior do banco. A relao entre
o valor da BSR e da diviso de banco de dados na memria
mostrado na Figura 5-6.
Uma vez que at dezesseis registradores podem compartilhar o
mesmo
Endereo de baixa ordem, o usurio deve sempre ter o cuidado de
garantir que o banco correto est selecionado antes de realizar-
o de dados ler ou escrever. Por exemplo, escrever o que
devem ser dados do programa para um endereo de F9H 8 bits,
enquanto o BSR 0Fh, vai acabar redefinir o programa
contrariar.
Embora qualquer banco podem ser selecionados, apenas os bancos
que
so realmente implementado pode ser lido ou escrito.
Escreve aos bancos no implementadas so ignorados, enquanto
l os bancos no implementadas retornar '0 's. Mesmo
assim, o registo STATUS ainda ser afetada, se o
operao foi bem sucedida. O mapa de memria de dados em
Figura 5-5 indica que os bancos so implementadas.
No conjunto de instrues PIC18 ncleo, apenas o MOVFF
instruo especifica totalmente o endereo de 12 bits do
origem e de destino registos. Esta instruo ignora o
BSR completamente quando ele executado. Todas as outras
instrues
incluir somente o endereo de baixa ordem como um operando e
deve usar a BSR ou o Banco de acesso para localizar
seu alvo registra.
5.3.1 RAM USB
Bancos de 4 a 7 da memria de dados so realmente
mapeada para a memria RAM de porta dupla especial. Quando o
USB
mdulo estiver desativado, o GPRs nestes bancos so usadas
como qualquer outro GPR no espao de memria de dados.
Quando o mdulo USB est habilitado, a memria nesses
bancos alocado como buffer de memria RAM para operao
USB.
Esta rea dividida entre o ncleo microcontrolador
ea srie Engine Interface USB (SIE) e usada
para transferir dados directamente entre os dois.
Teoricamente, possvel utilizar as reas de memria RAM USB
que no so atribudos como buffers USB para normalidade
memria de rascunho ou outro armazenamento varivel. Na pr-
tica, a natureza dinmica da alocao de buffer faz com que este
arriscada na melhor das hipteses. Alm disso, o banco 4 usado
para o tampo USB
gesto quando o mdulo habilitado e deve
no pode ser utilizado para outros fins durante esse tempo.
Informaes adicionais sobre a RAM USB e tampo
operao fornecida em Seo 17,0 "Universal
Serial Bus (USB) ".
v 2009 Microchip Technology Inc. DS39632E-pgina 65
PIC18F2455/2550/4455/4550
FIGURA 5-5:
BSR <3:00>
DATA MEMORY MAP
Mapa de dados da memria
Quando a = 0:
=0000
=0001
=0010
00h
Banco 0
FFh
00h
Banco 1
Banco 2
FFh
00h
Acesso RAM
GPR
GPR
000h
05Fh
060h
0FFh
100h
1FFh
200h
A BSR ignorado eo
Banco Access usado.
Os primeiros 96 bytes so
RAM de uso geral
(A partir do banco 0).
Os restantes 160 bytes so
Funo Especial Registra
(A partir de Banco 15).
Quando a = 1:
A BSR especifica o banco
usado pela instruo.
GPR
FFh
00h
GPR
FFh
00h
FFh
00h
FFh
00h
FFh
00h
FFh
00h
3FFh
400h
GPR(1)
4FFh
500h
GPR(1)
5FFh
600h
GPR(1)
GPR(1)
6FFh
700h
7FFh
800h
2FFh
300h
=0011
Banco 3
=0100
=0101
Bank 4
Bank 5
=0110
Banco 6
Access Bank
5Fh
Acesso memria RAM de alta
60h
(SFR)
FFh
=0111
Banco 7
Acesso RAM Baixo
00h
=1000
Banco 8
a
No usado
Leia como 00h
=1110
Banco 14
=1111
FFh
00h
Banco 15
FFh
No usado
SFR
EFFh
F00h
F5Fh
F60h
FFFh
Nota 1: Esses bancos tambm servem como tampo RAM para operao USB. Ver 5.3.1 "RAM USB" Para mais
informao.
DS39632E-pgina 66 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
FIGURA 5-6:
7
USO DO BANCO Selecione Registrar (endereamento direto)
BSR(1)
0
000h
100h
Banco 1
200h
300h
Banco 2
Memria de Dados
00h
Banco 0
FFh
00h
FFh
00h
FFh
00h
7
De Opcode(2)
0
0 0 0 0 0 0 1 1
1 1 1 1 1 1 1 1
Bank Select(2)
Banco 3
atravs
Banco 13
E00h
Banco 14
F00h
FFFh
Nota 1:
2:
Banco 15
FFh
00h
FFh
00h
FFh
O bit de memria RAM de acesso da instruo pode ser usada para forar uma substituio do banco selecionado (BSR
<03:00>) para
os registros do Banco Access.
O MOVFF instruo incorpora todo o endereo de 12 bits na instruo.
5.3.3 ACESSO AO BANCO
Enquanto o uso do BSR, com um 8 bits incorporado
endereo, permite aos utilizadores para tratar toda a gama de
memria de dados, isto tambm significa que o utilizador tem
sempre
garantir que o banco correto est selecionado. Caso contrrio,
os dados podem ser lidos ou gravados para o local errado.
Isto pode ser desastroso se um GPR o alvo pretendido
de uma operao, mas uma SFR escrito em seu lugar.
Verificando e / ou mudando a BSR para cada leitura ou
escrever para a memria de dados pode tornar-se muito ineficiente.
Para agilizar o acesso aos dados mais utilizados
posies de memria, a memria de dados configurado com
um Banco Access, que permite aos usurios acessar um
mapeados bloco de memria sem especificar um BSR.
O Banco de Acesso consiste nos primeiros 96 bytes de
memria (00h-5Fh) no Banco 0 e os ltimos 160 bytes de
memria (60h-FFh) no Bloco 15. A metade inferior conhecido
como "o acesso memria RAM" e composto de GPRS. O
metade superior onde SFRs do dispositivo so mapeados.
Estas duas reas so mapeadas na contiguamente
Acesse Bank e pode ser abordada de uma forma linear
por um endereo de 8 bits (Figura 5-5).
O Banco Access usado por instrues do ncleo PIC18
que incluem o bit de memria RAM de acesso (o parmetro "a" em
a instruo). Quando "a" igual a '1 ', a instruo
utiliza o BSR e o endereo de 8 bits includo no
opcode para o endereo de memria de dados. Quando "A" for '0 ',
No entanto, a instruo forado a utilizar o Acesso
Banco endereo mapa, o valor atual da BSR
ignorou completamente.
Usando este "forado" endereamento permite que a instruo para
operar em um endereo de e dados em um nico ciclo, sem
atualizar o BSR primeiro. Para endereos de 8 bits de 60h e
acima, isto significa que os utilizadores podem avaliar e operar
em SFRs mais eficientemente. A memria RAM de acesso abaixo
60h
um bom lugar para valores de dados que o usurio pode precisar
para acessar rapidamente, como computacional imediato
resultados ou variveis de programa comum. Acesso RAM
Tambm permite que o cdigo de contexto mais rpido e mais
eficiente
salvar e mudar de variveis.
O mapeamento do banco do acesso ligeiramente diferente
quando o conjunto de instrues estendida estiver ativada (XINST
Bit Configuration = 1). Isto discutido em mais detalhe
em Seo 5.6.3 "Mapeando o Banco de acesso em
Indexados Literal Modo de deslocamento ".
5.3.4 FINALIDADE GERAL
CADASTRE-SE IMAGEM
Dispositivos PIC18 podem ter memria depositado no GPR
rea. Esta a RAM de dados, que est disponvel para utilizao
por todos
instrues. GPRs comear na parte inferior do banco 0
(Endereo 000h) e crescer para cima em direo ao fundo
da rea da SFR. GPRS no so inicializados por um
Power-on Reset e mantm-se inalterados em todos os outros
Redefine.
v 2009 Microchip Technology Inc. DS39632E-pgina 67
PIC18F2455/2550/4455/4550
5.3.5 FUNO ESPECIAL REGISTRA
Os registos de funes especiais (SFR) so registradores
usado pelos mdulos de CPU e perifrica para controlar
a operao desejada do dispositivo. Estes registos so
implementado como a RAM esttica no espao de memria de
dados.
SFRs comear no topo da memria de dados e estender-se-
afastar para ocupar o segmento superior do Banco 15, a partir de
F60h
para FFFh. A lista desses registros dada na Tabela 5-1
e Quadro 5-2.
Os SFRs podem ser classificados em dois grupos: aqueles
associada funcionalidade do dispositivo "core" (ALU,
Redefine e interrompe) e os relacionados com a
funes perifricas. O reset e interrupo registros
esto descritos nos captulos respectivos, enquanto o
Registo STATUS da ALU descrito posteriormente neste
seco. Regista relacionada com a operao de um
caracterstica perifrica so descritos no captulo para que
perifrico.
Os SFRs so tipicamente distribudos entre o
perifricos, cujas funes eles controlam. SFR no utilizado
locais so unimplemented e ler como '0 's.
TABELA 5-1:
Endereo
FFFh
FFEh
FFDh
FFCH
FFBH
FFAh
FF9h
FF8h
FF7h
FF6h
FF5h
FF4h
FF3h
FF2h
FF1h
FF0h
FEFh
Feeh
Fech
FEBh
Feah
FE9h
FE8h
FE7h
ESPECIAL funo de registro MAP
Nome
TOSU
TOSH
TOSL
Endereo
FDFh
FDDh
FDCH
FDBh
FDAh
FD9h
FD8h
FD7h
FD6h
FD5h
FD4h
FD3h
FD2h
FD1h
FD0h
FCFh
FCEh
FCDH
FCCh
FCBH
FCAH
FC9h
FC8h
FC7h
(1)
Nome
INDF2(1)
POSTDEC2(1)
PREINC2(1)
PLUSW2
FSR2L
STATUS
TMR0H
TMR0L
T0CON
-(2)
OSCCON
HLVDCON
WDTCON
RCON
TMR1H
TMR1L
T1CON
TMR2
PR2
T2CON
SSPBUF
SSPADD
SSPSTAT
SSPCON1
SSPCON2
ADRESH
ADRESL
ADCON0
ADCON1
ADCON2
(1)
Endereo
FBFh
FBEh
FBDh
FBCH
FBBh
FBAh
FB9h
FB8h
FB7h
FB6h
FB5h
FB4h
FB3h
FB2h
FB1h
FB0h
FAFh
Faeh
FADH
FACh
FABh
FAAH
FA9h
FA8h
FA7h
FA6h
FA5h
FA4h
FA3h
FA2h
FA1h
FA0h
Nome
CCPR1H
CCPR1L
CCP1CON
CCPR2H
CCPR2L
CCP2CON
-
(2)
Endereo
F9Fh
F9Eh
F9Dh
F9Ch
F9Bh
F9Ah
F99h
F98h
F97h
F96h
F95h
F94h
F93h
F92h
F91h
F90h
F8Fh
F8Eh
F8Dh
F8Ch
F8Bh
F8Ah
F89h
F88h
F87h
F86h
F85h
F84h
F83h
F82h
F81h
F80h
Nome
IPR1
PIR1
PIE1
-(2)
OSCTUNE
-(2)
-
(2)
Endereo
F7Fh
F7Eh
F7Dh
F7Ch
F7Bh
F7Ah
F79h
F78h
F77h
F76h
F75h
F74H
F73h
F72h
F71h
F70h
F6Fh
F6Eh
F6Dh
F6Ch
F6Bh
F6Ah
F69h
F68h
F67h
F66h
F65h
F64h
F63h
F61h
F60h
Nome
UEP15
UEP14
UEP13
UEP12
UEP11
UEP10
UEP9
UEP8
UEP7
UEP6
UEP5
UEP4
UEP3
UEP2
UEP1
UEP0
UCFG
UADDR
UCON
USTAT
UEIE
UEIR
UIE
UIR
UFRMH
UFRML
SPPCON(3)
SPPEPS(3)
SPPCFG(3)
-(2)
-(2)
FDEh POSTINC2(1)
STKPTR
PCLATU
PCLATH
PCL
TBLPTRU
TBLPTRH
TBLPTRL
Tablat
PRODH
Prdl
INTCON
INTCON2
INTCON3
INDF0
(1)
FSR2H
BAUDCON
ECCP1DEL
ECCP1AS
CVRCON
CMCON
TMR3H
TMR3L
T3CON
SPBRGH
SPBRG
RCREG
TXREG
TXSTA
RCSTA
-
(2)
-(2)
-(2)
Trise(3)
TRISD
(3)
TRISC
TRISB
TRISA
-(2)
-
-
(2)
(2)
POSTINC0(1)
PREINC0
FSR0H
FSR0L
WREG
INDF1(1)
(1)
-(2)
LATE(3)
LATD
(3)
FEDH POSTDEC0(1)
PLUSW0(1)
LATC
LATB
LATA
-(2)
-(2)
-
(2)
EEADR
EEDATA
EECON2(1)
EECON1
-(2)
-(2)
-(2)
IPR2
PIR2
PIE2
FE6h POSTINC1
FE4h
FE3h
FE2h
FE1h
FE0h
Nota 1:
2:
3:
FC6h
FC5h
FC4h
FC3h
FC2h
FC1h
FC0h
FE5h POSTDEC1(1)
PREINC1(1)
PLUSW1(1)
FSR1H
FSR1L
BSR
-(2)
PORTE
PORTD(3)
PORTC
PORTB
PORTA
F62h SPPDATA(3)
No um registo fsico.
Registradores no implementadas so lidos como '0 '.
Estes registos so implementadas apenas em dispositivos 40/44-pin.
DS39632E-pgina 68 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 5-2:
Nome do arquivo
TOSU
TOSH
TOSL
STKPTR
PCLATU
PCLATH
PCL
TBLPTRU
TBLPTRH
TBLPTRL
Tablat
PRODH
Prdl
INTCON
INTCON2
INTCON3
INDF0
POSTINC0
POSTDEC0
PREINC0
PLUSW0
FSR0H
FSR0L
WREG
INDF1
POSTINC1
POSTDEC1
PREINC1
PLUSW1
FSR1H
FSR1L
BSR
INDF2
POSTINC2
POSTDEC2
PREINC2
PLUSW2
FSR2H
FSR2L
STATUS
TMR0H
TMR0L
T0CON
Legenda:
Nota 1:
2:
3:
4:
5:
6:
7:
Registre-se Resumo IMAGEM
Bit 7
-
Bit 6
-
Bit 5
-
Bit 4 Bit 3 Bit 2 O bit 1 Bit 0
Valor em
POR, BOR
--- 0 0000
0000 0000
0000 0000
SP4 SP3 SP2 SP1 SP0 00-0 0000
--- 0 0000
0000 0000
0000 0000
bit 21(1)
Programa Memria Tabela Pointer Byte superior (TBLPTR <20:16>) - 00 0000
0000 0000
0000 0000
0000 0000
xxxx xxxx
xxxx xxxx
TMR0IE
INTEDG1
-
INT0IE
INTEDG2
INT2IE
RBIE
-
INT1IE
TMR0IF
TMR0IP
-
INT0IF
-
INT2IF
RBIF
RBIP
INT1IF
0000 x 000
1111 -1-1
11-0 0-00
N / D
N / D
N / D
N / D
N / D
---- 0000
xxxx xxxx
xxxx xxxx
N / D
N / D
N / D
N / D
N / D
---- 0000
xxxx xxxx
Bank Select Register ---- 0000
N / D
N / D
N / D
N / D
N / D
---- 0000
xxxx xxxx
OV Z DC C --- X xxxx
0000 0000
xxxx xxxx
T0CS T0SE PSA T0PS2 T0PS1 T0PS0 1111 1111
Holding Register para PC <20:16>
Detalhes
na pgina
53, 60
53, 60
53, 60
53, 61
53, 60
53, 60
53, 60
53, 84
53, 84
53, 84
53, 84
53, 97
53, 97
53, 101
53, 102
53, 103
53, 75
53, 76
53, 76
53, 76
53, 76
53, 75
53, 75
53
53, 75
53, 76
53, 76
53, 76
53, 76
53, 75
53, 75
54, 65
54, 75
54, 76
54, 76
54, 76
54, 76
54, 75
54, 75
54, 73
54, 129
54, 129
54, 127
Byte superior Top-of-Stack (TOS <20:16>)
Top-of-Stack alta byte (TOS <15:08>)
Top-of-Stack Low Byte (TOS <07:00>)
STKFUL
-
STKUNF
-
-
-
Holding Register para PC <15:08>
PC Low Byte (PC <07:00>)
- -
Programa Memria Tabela Pointer alta Byte (TBLPTR <15:08>)
Programa Memria Tabela Pointer Low Byte (TBLPTR <07:00>)
Programa trava tabela de memria
De registo de produtos de alta Byte
Produto Registrar Low Byte
GIE / GIEH
RBPU
INT2IP
PEIE / giel
INTEDG0
INT1IP
Usa contedo de FSR0 para enfrentar a memria de dados - valor de FSR0 no mudou (e no um registro fsico)
Usa contedo de FSR0 para enfrentar a memria de dados - valor de FSR0 ps-incrementado (no um registo fsico)
Usa contedo de FSR0 para enfrentar a memria de dados - valor de FSR0 ps-diminuda (no um registo fsico)
Usa contedo de FSR0 para enfrentar a memria de dados - valor de FSR0 pr-incrementado (no um registo fsico)
Usa contedo de FSR0 para enfrentar a memria de dados - valor de FSR0 pr-incrementado (no um registo fsico) -
valor de FSR0 compensado por W
-
Trabalhando Registrar
Usa contedo de FSR1 para enfrentar a memria de dados - valor de FSR1 no mudou (e no um registro fsico)
Usa contedo de FSR1 para enfrentar a memria de dados - valor de FSR1 ps-incrementado (no um registo fsico)
Usa contedo de FSR1 para enfrentar a memria de dados - valor de FSR1 ps-diminuda (no um registo fsico)
Usa contedo de FSR1 para enfrentar a memria de dados - valor de FSR1 pr-incrementado (no um registo fsico)
Usa contedo de FSR1 para enfrentar a memria de dados - valor de FSR1 pr-incrementado (no um registo fsico) -
valor de FSR1 compensado por W
-
-
-
-
-
-
-
-
Indireta dados de endereos da memria Pointer 1 High Byte
Indireta dados de endereos da memria Pointer 1 Low Byte
Usa contedo de FSR2 para enfrentar a memria de dados - valor de FSR2 no mudou (e no um registro fsico)
Usa contedo de FSR2 para enfrentar a memria de dados - valor de FSR2 ps-incrementado (no um registo fsico)
Usa contedo de FSR2 para enfrentar a memria de dados - valor de FSR2 ps-diminuda (no um registo fsico)
Usa contedo de FSR2 para enfrentar a memria de dados - valor de FSR2 pr-incrementado (no um registo fsico)
Usa contedo de FSR2 para enfrentar a memria de dados - valor de FSR2 pr-incrementado (no um registo fsico) -
valor de FSR2 compensado por W
-
-
-
-
-
-
-
N
Indireta dados de endereos da memria Pointer 2 High Byte
Indireta dados de endereos da memria Pointer 2 Low Byte
Timer0 Register alta Byte
Timer0 Registrar Low Byte
TMR0ON T08BIT
- - - Indireta dados de endereos da memria Pointer 0 Byte
Indireta dados de endereos da memria Pointer 0 Low Byte
x= Desconhecido, u= Inalterado, -= No implementado, q= Valor depende do estado. Clulas sombreadas so implementados, ler como '0 '.
Bit 21 da TBLPTRU permite o acesso aos bits de configurao do dispositivo.
O bit SBOREN s est disponvel quando Boren <1:00> = 01; Caso contrrio, o bit l como '0 '.
Estes registros e / ou bits no so implementados em dispositivos de 28 pinos e so lidos como '0 '. Redefinir valores so apresentados para dispositivos 40/44-pin;
pedaos no implementadas individuais devem ser interpretadas como "-".
RA6 est configurado como um pino de porta com base em vrios modos de oscilador primrios. Quando o pino porta est desativada, todos os bits associados ler '0 '.
RE3 s est disponvel como um pino da porta quando o bit de configurao MCLRE claro, caso contrrio, o bit l como '0 '.
RC4 RC5 e s esto disponveis como pinos da porta quando o mdulo USB desativado (UCON <3> = 0).
Apenas no modo I2C Slave .
v 2009 Microchip Technology Inc. DS39632E-pgina 69
PIC18F2455/2550/4455/4550
TABELA 5-2:
Nome do arquivo
OSCCON
HLVDCON
WDTCON
RCON
TMR1H
TMR1L
T1CON
TMR2
PR2
T2CON
SSPBUF
SSPADD
SSPSTAT
SSPCON1
SSPCON2
ADRESH
ADRESL
ADCON0
ADCON1
ADCON2
CCPR1H
CCPR1L
CCP1CON
CCPR2H
CCPR2L
CCP2CON
BAUDCON
ECCP1DEL
ECCP1AS
CVRCON
CMCON
TMR3H
TMR3L
T3CON
SPBRGH
SPBRG
RCREG
TXREG
TXSTA
RCSTA
Legenda:
Nota 1:
2:
3:
4:
5:
6:
7:
Registre-se Resumo ARQUIVO (CONTINUAO)
Bit 7
IDLEN
VDIRMAG
-
IPEN
Bit 6
IRCF2
-
-
SBOREN
(2)
Bit 5
IRCF1
IRVST
-
-
Bit 4
IRCF0
HLVDEN
-
RI
Bit 3
USTOS
HLVDL3
-
TO
Bit 2
IOFS
HLVDL2
-
PD
O bit 1
SCS1
HLVDL1
-
POR
Bit 0
SCS0
HLVDL0
SWDTEN
BOR
Valor em
POR, BOR
0100 Q000
0-00 0101
------ 0
0q-1 11q0
xxxx xxxx
xxxx xxxx
Detalhes
na pgina
54, 33
54, 285
54, 304
54, 46
54, 136
54, 136
54, 131
54, 138
54, 138
54, 137
54, 198,
207
54, 207
54, 198,
208
54, 199,
209
54, 210
54, 274
54, 274
54, 265
54, 266
54, 267
55, 144
55, 144
55, 143,
151
55, 144
55, 144
55, 143
55, 246
55, 160
55, 161
55, 281
55, 275
55, 141
55, 141
55, 139
55, 247
55, 247
55, 256
55, 253
55, 244
55, 245
Timer1 Register alta Byte
Timer1 Registrar Low Byte
RD16
Timer2 Registrar
Timer2 Perodo Registrar
- T2OUTPS3 T2OUTPS2 T2OUTPS1 T2OUTPS0 TMR2ON T2CKPS1 T2CKPS0
MSSP buffer de recepo / transmisso Registrar
MSSP Address Register em modo Slave I2C . MSSP Baud Rate Reload Registro no modo Master I 2C .
SMP
WCOL
GCEN
CKE
SSPOV
ACKSTAT
D / D
SSPEN
ACKDT /
ADMSK5(7)
P
CKP
ACKEN /
ADMSK4(7)
S
SSPM3
RCEN /
ADMSK3(7)
R / W
SSPM2
PEN /
ADMSK2(7)
UA
SSPM1
RSEN /
ADMSK1(7)
BF
SSPM0
SEN
T1RUN T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON 0000 0000
0000 0000
1111 1111
-000 0000
xxxx xxxx
0000 0000
0000 0000
0000 0000
0000 0000
xxxx xxxx
xxxx xxxx
Um resultado / D Registre alta Byte
Um resultado / D Registrar Low Byte
-
-
ADFM
-
-
-
CHS3
VCFG1
ACQT2
CHS2
VCFG0
ACQT1
CHS1
PCFG3
ACQT0
CHS0
PCFG2
ADCS2
GO / DONE
PCFG1
ADCS1
ADON
PCFG0
ADCS0
- 00 0000
- 00 0qqq
0-00 0000
xxxx xxxx
xxxx xxxx
Capture / Compare / PWM Register 1 High Byte
Capture / Compare / PWM Register 1 Low Byte
P1M1(3) P1M0(3)
DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 0000 0000
xxxx xxxx
xxxx xxxx
Capture / Compare / PWM Register 2 High Byte
Capture / Compare / PWM Register 2 Low Byte
-
ABDOVF
PRSEN
ECCPASE
CVREN
C2OUT
-
RCIDL
PDC6(3)
ECCPAS2
CVROE
C1OUT
DC2B1
RXDTP
PDC5(3)
ECCPAS1
CVRR
C2INV
DC2B0
TXCKP
PDC4(3)
ECCPAS0
CVRSS
C1INV
CCP2M3
BRG16
PDC3(3)
PSSAC1
CVR3
CIS
CCP2M2
-
PDC2(3)
PSSAC0
CVR2
CM2
CCP2M1
WUE
PDC1(3)
PSSBD1(3)
RCV1
CM1
CCP2M0
ABDEN
PDC0(3)
PSSBD0(3)
CVR0
CM0
- 00 0000
0100 0-00
0000 0000
0000 0000
0000 0000
0000 0111
xxxx xxxx
xxxx xxxx
Timer3 Register alta Byte
Timer3 Registrar Low Byte
RD16 T3CCP2 T3CKPS1 T3CKPS0 T3CCP1 T3SYNC TMR3CS TMR3ON
EUSART Baud Rate Generator Register alta Byte
EUSART Baud Rate Generator Registrar Low Byte
EUSART Receba Registrar
EUSART Transmitir Registrar
CSRC
SPEN
TX9
RX9
TXEN
SREN
SYNC
CREN
SENDB
ADDEN
BRGH
FERR
TRMT
OERR
TX9D
RX9D
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0010
0000 x 000
x= Desconhecido, u= Inalterado, -= No implementado, q= Valor depende do estado. Clulas sombreadas so implementados, ler como '0 '.
Bit 21 da TBLPTRU permite o acesso aos bits de configurao do dispositivo.
O bit SBOREN s est disponvel quando Boren <1:00> = 01; Caso contrrio, o bit l como '0 '.
Estes registros e / ou bits no so implementados em dispositivos de 28 pinos e so lidos como '0 '. Redefinir valores so apresentados para dispositivos 40/44-pin;
pedaos no implementadas individuais devem ser interpretadas como "-".
RA6 est configurado como um pino de porta com base em vrios modos de oscilador primrios. Quando o pino porta est desativada, todos os bits associados ler '0 '.
RE3 s est disponvel como um pino da porta quando o bit de configurao MCLRE claro, caso contrrio, o bit l como '0 '.
RC4 RC5 e s esto disponveis como pinos da porta quando o mdulo USB desativado (UCON <3> = 0).
Apenas no modo I2C Slave .
DS39632E-pgina 70 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 5-2:
Nome do arquivo
EEADR
EEDATA
EECON2
EECON1
IPR2
PIR2
PIE2
IPR1
PIR1
PIE1
OSCTUNE
Trise(3)
TRISD(3)
TRISC
TRISB
TRISA
LATE(3)
LATD(3)
LATC
LATB
LATA
PORTE
PORTD(3)
PORTC
PORTB
PORTA
UEP15
UEP14
UEP13
UEP12
UEP11
UEP10
UEP9
UEP8
UEP7
UEP6
UEP5
UEP4
UEP3
UEP2
UEP1
UEP0
Legenda:
Nota 1:
2:
3:
4:
5:
6:
7:
Registre-se Resumo ARQUIVO (CONTINUAO)
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 O bit 1 Bit 0
Valor em
POR, BOR
0000 0000
0000 0000
0000 0000
WRERR
BCLIP
BCLIF
BCLIE
SSPIP
SSPIF
SSPIE
TUN3
-
TRISD3
-
TRISB3
TRISA3
-
LATD3
-
LATB3
LATA3
RE3
(5)
Detalhes
na pgina
55, 91
55, 91
55, 82
55, 83
56, 109
56, 105
56, 107
56, 108
56, 104
56, 106
56, 28
56, 126
56, 124
56, 121
56, 118
56, 115
56, 126
56, 124
56, 121
56, 118
56, 115
56, 125
56, 124
56, 121
56, 118
56, 115
57, 172
57, 172
57, 172
57, 172
57, 172
57, 172
57, 172
57, 172
57, 172
57, 172
57, 172
57, 172
57, 172
57, 172
57, 172
57, 172
EEPROM Address Register
EEPROM dados cadastrais
EEPROM Controle Register 2 (no um registo fsico)
EEPGD
OSCFIP
OSCFIF
OSCFIE
SPPIP
SPPIF
SPPIE
-
TRISD7
TRISC7
TRISB7
-
-
LATD7
LATC7
LATB7
-
RDPU(3)
RD7
RC7
RB7
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
(3)
(3)
(3)
CFGS
CMIP
CMIF
CMIE
ADIP
ADIF
ADIE
-
-
TRISD6
TRISC6
TRISB6
TRISA6
-
LATD6
LATC6
LATB6
LATA6
-
RD6
RC6
RB6
RA6(4)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
(4)
(4)
-
USBIP
USBIF
USBIE
RCIP
RCIF
RCIE
-
-
TRISD5
-
TRISB5
TRISA5
-
LATD5
-
LATB5
LATA5
-
RD5
RC5(6)
RB5
RA5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
GRTIS
EEIP
EEIF
EEIE
TXIP
TXIF
TXIE
TUN4
-
TRISD4
-
TRISB4
TRISA4
-
LATD4
-
LATB4
LATA4
-
RD4
RC4(6)
RB4
RA4
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
WREN
HLVDIP
HLVDIF
HLVDIE
CCP1IP
CCP1IF
CCP1IE
Tun2
TRISE2
TRISD2
TRISC2
TRISB2
TRISA2
LATE2
LATD2
LATC2
LATB2
LATA2
RE2
(3)
WR
TMR3IP
TMR3IF
TMR3IE
TMR2IP
TMR2IF
TMR2IE
Tun1
TRISE1
TRISD1
TRISC1
TRISB1
TRISA1
LATE1
LATD1
LATC1
LATB1
LATA1
RE1
(3)
RD
CCP2IP
CCP2IF
CCP2IE
TMR1IP
TMR1IF
TMR1IE
Tun0
TRISE0
TRISD0
TRISC0
TRISB0
TRISA0
LATE0
LATD0
LATC0
LATB0
LATA0
RE0
(3)
xx-0 x000
1111 1111
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
0 - 0 0000
----- 111
1111 1111
11 --- 111
1111 1111
-111 1111
----- Xxx
xxxx xxxx
xx - xxx-
xxxx xxxx
-Xxx xxxx
0 --- x000
xxxx xxxx
xxxx-xxx
xxxx xxxx
-X0x 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
--- 0 0000
INTSRC
RD3
-
RB3
RA3
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
EPCONDIS
RD2
RC2
RB2
RA2
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
EPOUTEN
RD1
RC1
RB1
RA1
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
RD0
RC0
RB0
RA0
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
x= Desconhecido, u= Inalterado, -= No implementado, q= Valor depende do estado. Clulas sombreadas so implementados, ler como '0 '.
Bit 21 da TBLPTRU permite o acesso aos bits de configurao do dispositivo.
O bit SBOREN s est disponvel quando Boren <1:00> = 01; Caso contrrio, o bit l como '0 '.
Estes registros e / ou bits no so implementados em dispositivos de 28 pinos e so lidos como '0 '. Redefinir valores so apresentados para dispositivos 40/44-pin;
pedaos no implementadas individuais devem ser interpretadas como "-".
RA6 est configurado como um pino de porta com base em vrios modos de oscilador primrios. Quando o pino porta est desativada, todos os bits associados ler '0 '.
RE3 s est disponvel como um pino da porta quando o bit de configurao MCLRE claro, caso contrrio, o bit l como '0 '.
RC4 RC5 e s esto disponveis como pinos da porta quando o mdulo USB desativado (UCON <3> = 0).
Apenas no modo I2C Slave .
v 2009 Microchip Technology Inc. DS39632E-pgina 71
PIC18F2455/2550/4455/4550
TABELA 5-2:
Nome do arquivo
UCFG
UADDR
UCON
USTAT
UEIE
UEIR
UIE
UIR
UFRMH
UFRML
SPPCON
(3)
Registre-se Resumo ARQUIVO (CONTINUAO)
Bit 7
UTEYE
-
-
-
BTSEE
BTSEF
-
-
-
FRM7
-
RDSPP
CLKCFG1
Dados7
Bit 6
UOEMON
ADDR6
PPBRST
ENDP3
-
-
SOFIE
SOFIF
-
FRM6
-
WRSPP
CLKCFG0
Dados6
Bit 5
-
ADDR5
SE0
ENDP2
-
-
STALLIE
STALLIF
-
FRM5
-
-
CSEN
DATA5
Bit 4
UPUEN
ADDR4
PKTDIS
ENDP1
BTOEE
BTOEF
IDLEIE
IDLEIF
-
FRM4
-
SPPBUSY
CLK1EN
Data4
Bit 3
UTRDIS
Addr3
USBEN
ENDP0
DFN8EE
DFN8EF
TRNIE
TRNIF
-
FRM3
-
Addr3
WS3
DATA3
Bit 2
FSEN
Addr2
RESUMO
DIR
CRC16EE
CRC16EF
ACTVIE
ACTVIF
FRM10
FRM2
-
Addr2
WS2
DATA2
O bit 1
PPB1
Addr1
SUSPND
PPBI
CRC5EE
CRC5EF
UERRIE
UERRIF
FRM9
FRM1
SPPOWN
Addr1
WS1
DATA1
Bit 0
PPB0
ADDR0
-
-
PIDEE
PIDEF
URSTIE
URSTIF
FRM8
FRM0
SPPEN
ADDR0
WS0
DATA0
Valor em
POR, BOR
00-0 0000
-000 0000
0x0-000 -
-Xxx-xxx
0 - 0 0000
0 - 0 0000
-000 0000
-000 0000
----- Xxx
xxxx xxxx
------ 00
00-0 0000
0000 0000
0000 0000
Detalhes
na pgina
57, 168
57, 173
57, 166
57, 171
57, 185
57, 184
57, 183
57, 181
57, 173
57, 173
57, 191
57, 195
57, 192
57, 196
SPPEPS(3)
SPPCFG(3)
SPPDATA(3)
Legenda:
Nota 1:
2:
3:
4:
5:
6:
7:
x= Desconhecido, u= Inalterado, -= No implementado, q= Valor depende do estado. Clulas sombreadas so implementados, ler como '0 '.
Bit 21 da TBLPTRU permite o acesso aos bits de configurao do dispositivo.
O bit SBOREN s est disponvel quando Boren <1:00> = 01; Caso contrrio, o bit l como '0 '.
Estes registros e / ou bits no so implementados em dispositivos de 28 pinos e so lidos como '0 '. Redefinir valores so apresentados para dispositivos 40/44-pin;
pedaos no implementadas individuais devem ser interpretadas como "-".
RA6 est configurado como um pino de porta com base em vrios modos de oscilador primrios. Quando o pino porta est desativada, todos os bits associados ler '0 '.
RE3 s est disponvel como um pino da porta quando o bit de configurao MCLRE claro, caso contrrio, o bit l como '0 '.
RC4 RC5 e s esto disponveis como pinos da porta quando o mdulo USB desativado (UCON <3> = 0).
Apenas no modo I2C Slave .
DS39632E-pgina 72 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
5.3.6 Registrador de status
O registo STATUS, mostrado na Registre 5-2, contm
o status aritmtico da ULA. Tal como acontece com qualquer outro
SFR,
ele pode ser o operando para qualquer instruo.
Se o registo STATUS o destino de um instru-
o que afeta a Z, DC, C, OV ou N bits, os resultados
da instruo no so escritas, em vez disso, o status
cadastro atualizado de acordo com a instruo
realizada. Assim, o resultado de uma instruo com
o registrador STATUS como seu destino pode ser diferente
do que o pretendido. Como um exemplo, CLRF STATUS ir definir
o bit Z e deixar os bits de status restantes
inalterado ('000u u1uu ').
Recomenda-se que somente BCF, BSF, swapf, MOVFF
e MOVWF instrues so usados para alterar o ESTADO
registrar, pois essas instrues no afetam a Z,
C, DC, OV ou N bits no registrador STATUS.
Para outras instrues que no afetam os bits de status, consulte
o conjunto de instrues resumos na Tabela 26-2 e
Tabela 26-3.
Nota: Os bits CC e C operam como o Borrow
e os bits do dgito Borrow, respectivamente, em
subtrao.
CADASTRE-SE 5-2:
U-0
-
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7-5
4 bits
Registrador de status
U-0
-
U-0
-
R / W-x
N
R / W-x
OV
R / W-x
Z
R / W-x
DC(1)
R / W-x
C(2)
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
Unimplemented: Leia como '0 '
N: Bit negativo
Este bit usado para aritmtica assinado (complemento para 2). Ele indica se o resultado foi negativo
(ALU MSB = 1).
1= Resultado foi negativo
0= Resultado foi positivo
OV: Bit de overflow
Este bit usado para aritmtica assinado (complemento para 2). Ele indica um excesso de 7-bits de magnitude
que faz com que o bit de sinal (bit 7 do resultado) para mudar de estado.
1= Estouro ocorreu para a aritmtica assinado (nesta operao aritmtica)
0= No estouro ocorreu
Z: Zero bit
1= O resultado de uma operao aritmtica ou lgica zero
0= O resultado de uma operao lgica aritmtica ou no zero
DC: Digit Carry / Borrow bit(1)
Para ADDWF, ADDLW, SUBLW e SUBWF instrues:
1= A realizar-out do quarto bit de baixa ordem do resultado ocorreu
0= No levar a cabo a partir do quarto bit de baixa ordem do resultado
C: Carry / Borrow bit(2)
Para ADDWF, ADDLW, SUBLW e SUBWF instrues:
1= A levar a cabo a partir do bit mais significativo do resultado ocorreu
0= No levar a cabo a partir do bit mais significativo do resultado ocorreu
Para Borrow, a polaridade invertida. A subtraco executado pela adio de complemento de 2 de segundo
operando. Para girar (RRF, RLF) instrues, este bit colocado com 4 bits ou bit 3 da fonte de registro.
Para Borrow, a polaridade invertida. A subtraco executado pela adio de complemento de 2 de segundo
operando. Para girar (RRF, RLF) instrues, este bit colocado com o bit de alta ou de baixa ordem do
fonte registar.
bit 3
bit 2
bit 1
bit 0
Nota 1:
2:
v 2009 Microchip Technology Inc. DS39632E-pgina 73
PIC18F2455/2550/4455/4550
5.4
Nota:
Dados Modos de Endereamento
A execuo de algumas instrues no
ncleo PIC18 conjunto de instrues so alteradas
quando a instruo de PIC18 alargado
conjunto est habilitado. Ver Seco 5.6 "Dados
Memria e da Instruo estendida
Ajuste " para mais informaes.
Purpose Register File ") ou um local no Acesso
(Seo banco 5.3.3 "Access Bank") como os dados
fonte para a instruo.
O bit de memria RAM de acesso 'a' determina como o endereo
interpretado. Quando 'um' '1 ', o contedo do BSR
(Seo 5.3.2 "Bank Select Register (BSR)") so
utilizado com o endereo para determinar o total de 12 bits
endereo do registo. Quando 'um' '0 ', o endereo
interpretado como sendo um registo no Banco Access.
Dirigindo-se que utiliza a RAM de acesso , por vezes,
tambm conhecido como Modo de endereamento forado Direct.
Alguns, como por exemplo instrues MOVFF, incluir toda
Endereo de 12 bits (origem ou destino), em sua
opcodes. Nestes casos, o BSR completamente ignorada.
O destino dos resultados da operao determinada
pelo bit de destino de 'd'. Quando d de '1 ', os resultados so
armazenado de volta no registro de origem, substituindo a sua ori-
contedo nal. Quando d '0 ', os resultados so armazenados em
o W registar. Instrues sem o argumento 'd'
tem um destino que est implcita na instruo, a sua
destino seja o registrador destino a ser operado
on ou o registo W.
Enquanto a memria de programa pode ser dirigida apenas em
uma maneira - atravs do contador de programa - Informaes
no espao de memria de dados pode ser abordada em vrios
maneiras. Para a maioria das instrues, o modo de
endereamento
corrigidos. Outras instrues podem usar at trs modos,
dependendo de qual operandos so utilizados e se ou
no o conjunto de instrues estendida estiver ativada.
Os modos de endereamento so:




Inerente
Literal
Dirigir
Indireto
Um modo de endereamento adicional, cadastradas Literal
Deslocamento,
est disponvel quando o conjunto de instrues estendida
ativado (XINST Configurao bit = 1). Seu funcionamento
discutido em maior detalhe na Seo 5.6.1 "cadastradas
Dirigindo com Literal Offset ".
5.4.3 Endereamento indireto
5.4.1 Inerente e LITERAL
ENFRENTAR
Muitas instrues de controle PIC18 no precisa de nenhum
argumento em tudo, que quer executar uma operao que
afeta globalmente o dispositivo ou operam implicitamente em
um registo. Este modo conhecido como tratar
Dirigindo-se inerente. Exemplos incluem SLEEP, REAJUSTE
e DAW.
Outras instrues de trabalho de uma maneira semelhante, mas
requerem um
argumento explcito adicional no opcode. Isto
conhecido como Modo de endereamento Literal porque
exigir algum valor literal como um argumento. Exemplos
incluir ADDLW e MOVLW, que, respectivamente, adicionar ou
mover um valor literal para o registo W. Outros exemplos
incluir CHAMADA e GOTO, que incluem um de 20 bits
programa endereo de memria.
Endereamento Indireto permite ao usurio acessar um local
na memria de dados sem dar um endereo fixo na
instrues. Isto feito usando Arquivo, selecione Registros
(FSRs) como ponteiros para os locais a ser lido ou escrito
para. Uma vez que os prprios so FSRs localizado na memria
RAM como
Registros de Funo Especial, elas tambm podem ser diretamente
manipulado sob o controle do programa. Isto faz FSRs
muito til na execuo de estruturas de dados, tais como
tabelas e matrizes na memria de dados.
Os registros de endereamento indireto tambm so
implementado com Operands arquivo indiretos (INDFs) que
permitir a manipulao automtica de o valor do ponteiro com
auto-incremento, auto-decremento ou compensao
com um outro valor. Isto permite que o cdigo eficiente, usando
laadas, tais como o exemplo da remoo de uma memria RAM
inteiro
banco no Exemplo 5-5.
Exemplo 5-5:
5.4.2 Endereamento Direto
PRXIMO
COMO LIMPAR RAM
(BANCO 1) USO
Endereamento indireto
FSR0, 100h;
POSTINC0; Limpar INDF
, Em seguida, registrar
, Inc ponteiro
FSR0H, 1; Tudo feito com
, Bank1?
PRXIMO, NO, desmarque prximo
, Sim, continuar
Modo de endereamento direto especifica todo ou parte do
origem e / ou o endereo de destino da operao
dentro do prprio cdigo de operao. As opes so especificadas
por
os argumentos que acompanham a instruo.
No PIC18 conjunto de instrues core, pouco orientada e
instrues byte-oriented usar alguma verso do direto
Dirigindo-se por padro. Todas estas instrues incluem
algum endereo literal 8-bit como sua Least Significant
Byte. Este endereo especifica um endereo registo em
um dos bancos de dados de RAM (Seo 5.3.4 "General
LFSR
CLRF
BTFSS
BRA
CONTINUAR
DS39632E-pgina 74 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
5.4.3.1 FSR e os Registos
INDF Operando
No ncleo de Endereamento Indireto so trs conjuntos de
registros: FSR0, FSR1 e FSR2. Cada um deles representa um
par de registradores de 8 bits: FSRnH e FSRnL. Os quatro
bits superiores do registo FSRnH no so usados, de modo que
cada
Par FSR tem um valor de 12 bits. Isso representa um valor
que pode resolver a gama completa da memria de dados
de uma forma linear. Os pares de registro FSR, ento, servir
como ponteiros para posies de memria de dados.
Dirigindo indirecta realizada com um conjunto de
Operandos arquivo indiretos, INDF0 atravs INDF2. Estes
pode ser pensado como registos "virtuais", que so
mapeados no espao SFR, mas no so fisicamente imple-
mentadas. Ler ou escrever para um registo especfico INDF
realmente acessa seu correspondente FSR par registo.
Uma leitura a partir INDF1, por exemplo, l os dados no
endereo indicado pelo FSR1H: FSR1L. Instrues que
usar os registros INDF como operandos usar realmente o
contedo da sua FSR correspondente como um ponteiro para o
A meta da instruo. O INDF operando apenas um
de forma conveniente usando o ponteiro.
Porque Endereamento Indireto usa um endereo de 12 bits
completo,
bancrio RAM de dados no necessrio. Assim, a corrente
contedo do BSR e bits de RAM de acesso no tm
efeito sobre a determinao do endereo de destino.
Figura 5-7: Endereamento indireto
000h
ADDWF, INDF1, 1 Banco 0
100h
200h
Banco 1
Banco 2
Usando uma instruo com um dos
registradores de endereamento indireto como o
operando ....
... Usa o endereo de 12 bits armazenada na
FSR o par associado com esse
registrar ....
FSR1H: FSR1L
7 0 7 0
300h
x x x x 1 1 1 0 1 1 0 0 1 1 0 0
Banco 3
atravs
Banco 13
... Para determinar a memria de dados
local para ser utilizado na referida operao.
Neste caso, o par contm FSR1
ECCH. Isto significa que o contedo de
localizao ECCH ser adicionado
do registo W e armazenados de volta no
ECCH.
E00h
Banco 14
F00h
FFFh
Banco 15
Memria de Dados
v 2009 Microchip Technology Inc. DS39632E-pgina 75
PIC18F2455/2550/4455/4550
5.4.3.2 Registros FSR e POSTINC,
POSTDEC, PREINC e PLUSW
5.4.3.3 Operaes por FSRs sobre FSRs
Alm do FDNI operando, cada par FSR registar
tambm tem quatro operandos indiretos adicionais. Como INDF,
so os registos "virtuais" que no podem ser indiretamente
lido ou escrito. Acessando estes registra realmente
acessa o associado FSR par de registradores, mas tambm
executa uma ao especfica em que o valor armazenado. Eles so:
POSTDEC: acessa o valor FSR, em seguida,
o diminui automaticamente por '1 'depois
POSTINC: acessa o valor FSR, em seguida,
incrementa automaticamente por '1 'depois
PREINC: incrementa o valor FSR por '1 'e, em seguida
utiliza na operao
PLUSW: adiciona o valor assinado no registo W
(Gama de -127 a 128) para a do FSR e utiliza
o novo valor na operao.
Neste contexto, o acesso a um registo INDF usa o
valor no FSR registra sem alter-los. Sim-
ilarly, o acesso a um registo PLUSW d o valor FSR
compensada por que no registo W, nem valor , na verdade
mudado na operao. Acessando o outro virtuais
registra altera o valor do registro FSR.
Operaes nos FSRs com POSTDEC, POSTINC
e PREINC afetar toda a par de registro, ou seja,
rollovers do registo FSRnL, de FFh para 00h, realizar
para o registo FSRnH. Por outro lado, os resultados
destas operaes no alteram o valor de qualquer
flags do registrador de status (por exemplo, Z, N, OV, etc.)
O registo PLUSW podem ser usadas para implementar uma forma
de endereamento indexado no espao de memria de dados. Por
manipular o valor do registo W, os usurios podem
chegar a endereos que so deslocamentos fixos de ponteiro
endereos. Em algumas aplicaes, este pode ser utilizado para
implementar uma estrutura de controle do programa poderoso,
tais como pilhas de software, para dentro da memria de dados.
Operaes de endereamento indireto que visam outros FSRs
ou registros virtuais representam casos especiais. Por exem-
plo, usando uma FSR para apontar para um dos registos virtuais
no vai resultar em operaes bem sucedidas. Como especfica
caso, assuma que FSR0H: FSR0L contm FE7h, o
endereo de INDF1. Tenta ler o valor de INDF1,
usando INDF0 como um operando, voltar 00h. Tentativas
para escrever a INDF1, usando INDF0 como o operando, vai
resultar numa NOP.
Por outro lado, utilizando o teclado virtual para gravar registos
um par FSR pode no ocorrer como o planejado. Nestes casos,
o valor ser escrito ao par FSR, mas sem qualquer
incremento ou decremento. Assim, escrevendo para INDF2
ou POSTDEC2 vai escrever o mesmo valor para o
FSR2H: FSR2L.
Uma vez que os FSRs so registros fsicos mapeados no
Espao SFR, eles podem ser manipulados por toda direto
operaes. Os usurios devem proceder com cautela quando
trabalhando nesses registros, especialmente se o seu cdigo
usa endereamento indireto.
Da mesma forma, as operaes de endereamento indireto so
gera-
aliado permitidas em todas as outras SFRs. Os usurios devem
exercer
o cuidado apropriado que eles no inadvertidamente
alterar as configuraes que podem afetar o funcionamento do
dispositivo.
DS39632E-pgina 76 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
5.5 Memria do programa eo
Alargado conjunto de instrues
Quando se utiliza o conjunto de instrues prolongado, esta
modo de endereamento exige o seguinte:
O uso do Banco de Acesso forado ('a' = 0);
e
O argumento de endereo do arquivo menor ou igual
para 5Fh.
Sob essas condies, o endereo do arquivo do instru-
o no interpretado como o menor byte de um endereo
(Usado com a BSR em endereamento direto), ou como um 8-bit
abordar no Banco Access. Em vez disso, o valor
interpretado como um valor de deslocamento de um ponteiro
Endereo
especificada pelo FSR2. O deslocamento e o contedo de
FSR2 so adicionados para obter o endereo do destino
operao.
A operao da memria de programa no afetada pela
a utilizao do conjunto de instrues estendida.
Ativando o conjunto de instrues estendida acrescenta oito
adicionais comandos de duas palavras aos actuais
Instruo PIC18 definido: ADDFSR, ADDULNK, CALLW,
MOVSF, MOVSS, pushl, SUBFSR e SUBULNK. Estes
instrues so executadas como descrito em
Seo 5.2.4 "Instrues de duas palavras".
5.6 Memria de dados e estendida
Conjunto de instrues
Ativando o PIC18 conjunto de instrues estendida (XINST
Bit Configuration = 1) altera significativamente certo
aspectos da memria de dados e seu endereamento.
Especificamente, o uso de Acesso ao Banco de muitos dos
PIC18 instrues do ncleo diferente. Isto devido ao
introduo de um novo modo de endereamento para os dados
espao de memria. Este modo tambm altera o comportamento
Endereamento Indireto usando FSR2 e seus associados
operandos.
O que no muda to importante. O tamanho de
o espao de memria de dados mantm-se inalterada, bem como a
sua
endereamento linear. O mapa SFR permanece o mesmo.
Ncleo instrues PIC18 ainda pode operar tanto em direto
eo modo de endereamento indireto, inerente e literal
instrues no muda em nada. Endereamento Indireto
com FSR0 e FSR1 tambm permanece inalterado.
5.6.2 INSTRUES DE AFETADOS PELAS
LITERAL modo offset INDEXADA
Qualquer uma das instrues centrais PIC18 que podem usar direto
Dirigindo so potencialmente afetados pelo Indexado
Literal offset Modo de endereamento. Isto inclui todo
instrues orientados a byte e bit-oriented, ou quase
metade do conjunto de instrues padro PIC18. Instru-
es que s usam inerente ou Literal Dirigindo
modos no so afetados.
Instrues Alm disso, byte-oriented e bit-oriented
no so afetados se no usar o Banco de Acesso
(Bit RAM acesso '1 ') ou incluir um endereo de 60h arquivo
ou superior. Instrues que satisfazem estes critrios sero
continuar a executar, como antes. Uma comparao entre o
diferentes possveis modos de endereamento quando o
conjunto de instrues estendida estiver ativada em mostra
Figura 5-8.
Aqueles que desejam usar byte-oriented ou bit-oriented
instrues do modo de deslocamento Literal indexado deve
observar as alteraes de sintaxe assembler para este modo.
Isto descrito em mais pormenor na Seo 26.2.1
"Sintaxe da Instruo estendida".
5.6.1 Endereamento indexado COM
LITERAL OFFSET
Habilitando os PIC18 estendidas conjunto de instrues mudanas
o comportamento de endereamento indireto usando o FSR2
registar par e seus operandos de arquivos associados. Sob o
condies adequadas, as instrues que usam o Acesso
Banco - ou seja, pouco mais orientada e byte-oriented
instrues - pode invocar uma forma de endereamento indexado
usando um deslocamento especificado na instruo. Este especial
modo de endereamento conhecido como endereamento
indexado com
Literal modo de deslocamento Literal offset ou cadastradas.
v 2009 Microchip Technology Inc. DS39632E-pgina 77
PIC18F2455/2550/4455/4550
Figura 5-8: COMPARANDO ABORDAGEM opes para BIT-orientado e
INSTRUES byte-oriented (Extended Instruction Set ativado)
EXEMPLO DE INSTRUO: ADDWF, f, d, numa (Opcode: 0010 01DA ffff ffff)
Quando a = 0ef c 60h:
A instruo executada em
Modo forado Direct. 'F' inter-
interpretado como um local no
Acessar RAM entre 060h
e 0FFh. Esta a mesma
os SFRs ou locais F60h para
0FFh (Banco 15) de dados
memria.
60h locais abaixo no so
disponvel neste endereamento
modo.
000h
060h
080h
100h
00h
Banco 1
atravs
Banco 14
60h
Intervalo vlido
para 'f'
Acesso RAM
FFh
Banco 0
F00h
Banco 15
F60h
SFRs
FFFh
Memria de Dados
Quando a = 0ef o 5Fh:
A instruo executada em
Indexados modo de deslocamento Literal.
'F'
interpretado como um deslocamento para
o
valor do endereo em FSR2. O
duas so adicionadas em conjunto para
obter o endereo do destino
registrar-se para a instruo. O
o endereo pode ser em qualquer lugar
o espao de memria de dados.
Note que neste modo, o
sintaxe correta agora:
ADDWF [k], d
onde 'k' o mesmo que 'f'.
000h
Banco 0
080h
100h
Banco 1
atravs
Banco 14
FSR2H
F00h
F60h
Banco 15
SFRs
FFFh
Memria de Dados
FSR2L
001001da ffffffff
Quando a = 1(Todos os valores de f):
A instruo executada em
Modo directa (tambm conhecido como
Dirigir modo Long). 'F' inter-
interpretado como um local em um dos
Dos 16 bancos de dados
espao de memria. O banco
designado pelo Bank Select
Register (BSR). O endereo
pode ser implementado em qualquer
banco de dados na memria
espao.
000h
Banco 0
080h
100h
Banco 1
atravs
Banco 14
BSR
00000000
001001da ffffffff
F00h
F60h
Banco 15
SFRs
FFFh
Memria de Dados
DS39632E-pgina 78 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
5.6.3 MAPEAMENTO DO BANCO ACESSO POR
LITERAL modo offset INDEXADA
O uso do Modo de endereamento offset Literal cadastradas
efectivamente altera a forma como a poro inferior de Acesso
RAM (00h de 5Fh) mapeado. Ao invs de conter
apenas o contedo da metade inferior do banco 0, este modo
mapeia o contedo do Banco 0 e definido pelo usurio
"Janela" que pode ser localizado em qualquer lugar nos dados
espao de memria. O valor de FSR2 estabelece o
limite inferior dos endereos mapeado no
janela, enquanto o limite superior definida por FSR2
alm de 95 (5Fh). Os endereos da RAM de acesso acima
5Fh so mapeados como descrito anteriormente (ver
Seo 5.3.3 "Access Bank"). Um exemplo de Acesso
Banco remapeamento neste modo de endereamento mostrado na
Figura 5-9.
Remapeamento do Banco Access aplica apenas para opera-
es utilizando o modo de deslocamento Literal indexados.
Operaes
que o uso da BSR (bit RAM acesso '1 ') continuar
usar Endereamento Direto como antes. Qualquer indireta ou
operao indexada que usa explicitamente qualquer um dos indireta
operandos de arquivo (incluindo FSR2) vai continuar a operar
como padro de endereamento indireto. Qualquer instruo que
usa o Banco Access, mas inclui um endereo de registro
superior a 05Fh, vai usar endereamento direto e
o mapa Banco de acesso normal.
5.6.4 BSR IN LITERAL INDEXADA
MODO DE COMPENSAO
Embora o Banco de Acesso remapeada quando o
conjunto de instrues estendida estiver ativada, o funcionamento
do
BSR permanece inalterado. Endereamento direto, usando o
BSR para selecionar o banco de memria de dados, atua na
mesma maneira que se descreveu anteriormente.
Figura 5-9:
Exemplo Situao:
Remapeamento BANCO ACESSO COM INDEXADA LITERAL
DESVIO ENFRENTAR
000h
Banco 0
100h
120h
17Fh
200h
ADDWF f, d, numa
FSR2H: FSR2L = 120h
Locais na regio
desde o Pointer FSR2
(120h) para o ponteiro mais
05Fh (17Fh) so mapeados
para a parte inferior do
Acesso RAM (000h-05Fh).
Funo Especial Registra
em F60h atravs FFFh so
mapeado para 60h atravs
FFh como de costume.
Banco 0 endereos abaixo
5Fh no esto disponveis
este modo. Eles ainda podem
ser tratado usando o
BSR.
Janela
Banco 1
Banco 1 "Janela"
00h
5Fh
60h
Banco 2
atravs
Banco 14
SFRs
FFh
Access Bank
F00h
F60h
FFFh
Banco 15
SFRs
Memria de Dados
v 2009 Microchip Technology Inc. DS39632E-pgina 79
PIC18F2455/2550/4455/4550
NOTAS:
DS39632E-pgina 80 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
6 PROGRAMA DE MEMRIA FLASH 6.1 Tabela L e Escreve Tabela
A memria de programa Flash legvel, gravvel e
apagvel, durante o funcionamento normal durante todo o VDD
range.
Uma leitura da memria do programa executada sobre um byte
de cada vez. A gravao para a memria de programa executada
em
blocos de 32 bytes de cada vez. A memria de programa
apagada em blocos de 64 bytes de cada vez. A Erase massa
operao no pode ser emitido a partir do cdigo de usurio.
Escrever ou apagar a memria de programa deixar
instruo de busca at que a operao for concluda. O
memria de programa no pode ser acessado durante a gravao
ou apagar, portanto, o cdigo no pode executar. Um interno
temporizador de programao encerra memria de programa
escreve
e apaga.
Um valor de escrita para a memria de programa no necessita de
ser
uma instruo vlida. Executando uma memria de programa
local que constitui uma instruo resultados invlidos em um
NOP.
Para ler e escrever a memria do programa, h
duas operaes que permitem ao processador para mover bytes
entre o espao de memria de programa e de dados da memria
RAM:
Table Read (TBLRD)
Tabela de Write (TBLWT)
O espao de memria de programa de 16 bits de largura,
enquanto a
espao RAM de dados de 8 bits de largura. Tabela l e mesa
escreve mover dados entre estes dois espaos de memria
por meio de um registo de 8 bits (Tablat).
Operaes de leitura de mesa recuperar dados do programa
memria e coloc-lo no espao de memria RAM de dados.
A Figura 6-1 mostra o funcionamento de uma mesa de leitura com
memria de programa e memria RAM de dados.
Tabela operaes de gravao armazenam dados da memria de
dados
espao em segurando registros na memria de programa. O
procedimento para gravar o contedo dos registradores explorao
na memria do programa est detalhado na Seo 6.5 "Writing
para a memria flash Program ". Figura 6-2 mostra a
funcionamento de uma mesa de escrever com memria de
programa e de dados
RAM.
Operaes mesa de trabalho com entidades de bytes. Um bloco de
tabela
que contm os dados, em vez de instrues de programa, no
obrigados a ser palavra-alinhados. Portanto, um bloco de tabela
pode
comear e terminar em qualquer endereo de byte. Se uma tabela
de gravao est a ser
usado para escrever cdigo executvel na memria do programa,
instrues do programa ter de ser palavra-alinhados.
FIGURA 6-1: TABELA operao de leitura
Instruo: TBLRD *
Tabela de Ponteiro(1)
TBLPTRU TBLPTRH TBLPTRL
Memria de Programa
Trinco de mesa (8 bits)
Tablat
Memria de Programa
(TBLPTR)
Nota 1: Tabela do ponteiro de registro aponta para um byte na memria de
programa.
v 2009 Microchip Technology Inc. DS39632E-pgina 81
PIC18F2455/2550/4455/4550
FIGURA 6-2: A operao de escrita TABLE
Instruo: TBLWT *
Memria de Programa
Registos das exploraes
Tabela de Ponteiro(1)
TBLPTRU TBLPTRH TBLPTRL
Trinco de mesa (8 bits)
Tablat
Memria de Programa
(TBLPTR)
Nota 1: Tabela de Ponteiro realmente aponta para uma explorao de 32 registos, cujo endereo determinada pela
TBLPTRL <4:00>. O processo para gravar fisicamente os dados para a matriz de memria de programa discutido em
Seo 6.5 "Escrevendo para a memria flash Program".
6.2 Controle de Registros
Vrios registos de controlo so utilizados, em conjunto com
o TBLRD e TBLWT instrues. Estes incluem:




EECON1 registo
EECON2 registo
Tablat registo
TBLPTR registra
O bit FREE, quando definido, permitir uma memria de programa
operao de apagar. Quando GRTIS estiver definido, o erase
operao seja iniciada no prximo comando WR. Quando
LIVRE claro, s escreve esto habilitados.
O bit WREN, quando definido, permitir a operao de gravao.
Ao ligar, o bit WREN clara. O bit WRERR
definido em hardware quando o bit WREN est definido e limpo
quando o temporizador de programao interna expira eo
operao de gravao est completa.
Nota: Durante a operao normal, o WRERR
lido como '1 '. Isto pode indicar que uma gravao
operao foi encerrado prematuramente por
um reset ou uma operao de gravao foi
tentou indevidamente.
6.2.1 EECON1 E EECON2 REGISTOS
O registo EECON1 (Register 6-1) o controle
se inscrever para acessos memria. O registo EECON2
no registrar um fsico, que utilizado exclusivamente na
Escreve na memria e seqncias apagar. Leitura
EECON2 ir ler todas '0 's.
O bit de controle EEPGD determina se o acesso ser
um programa ou dados de acesso memria EEPROM. Quando
claro, as operaes posteriores ir operar no
memria EEPROM dados. Quando definido, qualquer posterior
operaes operar na memria do programa.
O bit de controle CFGS determina se o acesso ser
para a configurao / calibrao registros ou programa
memria / memria EEPROM de dados. Quando definido,
operaes subseqentes funcionaro em Configurao
registra independentemente de EEPGD (ver Seo 25,0
"Recursos Especiais da CPU"). Quando claro, a memria
acesso seleco determinada por EEPGD.
O bit de controle WR inicia operaes de gravao. O bit
no pode ser apagada, apenas definir, em software, que eliminado
em
hardware na concluso da operao de gravao.
Nota: A EEIF interrupo bit de flag (PIR2 <4>) definido
quando a gravao completa. Deve ser
apuradas em software.
DS39632E-pgina 82 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
CADASTRE-SE 6-1:
R / W-x
EEPGD
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
S = bit ajustvel
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
EECON1: DADOS EEPROM controle Register 1
R / W-x
CFGS
U-0
-
R/W-0
GRTIS
R / W-x
WRERR
(1)
R/W-0
WREN
R/S-0
WR
R/S-0
RD
bit 0
EEPGD: Programa Flash ou os dados da memria EEPROM Selecione bit
1= Acesso a memria de programa flash
0= Acesso a dados da memria EEPROM
CFGS: Flash Programa / Dados EEPROM ou Configurao Selecione bit
1= Registros de configurao de acesso
0= Acesso programa Flash ou EEPROM memria de dados
Unimplemented: Leia como '0 '
FREE: Row Erase Flash Habilitar bit
1= Apague a linha memria de programa dirigido por TBLPTR no prximo comando WR (desmarcada por
concluso da operao de apagamento)
0= Executar somente gravao
WRERR: Flash Programa / Dados EEPROM erro Flag bit(1)
1= A operao de gravao for encerrado prematuramente (qualquer reset durante a programao de auto-
cronometrado em condies normais
operao ou uma tentativa de gravao imprpria)
0= A operao de escrita concluda
WREN: Flash Programa / Dados EEPROM Escrever Habilitar bit
1= Permite escrever ciclos de programa Flash / EEPROM de dados
0= Inibe ciclos de escrita para o programa Flash / EEPROM de dados
WR: Escrever pouco controle
1= Inicia uma EEPROM apagar dados / gravao ciclo ou um ciclo de apagar a memria de programa ou
escrever ciclo
(A operao auto-cronometrado eo bit desmarcada por hardware uma vez gravao est completa.
O bit WR s pode ser definido (no limpa) em software.)
0= Ciclos de gravao na EEPROM est completa
RD: Leia bit Controle
1= Inicia uma EEPROM de leitura (Read leva um ciclo. RD cancelado em hardware. The bit RD s pode
ser definido (no limpa) em software. RD bit no pode ser definido quando EEPGD = 1ou CFGS = 1.)
0= No iniciar uma EEPROM de leitura
Quando um WRERR ocorre, os bits EEPGD e CFGS no so apagadas. Isso permite rastreamento do erro
condio.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
v 2009 Microchip Technology Inc. DS39632E-pgina 83
PIC18F2455/2550/4455/4550
6.2.2 TABELA TRAVA registo (Tablat) 6.2.4 TABELA DE LIMITES PONTEIRO
A trava de mesa (Tablat) um 8-bit registar mapeados
no espao SFR. O registo Trava Table usada para
armazenar dados de 8 bits durante a transferncia de dados entre o
programa
e memria RAM de dados.
TBLPTR usado em l, escreve e apaga da
Memria de programa Flash.
Quando um TBLRD executado, todos os 22 bits da TBLPTR
determinar quais byte lido da memria do programa
em Tablat.
Quando um TBLWT executada, os cinco bits menos significativos
da Tabela
Ponteiro de registro (TBLPTR <04:00>) determinar qual dos
o programa de memria registros explorao 32 est escrito.
Quando o cronometrado escrever a memria de programa comea
(via
o bit RM), os 16 MSBs do TBLPTR
(TBLPTR <21:06>) determinar que a memria de programa
bloco de 32 bytes escrito. Para mais detalhes, consulte
Seo 6.5 "Escrevendo para a memria flash Program".
Quando um apagamento da memria de programa executado, o
16 MSBS da Tvola Pointer registo (TBLPTR <21:06>)
ponto para o bloco de 64 bytes que sero apagados. The Least
Bits significativos (TBLPTR <05:00>) so ignoradas.
Figura 6-3 descreve os limites relevantes do
TBLPTR com base em operaes de memria flash programa.
6.2.3 TABELA POINTER REGISTRO
(TBLPTR)
O ponteiro da tabela (TBLPTR) registo aborda um byte
no interior da memria do programa. O TBLPTR composta
de trs registos SFR: Table Pointer Byte Superior, Tabela
Pointer alta Byte e Tabela Pointer Low Byte
(TBLPTRU: TBLPTRH: TBLPTRL). Estes trs regis-
tros se juntar para formar um apontador de 22 bits de largura. A
baixa ordem
21 bits permitem que o dispositivo para tratar at 2 Mbytes de
espao de memria do programa. O bit 22 permite o acesso aos
o ID do dispositivo, ID do usurio e os bits de configurao.
A Tabela de Ponteiro, TBLPTR, usado pela TBLRD e
TBLWT instrues. Essas instrues podem atualizar o
TBLPTR em um dos quatro modos com base na tabela-pera
o. Estas operaes esto indicados no Quadro 6-1. Estes
operaes no TBLPTR s afetam a baixa ordem
21 bits.
Tabela 6-1:
Exemplo
TBLRD *
TBLWT *
TBLRD * +
TBLWT * +
TBLRD * -
TBLWT * -
TBLRD + *
TBLWT + *
TABELA DE OPERAES ponteiro com TBLRD E TBLWT INSTRUES
Operao em Tabela de Ponteiro
TBLPTR no modificado
TBLPTR incrementado aps a leitura / gravao
TBLPTR diminuda aps a leitura / gravao
TBLPTR incrementado antes da leitura / escrita
Figura 6-3:
21
TABELA DE LIMITES PONTEIRO BASEADOS EM OPERAO
TBLPTRU
16 15 TBLPTRH 8 7 TBLPTRL 0
ERASE TABLE
TBLPTR <21:06>
TABLE WRITE - TBLPTR <21:05>
TABLE READ - TBLPTR <21:00>
DS39632E-pgina 84 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
6.3 Lendo o Program Flash
Memria
Pontos TBLPTR para um endereo de byte no espao do programa.
Executando TBLRD coloca o byte apontado em
Tablat. Alm disso, pode ser modificado TBLPTR
automaticamente para a prxima tabela de operao de leitura.
A memria interna do programa normalmente organizado pela
palavras. O bit menos significativo do endereo seleciona
entre os bytes alto e baixo da palavra. Figura 6-4
mostra a interface entre o programa interno
memria ea Tablat.
O TBLRD instruo usado para recuperar dados a partir de
memria de programa e coloca-lo em dados RAM. Mesa
l da memria do programa so realizadas de um byte
uma vez.
FIGURA 6-4: L de FLASH PROGRAM MEMORY
Memria de Programa
(Mesmo Byte Address) (Odd Byte Address)
TBLPTR = Xxxxx1 TBLPTR = Xxxxx0
Instruction Register
(IV)
BUSQUE TBLRD
Tablat
Leia Registrar
Exemplo 6-1:
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
READ_WORD
LENDO UM PROGRAMA DE MEMRIA FLASH WORD
CODE_ADDR_UPPER
TBLPTRU
CODE_ADDR_HIGH
TBLPTRH
CODE_ADDR_LOW
TBLPTRL
, TBLPTR carga com a base
, Endereo da palavra
TBLRD * +
MOVF
MOVWF
TBLRD * +
MOVF
MOVF
Tablat, W
WORD_EVEN
Tablat, W
WORD_ODD
, Ler em Tablat e incremento
, Obter dados
, Ler em Tablat e incremento
, Obter dados
v 2009 Microchip Technology Inc. DS39632E-pgina 85
PIC18F2455/2550/4455/4550
6.4 Apagar a memria Program Flash
6.4.1
O bloco mnimo de apagamento de 32 palavras ou 64 bytes.
Apenas
atravs da utilizao de um programador externo, ou atravs
Controle ICSP, pode grandes blocos de memria de programa ser
Volume apagado. Erase palavra na matriz Flash no
suportada.
Ao iniciar uma seqncia de apagar do micro-
prprio controlador, um bloco de 64 bytes de memria de programa
apagada. Os 16 bits mais significativos do
TBLPTR <21:06> ponto para o bloco a ser apagado.
TBLPTR <05:00> so ignoradas.
O registo EECON1 comanda a operao de apagamento.
O bit EEPGD deve ser definido para apontar para o flash
memria de programa. O bit WREN deve ser ajustado para permitir
operaes de gravao. O bit definido GRTIS para selecionar um
erase
operao.
Para proteo, os write iniciar seqncia para EECON2
devem ser utilizadas.
Uma longa gravao necessrio para apagar a flash interna.
Execuo da instruo interrompida durante uma longa gravao
ciclo. O tempo de gravao ser encerrada pelo interno
programao timer.
PROGRAMA DE MEMRIA FLASH
SEQNCIA ERASE
A seqncia de eventos para apagar um bloco de interno
memria do programa :
1.
2.
Carregar registo Pointer Tabela com o endereo de linha
sendo apagados.
Defina o registo EECON1 para a operao de apagamento:
definir bit EEPGD para apontar para a memria de programa;
limpar o bit CFGS para acessar a memria do programa;
definir WREN pouco para permitir que escreve;
definir bit GRTIS para permitir o apagamento.
Desabilitar interrupes.
Escrever 55h para EECON2.
Escrever 0AAh para EECON2.
Definir o bit WR. Isto ir iniciar o Erase Row
ciclo.
A CPU vai parar para durao do erase
(Cerca de 2 ms com temporizador interno).
Reative interrupes.
3.
4.
5.
6.
7.
8.
EXEMPLO 6-2: APAGAR A MEMRIA FLASH PROGRAMA ROW
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
CODE_ADDR_UPPER
TBLPTRU
CODE_ADDR_HIGH
TBLPTRH
CODE_ADDR_LOW
TBLPTRL
EECON1,
EECON1,
EECON1,
EECON1,
INTCON,
55h
EECON2
0AAh
EECON2
EECON1,
INTCON,
EEPGD
CFGS
WREN
GRTIS
GIE
, TBLPTR carga com a base
, Endereo do bloco de memria
ERASE_ROW
BSF
BCF
BSF
BSF
BCF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
BSF
;
;
;
;
;
ponto a memria de programa flash
acessar a memria de programa flash
permitir gravar na memria
permitir Row operao Erase
desativar as interrupes
Necessrio
Seqncia
, Escrever 55h
, Escrever 0AAh
, Erase start (tenda CPU)
, Re-habilitar as interrupes
WR
GIE
DS39632E-pgina 86 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
6.5 Escrevendo a memria Program Flash
O bloco mnimo de programao de 16 palavras ou
32 bytes. Palavra ou programao byte no suportado.
Tabela escreve so usados internamente para carregar a realizao
registros necessrios para programar a memria Flash. L
so 32 registros de explorao utilizada pela tabela escreve para
programao.
Uma vez que o trinco de mesa (Tablat) apenas um nico byte, o
TBLWT instruo pode precisar de ser executado 32 vezes para
cada operao de programao. Todos da mesa escrever fun-
es ser essencialmente de curto escreve porque s o
registos de reteno so escritas. No final da actualizao da
32 registros de explorao, o cadastro deve ser EECON1
escrita, a fim de iniciar a operao de programao
com um tempo de gravao.
O tempo de gravao necessrio para a programao da
flash interna. Execuo da instruo interrompida, enquanto em
um
longo ciclo de escrever. O tempo de gravao ser encerrada por
o temporizador de programao interna.
A EEPROM on-chip temporizador controla o tempo de gravao.
Os write / erase tenses so geradas por um on-chip
bomba de carga, avaliado para operar na faixa de tenso
do dispositivo.
Nota: O valor padro dos registros de explorao em
dispositivo Redefine e aps as operaes de gravao

FFh. A gravao de FFh para um registo da
explorao
no modificar esse byte. Isto significa que
bytes individuais de memria de programa pode ser
modificados, desde que a alterao no faz
tentar modificar um pouco a partir de um '0 'para '1'.
Ao modificar bytes individuais, no
necessrio carregar todos os registos explorao 32
antes de executar uma operao de gravao.
Figura 6-5: TABELA grava na memria flash PROGRAMA
Tablat
Escrever Registrar
8
TBLPTR = xxxx00 TBLPTR = xxxx01
8
TBLPTR = xxxx02
8
TBLPTR = xxxx1F
8
Holding Register Holding Register Holding Register Holding Register
Memria de Programa
6.5.1 PROGRAMA DE MEMRIA FLASH ESCREVER
SEQNCIA
A seqncia de eventos para a programao de um interno
localizao de memria de programa deve ser:
1.
2.
3.
4.
5.
6.
7.
Leia 64 bytes na memria RAM.
Atualizar os valores dos dados na memria RAM, se
necessrio.
Carregar registo Pointer Tabela com endereo a ser
apagados.
Execute o procedimento Erase Row.
Carregar registo Pointer Mesa com o endereo da primeira
byte a ser escrito.
Escrever 32 bytes para os registos guardados com
auto-incremento.
Defina o registo EECON1 para a operao de gravao:
definir bit EEPGD para apontar para a memria de programa;
limpar o bit CFGS para acessar a memria do programa;
definir WREN para permitir byte escreve.
Desabilitar interrupes.
Escrever 55h para EECON2.
Escrever 0AAh para EECON2.
Definir o bit WR. Isto ir iniciar o ciclo de gravao.
A CPU vai parar por tempo de gravao (cerca de
2 ms com temporizador interno).
13. Reative interrupes.
14. Repita os passos de 6 a 14 mais uma vez para escrever
64 bytes.
15. Verifique se a memria (tabela de leitura).
Este procedimento vai exigir cerca de 8 ms para atualizar um
linha de 64 bytes de memria. Um exemplo da necessria
cdigo dado no Exemplo 6-3.
Nota: Antes de definir o bit WR, a Mesa
Endereo de ponteiro tem de ser dentro do
intervalo de endereos de destino dos 32 bytes em
o registo da explorao.
8.
9.
10.
11.
12.
v 2009 Microchip Technology Inc. DS39632E-pgina 87
PIC18F2455/2550/4455/4550
Exemplo 6-3: ESCREVER PARA PROGRAMA DE MEMRIA FLASH
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
READ_BLOCK
TBLRD * +
MOVF
MOVWF
DECFSZ
BRA
MODIFY_WORD
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
ERASE_BLOCK
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
BCF
BSF
BSF
BCF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
BSF
TBLRD * -
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
CODE_ADDR_UPPER
TBLPTRU
CODE_ADDR_HIGH
TBLPTRH
CODE_ADDR_LOW
TBLPTRL
EECON1, EEPGD
EECON1, CFGS
EECON1, carria
EECON1, FREE
INTCON, GIE
55h
EECON2
0AAh
EECON2
EECON1, WR
INTCON, GIE
BUFFER_ADDR_HIGH
FSR0H
BUFFER_ADDR_LOW
FSR0L
D'2 '
Counter1
D'32 '
CONTADOR
POSTINC0, W
Tablat
, TBLPTR carga com a base
, Endereo do bloco de memria
DATA_ADDR_HIGH
FSR0H
DATA_ADDR_LOW
FSR0L
NEW_DATA_LOW
POSTINC0
NEW_DATA_HIGH
INDF0
, Ponto para o buffer
Tablat, W
POSTINC0
CONTADOR
READ_BLOCK
;
;
;
;
;
ler em Tablat, e inc
obter dados
armazenam dados
feito?
repetir
D'64 '
CONTADOR
BUFFER_ADDR_HIGH
FSR0H
BUFFER_ADDR_LOW
FSR0L
CODE_ADDR_UPPER
TBLPTRU
CODE_ADDR_HIGH
TBLPTRH
CODE_ADDR_LOW
TBLPTRL
, O nmero de bytes no bloco erase
, Ponto para o buffer
, TBLPTR carga com a base
, Endereo do bloco de memria
, Update palavra tampo
;
;
;
;
;
ponto a memria de programa flash
acessar a memria de programa flash
permitir gravar na memria
permitir Row operao Erase
desativar as interrupes
Necessrio
Seqncia
, Escrever 55h
;
;
;
;
;
escrever 0AAh
comear a apagar (CPU tenda)
re-habilitar as interrupes
manequim decremento ler
apontar para o buffer
WRITE_BUFFER_BACK
MOVLW
MOVWF
WRITE_BYTE_TO_HREGS
MOVF
MOVWF
TBLWT + *
DECFSZ
BRA
, O nmero de bytes no registo da explorao
CONTADOR
WRITE_WORD_TO_HREGS
;
;
;
;
;
obter baixo byte de dados do buffer
apresentar dados para trancar mesa
gravar dados, realizar uma curta gravao
a interna TBLWT registo da explorao.
loop at buffers esto cheios
DS39632E-pgina 88 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
Exemplo 6-3:
PROGRAM_MEMORY
BSF
BCF
BSF
BCF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
DECFSZ
BRA
BSF
BCF
EECON1, EEPGD
EECON1, CFGS
EECON1, carria
INTCON, GIE
55h
EECON2
0AAh
EECON2
EECON1, WR
Counter1
WRITE_BUFFER_BACK
INTCON, GIE
EECON1, carria
;
;
;
;
ponto a memria de programa flash
acessar a memria de programa flash
permitir gravar na memria
desativar as interrupes
GRAVAR EM MEMRIA FLASH PROGRAM (continuao)
Necessrio
Seqncia
, Escrever 55h
, Escrever 0AAh
, Programa de arranque (tenda CPU)
, Re-habilitar as interrupes
, Desativar gravar na memria
6.5.2 ESCREVER VERIFICAR 6.5.4
Dependendo da aplicao, uma boa programao
prtica pode ditar que o valor escrito no
memria deve ser verificada com o valor inicial.
Isto deve ser utilizado em aplicaes onde a excessiva
escreve posso forar pedaos perto do limite de especificao.
PROTEO CONTRA esprias
ESCREVE
Para se proteger contra espria escreve para o Flash programa
memria, a gravao iniciar seqncia tambm deve ser
seguido. Ver Seo 25,0 "Recursos Especiais da
CPU " para mais detalhes.
6.5.3 Terminao inesperada
A operao de escrita
6.6
Se a gravao terminada por um evento no planejado, como a
perda de energia ou um reset inesperado, a memria
localizao, apenas programado dever ser verificada e repro-
programado, se necessrio. Se a operao de gravao
interrompida
por um Reset MCLR ou WDT reset Time-out durante
operao normal, o usurio pode verificar o bit WRERR
e reescrever a localizao (s) conforme necessrio.
Operao Flash Programa Durante
Cdigo de Proteo
Ver Seo 25.5 "Verificao do Programa e do Cdigo
Proteo " para obter detalhes sobre proteo de cdigo do Flash
memria de programa.
TABELA 6-2:
Nome
TBLPTRU
REGISTOS associadas ao programa MEMRIA FLASH
Bit 7
-
Bit 6
-
Bit 5 Bit 4 Bit 3 Bit 2 O bit 1 Bit 0
Restabelecer
Valores
na pgina
53
53
53
53
INT0IE
GRTIS
EEIP
EEIF
EEIE
RBIE
WRERR
BCLIP
BCLIF
BCLIE
TMR0IF
WREN
HLVDIP
HLVDIF
HLVDIE
INT0IF
WR
TMR3IP
TMR3IF
TMR3IE
RBIF
RD
CCP2IP
CCP2IF
CCP2IE
53
55
55
56
56
56
bit 21(1) Programa Memria Tabela Pointer Byte superior (TBLPTR <20:16>)
TBLPTRH memria do programa Mesa Pointer alta Byte (TBLPTR <15:08>)
TBLPTRL memria do programa Mesa Pointer Low Byte (TBLPTR <07:00>)
Tablat
INTCON
EECON2
EECON1
IPR2
PIR2
PIE2
Programa trava tabela de memria
GIE / GIEH PEIE / giel TMR0IE
EEPGD
OSCFIP
OSCFIF
OSCFIE
CFGS
CMIP
CMIF
CMIE
-
USBIP
USBIF
USBIE
EEPROM Controle Register 2 (no um registo fsico)
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so usados durante o acesso Flash / EEPROM.
Nota 1: Bit 21 da TBLPTRU permite o acesso aos bits de configurao do dispositivo.
v 2009 Microchip Technology Inc. DS39632E-pgina 89
PIC18F2455/2550/4455/4550
NOTAS:
DS39632E-pgina 90 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
7 DADOS DA MEMRIA EEPROM
Os dados da EEPROM uma matriz de memria no voltil,
separada da memria RAM de dados e de programa, isto
usado para o armazenamento a longo prazo de dados do
programa. No
mapeada diretamente em qualquer arquivo ou programa de registo
espao de memria, mas indiretamente dirigida pelo
Registros de Funes Especiais (SFR). A EEPROM est
leitura e escrita durante a operao normal durante o
toda a faixa de VDD.
Quatro SFR so usados para ler e gravar os dados
EEPROM, bem como a memria do programa. Eles so:




EECON1
EECON2
EEDATA
EEADR
Bit de controle, CFGS, determina se o acesso ser
Configurao registra ou para programar a memria de dados /
Memria EEPROM. Quando definido, as operaes subseqentes
acessar registros de configurao. Quando CFGS clara,
o bit EEPGD seleciona o programa Flash ou os dados
Memria EEPROM.
O bit WREN, quando definido, permitir a operao de gravao.
Ao ligar, o bit WREN clara. O bit WRERR
definido em hardware quando o bit WREN est definido e limpo
quando o temporizador de programao interna expira eo
operao de gravao est completa.
Nota: Durante a operao normal, o WRERR
lido como '1 '. Isto pode indicar que uma gravao
operao foi encerrado prematuramente por
um reset ou uma operao de gravao foi
tentou indevidamente.
Os dados EEPROM permite byte ler e escrever. Quando
de interface com o bloco de memria de dados, EEDATA prende
os dados de 8 bits para leitura / gravao eo registro EEADR
contm o endereo da localizao ser EEPROM
acessados.
A memria EEPROM avaliado em alta apagar / escrever
resistncia ciclo. Um byte escrever apaga automaticamente o
localizao e grava os novos dados (apagar-antes-write).
O tempo de gravao controlado por um temporizador on-chip,
que vai
variam com a tenso e temperatura, bem como de chip
ao chip. Consulte o parmetro D122 (Tabela 28-1 em
Seo 28,0 "Caractersticas eltricas") para exata
limites.
O bit de controle WR inicia operaes de gravao. O bit
no pode ser apagada, apenas definir, em software, que eliminado
em
hardware na concluso da operao de gravao.
Nota: A EEIF interrupo bit de flag (PIR2 <4>) definido
quando a gravao completa. Deve ser
apuradas em software.
Bits de controle, RD e WR, comear a ler e apagar / escrever
operaes, respectivamente. Estes bits so definidos pelo firmware
e liberado pelo hardware aps a concluso do
operao.
O bit RD no pode ser definido ao acessar programa
memria (EEPGD = 1). A memria de programa lido usando
mesa de ler as instrues. Ver Seo 6.1 "Tabela L
e Tabela Escreve " relao tabela l.
O registo EECON2 no um registo fsico.
utilizados exclusivamente na memria escrever e apagar
seqncias. Leitura EECON2 ir ler todas '0 's.
7.1 EECON1 e EECON2 Registros
Acesso a dados de EEPROM controlado por dois
registros: EECON1 e EECON2. Estes so os mesmos
registos que controlam o acesso memria programa
e so usados de uma forma semelhante para os dados
EEPROM.
O registo EECON1 (Register 7-1) o controle
registo de dados e acesso memria de programa. Controle
bits, EEPGD, determina se o acesso ao programa ser
ou a memria EEPROM dados. Quando claro, as operaes sero
acessar a memria EEPROM de dados. Quando definido, o
programa
memria acessada.
v 2009 Microchip Technology Inc. DS39632E-pgina 91
PIC18F2455/2550/4455/4550
CADASTRE-SE 7-1:
R / W-x
EEPGD
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
S = bit ajustvel
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
EECON1: DADOS EEPROM controle Register 1
R / W-x
CFGS
U-0
-
R/W-0
GRTIS
R / W-x
WRERR(1)
R/W-0
WREN
R/S-0
WR
R/S-0
RD
bit 0
EEPGD: Programa Flash ou os dados da memria EEPROM Selecione bit
1= Acesso a memria de programa flash
0= Acesso a dados da memria EEPROM
CFGS: Flash Programa / Dados EEPROM ou Configurao Selecione bit
1= Registros de configurao de acesso
0= Acesso programa Flash ou EEPROM memria de dados
Unimplemented: Leia como '0 '
FREE: Row Erase Flash Habilitar bit
1= Apague a linha memria de programa dirigido por TBLPTR no prximo comando WR (desmarcada por
concluso da operao de apagamento)
0= Executar somente gravao
WRERR: Flash Programa / Dados EEPROM erro Flag bit(1)
1= A operao de gravao for encerrado prematuramente (qualquer reset durante a programao de auto-
cronometrado em condies normais
operao ou uma tentativa de gravao imprpria)
0= A operao de escrita concluda
WREN: Flash Programa / Dados EEPROM Escrever Habilitar bit
1= Permite escrever ciclos de programa Flash / EEPROM de dados
0= Inibe ciclos de escrita para o programa Flash / EEPROM de dados
WR: Escrever pouco controle
1= Inicia uma EEPROM apagar dados / gravao ciclo ou um ciclo de apagar a memria de programa ou
escrever ciclo
(A operao auto-cronometrado eo bit desmarcada por hardware uma vez gravao est completa.
O bit WR s pode ser definido (no limpa) em software.)
0= Ciclos de gravao na EEPROM est completa
RD: Leia bit Controle
1= Inicia uma EEPROM de leitura (Read leva um ciclo. RD cancelado em hardware. The bit RD s pode
ser definido (no limpa) em software. RD bit no pode ser definido quando EEPGD = 1ou CFGS = 1.)
0= No iniciar uma EEPROM de leitura
Quando um WRERR ocorre, os bits EEPGD e CFGS no so apagadas. Isso permite rastreamento do erro
condio.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
DS39632E-pgina 92 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
7.2 Lendo o EEPROM de dados
Memria
Alm disso, o bit WREN em EECON1 deve ser ajustado para
permitir que escreve. Este mecanismo impede acidental
escreve dados EEPROM devido ao cdigo inesperado exe-
cution (isto , os programas de fuga). O bit WREN deve
ser mantida limpa em todos os momentos, exceto quando atualizar o
EEPROM. O bit WREN no eliminada por hardware.
Depois de uma sequncia de gravao foi iniciada, EECON1,
EEADR EEDATA e no pode ser modificada. O bit WR
ser inibida de ser definida a menos que o bit WREN
definido. O bit WREN deve ser definido em um anterior instru-
o. Ambos WR e Wren no pode ser definido com o mesmo
instrues.
Na concluso do ciclo de escrita, o bit WR
apuradas em hardware ea EEPROM Interrupo Flag bit
(EEIF) est definido. O usurio pode tanto ativar esta interrupo,
ou consultar este bit. EEIF devem ser apuradas pelo software.
Para ler uma posio de memria de dados, o usurio deve escrever
o
enderear ao registo EEADR, desmarque a EEPGD
bit de controle (EECON1 <7>) e em seguida, definir bit de controle,
RD
(EECON1 <0>). Os dados esto disponveis na muito prxima
ciclo de instruo e, portanto, o registro pode EEDATA
ser lido pela instruo seguinte. EEDATA vai realizar este
valor at que outra operao de leitura ou at que seja escrito para
pelo utilizador (durante uma operao de gravao).
O processo bsico mostrado no Exemplo 7-1.
7.3 Escrevendo para o EEPROM de dados
Memria
Para escrever uma localizao de dados EEPROM, o endereo
deve
primeiro ser escrito para o registro EEADR e os dados
escrito para o registro EEDATA. A seqncia em
Exemplo 7-2 devem ser seguidas para iniciar o ciclo de escrita.
A gravao no comear se esta seqncia no exatamente
seguido (Escreva 55h para EECON2, escreva para 0AAh
EECON2, em seguida, definir WR bit) para cada byte. fortemente
Recomenda que interrompe ser desativado durante este
segmento de cdigo.
7.4 Escrever Verifique
Dependendo da aplicao, uma boa programao
prtica pode ditar que o valor escrito no
memria deve ser verificada com o valor inicial.
Isto deve ser utilizado em aplicaes onde a excessiva
escreve posso forar pedaos perto do limite de especificao.
Exemplo 7-1:
MOVLW
MOVWF
BCF
BCF
BSF
MOVF
DATA EEPROM LEIA
DATA_EE_ADDR
EEADR
EECON1, EEPGD
EECON1, CFGS
EECON1, RD
EEDATA, W
;
;
;
;
;
;
Menores bits de dados endereo de memria para ler
Aponte para a memria de dados
Acesso EEPROM
EEPROM Read
W = EEDATA
EXEMPLO 7-2: DATA EEPROM WRITE
MOVLW
MOVWF
MOVLW
MOVWF
BCF
BCF
BSF
BCF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
BSF
DATA_EE_ADDR
EEADR
DATA_EE_DATA
EEDATA
EECON1, EEPGD
EECON1, CFGS
EECON1, carria
INTCON, GIE
55h
EECON2
0AAh
EECON2
EECON1, WR
INTCON, GIE
;
;
;
;
;
;
;
;
;
;
;
;
;
;
Menores bits de dados endereo de memria para
escrever
Dados do Valor de memria para
escrever
Aponte para a memria de dados
Acesso EEPROM
Ativar escreve
Desativar Interrupes
Escrever 55h
Escrever 0AAh
Definir WR pouco para comear a
escrever
Habilitar Interrupes
Necessrio
Seqncia
BCF EECON1, carria
, A execuo do cdigo do usurio
, Desativar escreve sobre escrever completo (conjunto
EEIF)
v 2009 Microchip Technology Inc. DS39632E-pgina 93
PIC18F2455/2550/4455/4550
7,5 Durante a Operao Code-Proteja 7,7 Usando dados da EEPROM
Memria de dados EEPROM tem seu prprio cdigo de proteo
contra os bits em
Palavras de configurao. External ler e escrever
operaes so desativadas se a proteo de cdigo ativado.
O microcontrolador pode-se ler e escrever para o
dados EEPROM interna, independentemente do estado do
cdigo de proteo bit de configurao. Consulte Seo 25,0
"Recursos Especiais da CPU" Para obter
informao.
Os dados EEPROM uma alta resistncia, byte-
conjunto enderevel que foi otimizado para o
armazenamento de mudar frequentemente de informao (por
exemplo,
variveis de programa ou outros dados que so actualizados
muitas vezes). Mudanas frequentes valores ser tipicamente
atualizados com mais freqncia do que a especificao D124 ou
D124A.
Se este no for o caso, uma matriz deve ser refresh
realizada. Por esta razo, as variveis que a mudana
com pouca freqncia (tais como constantes, identificaes,
calibrao, etc)
deve ser armazenado na memria do programa Flash. A EEPROM rotina simples atualizao de dados mostrado na
Exemplo 7-3.
Nota: Se os dados de EEPROM utilizado apenas para
armazenar
constantes e / ou dados que muda raramente,
uma atualizao gama provavelmente no
necessrio. Ver
especificao D124 ou D124A.
7.6 Proteo contra gravao esprias
H condies quando o dispositivo no pode querer
escrever para a memria EEPROM dados. Para se proteger contra
espria EEPROM escreve, vrios mecanismos tm
foram implementadas. Ao ligar, o bit WREN
apagadas. Alm disso, escreve na EEPROM so bloqueados
durante o perodo do temporizador Power-up (TPWRT,
parmetro 33, Tabela 28-12).
Os write iniciar seqncia eo bit WREN juntos
ajudar a evitar uma escrita acidental durante brown-out,
falha de energia ou mau funcionamento do software.
Exemplo 7-3: DATA EEPROM REFRESH ROTINA
CLRF
BCF
BCF
BCF
BSF
EEADR
EECON1,
EECON1,
INTCON,
EECON1,
CFGS
EEPGD
GIE
WREN
;
;
;
;
;
;
;
;
;
;
;
;
;
Iniciar no endereo 0
Conjunto para memria
Conjunto para dados EEPROM
Desativar as interrupes
Ativar escreve
Loop para atualizar conjunto
Leia endereo atual
Escrever 55h
Escrever 0AAh
Definir WR pouco para comear a
escrever
Espere para escrever para completar
Lao
BSF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
BTFSC
BRA
INCFSZ
BRA
BCF
BSF
EECON1, RD
55h
EECON2
0AAh
EECON2
EECON1, WR
EECON1, WR
$ -2
EEADR, F
LOOP
EECON1, carria
INTCON, GIE
Necessrio
Seqncia
, Endereo Incremento
, No zero, faz-lo novamente
, Escreve Desativar
, Habilitar as interrupes
DS39632E-pgina 94 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
Tabela 7-1:
Nome
INTCON
EEADR
EEDATA
EECON2
EECON1
IPR2
PIR2
PIE2
REGISTOS associados aos dados EEPROM MEMRIA
Bit 7 Bit 6
PEIE / giel
Bit 5
TMR0IE
Bit 4
INT0IE
Bit 3
RBIE
Bit 2
TMR0IF
O bit 1
INT0IF
Bit 0
RBIF
Restabelecer
Valores
na pgina
53
55
55
55
WREN
HLVDIP
HLVDIF
HLVDIE
WR
TMR3IP
TMR3IF
TMR3IE
RD
CCP2IP
CCP2IF
CCP2IE
55
56
56
56
-
USBIP
USBIF
USBIE
GRTIS
EEIP
EEIF
EEIE
WRERR
BCLIP
BCLIF
BCLIE
GIE / GIEH
EEPROM Address Register
EEPROM dados cadastrais
EEPROM Controle Register 2 (no um registo fsico)
EEPGD
OSCFIP
OSCFIF
OSCFIE
CFGS
CMIP
CMIF
CMIE
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so usados durante o acesso Flash / EEPROM.
v 2009 Microchip Technology Inc. DS39632E-pgina 95
PIC18F2455/2550/4455/4550
NOTAS:
DS39632E-pgina 96 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
8
8.1
8 x 8 HARDWARE MULTIPLICADOR
Introduo
Exemplo 8-1:
MOVF
MULWF
Arg1, W
ARG2
8 x 8 UNSIGNED
MULTIPLICAR ROTINA
;
, ARG1 ARG2 * ->
, PRODH: Prdl Todos os dispositivos de PIC18 incluem um multiplicador de 8 x 8 de
hardware
como parte das ALU. O multiplicador realiza um unsigned
operao e produz um resultado de 16 bits que armazenado na
produto par de registradores, PRODH: Prdl. Do multiplicador
operao no afeta todas as bandeiras no estado de
registrar.
Fazendo uma operao de multiplicao de hardware permite
ser completada num nico ciclo de instrues. Isto tem a
vantagens de processamento computacional superior e
tamanho do cdigo reduzido para algoritmos de multiplicao e
permite a dispositivos de PIC18 para ser usado em muitas
aplicaes,
es anteriormente reservada para processadores de sinal digital.
Uma comparao de vrios dispositivos de hardware e software
operaes de multiplicar, juntamente com as economias na memria
e o tempo de execuo, mostrado na Tabela 8-1.
Exemplo 8-2:
MOVF
MULWF
BTFSC
SUBWF
MOVF
BTFSC
SUBWF
Arg1, W
ARG2
ARG2, SB
PRODH, F
ARG2, W
ARG1, SB
PRODH, F
8 x 8 ASSINADO MULTIPLY
ROTINA
;
;
;
;
;
ARG1 ARG2 * ->
PRODH: Prdl
Teste o bit de sinal
PRODH = PRODH
- ARG1
8.2 Operao
, Teste de sinal Bit
, PRODH = PRODH
, - ARG2
Exemplo 8-1 mostra a sequncia de instrues para um
8 x 8 multiplicao sem sinal. Apenas uma instruo est
necessria quando um dos argumentos j est carregado
no registo WREG.
Exemplo 8-2 mostra a seqncia para fazer um 8 x 8 assinado
multiplicao. Para explicar os bits de sinal do
argumentos, bit mais significativo de cada argumento (MSB)
testado e as subtraes apropriadas so feitas.
Tabela 8-1:
Rotina
COMPARAO DE DESEMPENHO PARA OPERAES multiplicar VRIOS
Multiplique Mtodo
Sem multiplicam hardware
Multiplicam Hardware
Sem multiplicam hardware
Multiplicam Hardware
Sem multiplicam hardware
Multiplicam Hardware
Sem multiplicam hardware
Multiplicam Hardware
Programa
Memria
(Palavras)
13
1
33
6
21
28
52
35
Ciclos
(Max)
69
1
91
6
242
28
254
40
Tempo
@ 40 MHz
6.9 o
100 ns
9.1 o
600 ns
24,2 o
2.8 o
25,4 o
4.0 o
@ 10 MHz
27,6 o
400 ns
36.4 o
2.4 o
96,8 o
11.2 o
102,6 o
16,0 o
@ 4 MHz
69 o
1 o
91 o
6 o
242 o
28 o
254 o
40 o
8 x 8 sem sinal
8 x 8 assinada
16 x 16 sem sinal
16 x 16 assinado
v 2009 Microchip Technology Inc. DS39632E-pgina 97
PIC18F2455/2550/4455/4550
Exemplo 8-3 mostra a seqncia para fazer um 16 x 16
multiplicao sem sinal. 8-1 mostra a Equao
algoritmo que usado. A sequncia de 32 bits armazenado em
quatro
registradores (RES3: RES0).
EQUAO 8-2: 16 x 16 ASSINADO
MULTIPLICAO
ALGORITHM
EQUAO 8-1: 16 x 16 UNSIGNED
MULTIPLICAO
ALGORITHM
ARG1H: ARG1L ARG2H: ARG2L
(ARG1H ARG2H 216) +
(ARG1H ARG2L 28) +
(ARG1L ARG2H 28) +
(ARG1L ARG2L)
RES3: RES0 =
=
RES3: RES0 = ARG1H: ARG1L ARG2H: ARG2L
= (ARG1H ARG2H 216) +
(ARG1H ARG2L 28) +
(ARG1L ARG2H 28) +
(ARG1L ARG2L) +
(-1 ARG2H <7> ARG1H: ARG1L 216) +
(-1 ARG1H <7> ARG2H: ARG2L 216)
Exemplo 8-4:
MOVF
MULWF
MOVFF
MOVFF
;
MOVF
MULWF
MOVFF
MOVFF
;
MOVF
MULWF
MOVF
ADDWF
MOVF
ADDWFC
CLRF
ADDWFC
;
MOVF
MULWF
MOVF
ADDWF
MOVF
ADDWFC
CLRF
ADDWFC
;
BTFSS
BRA
MOVF
SUBWF
MOVF
SUBWFB
;
SIGN_ARG1
BTFSS
BRA
MOVF
SUBWF
MOVF
SUBWFB
;
CONT_CODE
:
16 x 16 ASSINADO
MULTIPLICAR ROTINA
; ARG1L ARG2L * ->
, PRODH: Prdl
;
;
Exemplo 8-3:
MOVF
MULWF
MOVFF
MOVFF
;
MOVF
MULWF
MOVFF
MOVFF
;
MOVF
MULWF
MOVF
ADDWF
MOVF
ADDWFC
CLRF
ADDWFC
;
MOVF
MULWF
MOVF
ADDWF
MOVF
ADDWFC
CLRF
ADDWFC
16 x 16 UNSIGNED
MULTIPLICAR ROTINA
; ARG1L * ARG2L->
, PRODH: Prdl
;
;
ARG1L, W
ARG2L
PRODH, RES1
Prdl, RES0
ARG1H, W
ARG2H
PRODH, RES3
Prdl, RES2
ARG1L, W
ARG2H
Prdl, W
RES1, F
PRODH, W
RES2, F
WREG
RES3, F
ARG1H, W
ARG2L
Prdl, W
RES1, F
PRODH, W
RES2, F
WREG
RES3, F
ARG2H, 7
SIGN_ARG1
ARG1L, W
RES2
ARG1H, W
RES3
ARG1L, W
ARG2L
PRODH, RES1
Prdl, RES0
ARG1H, W
ARG2H
PRODH, RES3
Prdl, RES2
ARG1L, W
ARG2H
Prdl, W
RES1, F
PRODH, W
RES2, F
WREG
RES3, F
ARG1H, W
ARG2L
Prdl, W
RES1, F
PRODH, W
RES2, F
WREG
RES3, F
; ARG1H * ARG2H->
, PRODH: Prdl
;
;
; ARG1H ARG2H * ->
, PRODH: Prdl
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
ARG1L * ARG2H->
PRODH: Prdl
Adicionar
atravessar
produtos
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
ARG1L ARG2H * ->
PRODH: Prdl
Adicionar
atravessar
produtos
ARG1H ARG2L * ->
PRODH: Prdl
Adicionar
atravessar
produtos
ARG1H * ARG2L->
PRODH: Prdl
Adicionar
atravessar
produtos
Exemplo 8-4 mostra a seqncia para fazer um 16 x 16
assinado multiplicam. Equao 8-2 mostra o algoritmo
utilizado. A sequncia de 32 bits armazenado em quatro registos
(RES3: RES0). Para explicar os bits de sinal do
argumentos, o MSB para cada par argumento testado
e as subtraes apropriadas so feitas.
, ARG2H: ARG2L neg?
, No, verifique ARG1
;
;
;
ARG1H, 7
CONT_CODE
ARG2L, W
RES2
ARG2H, W
RES3
, ARG1H: ARG1L neg?
, No, feito
;
;
;
DS39632E-pgina 98 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
9 INTERRUPTS
Os dispositivos tm PIC18F2455/2550/4455/4550
vrias fontes de interrupo e um recurso de prioridade de
interrupo
que permite que cada uma das fontes de interrupo a ser atribuda
uma maior
nvel de prioridade ou um nvel de baixa prioridade. A alta prioridade
vetor de interrupo a 000008h ea baixa prioridade
vetor de interrupo a 000018h. Interrupo de alta prioridade
eventos vo interromper quaisquer interrupes de baixa prioridade
que podem
estar em andamento.
H dez registos, que so usados para controlar
interromper a operao. Estes registos so:







RCON
INTCON
INTCON2
INTCON3
PIR1, PIR2
PIE1, PIE2
IPR1, IPR2
Quando uma interrupo respondida, a interrupo mundial
bit de habilitao liberado para desativar mais interrupes. Se o
IPEN bit estiver desmarcada, este o bit GIE. Se a prioridade de
interrupo
nveis so utilizados, este ser, ou o GIEH ou pouco Giel.
Fontes de interrupo de alta prioridade pode interromper uma baixa
interrupo de prioridade. Interrupes de baixa prioridade no so
processada enquanto interrompe alta prioridade esto em
andamento.
O endereo de retorno colocado na pilha eo
PC carregado com o endereo do vetor de interrupo
(000008h ou 000018h). Uma vez que no servio de interrupo
Rotina, a fonte (s) da interrupo pode ser determi-
minada por votao os bits bandeira de interrupo. A interrupo
bandeira bits devem ser apuradas no software antes de reativar
interrompe a evitar interrupes recursiva.
O "retorno da interrupo" instruo, RETFIE, sadas
a rotina de interrupo e define o bit GIE (GIEH ou giel
se os nveis de prioridade so usadas), que re-habilita interrupes.
Para eventos de interrupo externas, tais como os pinos ou IntX
a interrupo de mudana de entrada PORTB, a latncia de
interrupo
ser de trs a quatro ciclos de instruo. A exata
latncia o mesmo para um ou dois ciclos de instrues.
Individuais de interrupo bandeira bits so definidas
independentemente da
status do seu bit de habilitao correspondente ou o bit GIE.
Nota: No utilize o MOVFF instrues para modificar
qualquer um dos registos de controlo de interrupo,
enquanto
qualquer interrupo ativada. Se o fizer, pode
causar um comportamento errtico microcontrolador.
Recomenda-se que os arquivos de cabealho Microchip
fornecido com MPLAB IDE ser utilizado para o bit simblico
nomes desses registros. Isto permite que o montador /
compilador para cuidar automaticamente da colocao de
estes bits dentro do registo especificado.
Cada fonte de interrupo tem trs bits para controlar a sua
operao. As funes destes pedaos so:
bit sinalizador para indicar que um evento de interrupo
ocorreu
Habilitar bit, que permite a execuo do programa
ramificar para o endereo de vetor de interrupo quando o
bit sinalizador est definido
bit Prioridade para selecionar alta prioridade ou baixa
prioridade
O recurso de prioridade de interrupo ativada, definindo o
IPEN bit (RCON <7>). Quando a prioridade de interrupo
activado, existem dois bits, que permitem interrupes
globalmente. Definir o bit GIEH (INTCON <7>) permite que todos os
interrupes que tm o conjunto de bits de prioridade (alta
prioridade).
Definir o bit giel (INTCON <6>) permite que todos os
interrupes que tm o bit prioridade apagadas (baixa prioridade).
Quando a bandeira de interrupo, bit de habilitao e apropriada
bit de habilitao de interrupo globais so definidas, a interrupo
ser
vector imediatamente para tratar ou 000008h 000018h,
dependendo da definio de prioridades bit. Individual inter-
Rupts pode ser desabilitado atravs do seu correspondente
permitir bits.
Quando o bit IPEN apagada (estado padro), o
recurso de prioridade de interrupo desativado e interrupes so
compatvel com PIC dispositivos de gama mdia. Em
O modo de compatibilidade, os bits de prioridade de interrupo
para cada
fonte no tm efeito. INTCON <6> o bit PEIE
que ativa / desativa todas as fontes de interrupo perifricos.
INTCON <7> o bit GIE que ativa / desativa todos
interromper fontes. Todas as interrupes ramo para tratar
000008h em modo de compatibilidade.
9.1 Interrupes USB
Ao contrrio de outros perifricos, o mdulo capaz de USB
gerar uma vasta gama de interrupes para muitos tipos de
eventos. Estes incluem vrios tipos de normal de comu-
municao e status de eventos e vrios nvel de mdulo
eventos de erro.
Para lidar com esses eventos, o mdulo USB est equipado
com a sua prpria lgica de interrupo. As funes lgicas numa
forma semelhante ao nvel microcontrolador interromper fun-
nel, com cada fonte de interrupo com bandeira separado e
permitir bits. Todos os eventos so canalizados para um nico
dispositivo
interrupo nvel, USBIF (PIR2 <5>). Ao contrrio do dispositivo
lgica de interrupo nvel, os eventos de interrupo USB
individuais
no pode ser atribudo individualmente a sua prpria prioridade. Este
determinado no nvel do dispositivo funil interrupo para todos
Eventos USB pelo pouco USBIP.
Para detalhes adicionais sobre a lgica de interrupo USB,
consulte
Seo 17.5 "Interrupes USB".
v 2009 Microchip Technology Inc. DS39632E-pgina 99
PIC18F2455/2550/4455/4550
Figura 9-1: INTERROMPER LOGIC
Wake-up em caso de Sleep Mode
TMR0IF
TMR0IE
TMR0IP
RBIF
RBIE
RBIP
INT0IF
INT0IE
INT1IF
INT1IE
INT1IP
INT2IF
INT2IE
INT2IP
Peripheral Interrupt Flag bit
Interrupo perifrica Activar bit
Peripheral Interrupt bit Prioridade
TMR1IF
TMR1IE
TMR1IP
De USB
Interromper Logic
USBIF
USBIE
USBIP
Interrupes perifricos adicionais
Gerao de interrupo de alta prioridade
Gerao de interrupo de baixa prioridade
Interromper a CPU
Vector a Localizao
0008H
GIE / GIEH
IPEN
IPEN
PEIE / giel
IPEN
Peripheral Interrupt Flag bit
Interrupo perifrica Activar bit
Peripheral Interrupt bit Prioridade
TMR0IF
TMR0IE
TMR0IP
RBIF
RBIE
RBIP
Interromper a CPU
Vector a Localizao
0018h
TMR1IF
TMR1IE
TMR1IP
De USB
Interromper Logic
USBIF
USBIE
USBIP
PEIE / giel
GIE / GIEH
Interrupes perifricos adicionais
INT1IF
INT1IE
INT1IP
INT2IF
INT2IE
INT2IP
DS39632E pgina 100 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
9.2 INTCON Registra
Nota:
Os registradores INTCON so lidos e escritos
registros que contm vrios enable, prioridade e bandeira
bits.
Interrupo bandeira bits so definidos quando uma
interrupo
condio ocorre independentemente do estado de
seu bit de habilitao correspondente ou global
interromper permitir bit. Software usurio deve
garantir os bits de flag de interrupo adequados
so claras antes de ativar uma interrupo.
Este recurso permite a votao software.
CADASTRE-SE 9-1:
R/W-0
GIE / GIEH
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
INTCON: registro de controle de interrupo
R/W-0 R/W-0
TMR0IE
R/W-0
INT0IE
R/W-0
RBIE
R/W-0
TMR0IF
R/W-0
INT0IF
R / W-x
RBIF(1)
bit 0
PEIE / giel
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
GIE / GIEH: Interrupo global Habilitar bit
Quando IPEN = 0:
1= Habilita todas as interrupes no mascaradas
0= Desabilita todas as interrupes
Quando IPEN = 1:
1= Permite que todas as interrupes de alta
prioridade
0= Desabilita todas as interrupes
PEIE / giel: Interrupo perifrica Activar bit
Quando IPEN = 0:
1= Permite que todas as interrupes de perifricos desmascarado
0= Desabilita todas as interrupes de perifricos
Quando IPEN = 1:
1= Permite que todas as interrupes de perifricos de baixa prioridade (se GIE /
GIEH = 1)
0= Desabilita todas as interrupes de perifricos de baixa prioridade
TMR0IE: TMR0 Overflow Interrupt Habilitar bit
1= Permite a interrupo de estouro TMR0
0= Desativa a interrupo de estouro TMR0
INT0IE: INT0 interrupo externa Habilitar bit
1= Ativa a interrupo externa INT0
0= Desativa a interrupo externa INT0
RBIE: RB Porto Mudana Interrupo Ativar bit
1= Permite a mudana de porta RB interromper
0= Desativa a interrupo mudana porta RB
TMR0IF: TMR0 Overflow Interrupt Flag bit
1= TMR0 registo transbordou (deve ser limpo por software)
0= TMR0 registo no fez transbordar
INT0IF: INT0 External Interrupt Flag bit
1= A interrupo externa INT0 ocorreu (deve ser limpo por software)
0= A interrupo externa INT0 no ocorreu
RBIF: RB Porto Mudana de interrupo Flag bit(1)
1= Pelo menos um dos RB7: RB4 pinos estado alterado (deve ser limpo por software)
0= None do RB7: RB4 pinos mudaram estado
A condio de incompatibilidade continuar a definir este bit. Lendo PORTB, e depois espera uma instruo adicional
ciclo, vai acabar com a condio de incompatibilidade e permitir que o bit a ser apuradas.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
v 2009 Microchip Technology Inc. DS39632E pgina 101
PIC18F2455/2550/4455/4550
CADASTRE-SE 9-2:
R/W-1
RBPU
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
INTCON2: CONTROLE DE INTERRUPO registar 2
R/W-1
INTEDG0
R/W-1
INTEDG1
R/W-1
INTEDG2
U-0
-
R/W-1
TMR0IP
U-0
-
R/W-1
RBIP
bit 0
RBPU: PORTB pull-up Ativar bit
1= Todos PORTB pull-ups esto desabilitados
0= PORTB pull-ups so ativados por valores de fecho de portas individuais
INTEDG0: External Interrupt 0 Borda Select bit
1= Interromper em borda de subida
0= Interromper em borda de descida
INTEDG1: External Interrupt 1 Borda Select bit
1= Interromper em borda de subida
0= Interromper em borda de descida
INTEDG2: Interrupo externa 2 Borda Select bit
1= Interromper em borda de subida
0= Interromper em borda de descida
Unimplemented: Leia como '0 '
TMR0IP: TMR0 Overflow Interrupt bit Prioridade
1= Alta prioridade
0= Baixa prioridade
Unimplemented: Leia como '0 '
RBIP: RB Porto Mudana de interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
Interrupo bandeira bits so definidos quando uma condio de interrupo ocorre independentemente do estado de seu
correspondente
bit de habilitao ou a interrupo global de permitir bit. Software usurio deve garantir que os bits de flag de interrupo
adequados
so claras antes de ativar uma interrupo. Este recurso permite a votao software.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota:
DS39632E pgina 102 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
CADASTRE-SE 9-3:
R/W-1
INT2IP
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
INTCON3: CONTROLE DE INTERRUPO REGISTRO 3
R/W-1
INT1IP
U-0
-
R/W-0
INT2IE
R/W-0
INT1IE
U-0
-
R/W-0
INT2IF
R/W-0
INT1IF
bit 0
INT2IP: INT2 External Interrupt bit Prioridade
1= Alta prioridade
0= Baixa prioridade
INT1IP: INT1 External Interrupt bit Prioridade
1= Alta prioridade
0= Baixa prioridade
Unimplemented: Leia como '0 '
INT2IE: INT2 interrupo externa Habilitar bit
1= Ativa a interrupo externa INT2
0= Desativa a interrupo externa INT2
INT1IE: INT1 interrupo externa Habilitar bit
1= Ativa a interrupo externa INT1
0= Desativa a interrupo externa INT1
Unimplemented: Leia como '0 '
INT2IF: INT2 External Interrupt Flag bit
1= A interrupo externa INT2 ocorreu (deve ser limpo por software)
0= A interrupo externa INT2 no ocorreu
INT1IF: INT1 External Interrupt Flag bit
1= A interrupo externa INT1 ocorreu (deve ser limpo por software)
0= A interrupo externa INT1 no ocorreu
Interrupo bandeira bits so definidos quando uma condio de interrupo ocorre independentemente do estado de seu
correspondente
bit de habilitao ou a interrupo global de permitir bit. Software usurio deve garantir que os bits de flag de interrupo
adequados
so claras antes de ativar uma interrupo. Este recurso permite a votao software.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota:
v 2009 Microchip Technology Inc. DS39632E pgina 103
PIC18F2455/2550/4455/4550
9.3 PIR Registra
Os registros PIR conter os bits bandeira individuais para o
interrompe perifricos. Devido ao nmero de perifricos
interromper fontes, existem duas interrupo Perifrico
Request (Flag) registros (PIR1 e PIR2).
Nota 1: Interrupo bandeira bits so definidos quando uma
interrupo
condio ocorre independentemente do estado de
seu bit de habilitao correspondente ou Global
Interromper Habilitar bit, GIE (INTCON <7>).
2: Software usurio deve garantir a ade-
comeram interrupo bandeira bits so apagadas antes
permitindo uma interrupo e depois de atender a
essa interrupo.
CADASTRE-SE 9-4:
R/W-0
SPPIF(1)
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
PIR1: pedido de interrupo perifrica (FLAG) registrar um
R/W-0
ADIF
R-0
RCIF
R-0
TXIF
R/W-0
SSPIF
R/W-0
CCP1IF
R/W-0
TMR2IF
R/W-0
TMR1IF
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
SPPIF: Transmisso de porta paralela de leitura / gravao de interrupo bit Bandeira(1)
1= A leitura ou uma operao de gravao foi realizada (deve ser limpo por software)
0= No ler ou escrever ocorreu
ADIF: Conversor A / D de interrupo bit Bandeira
1= Uma converso A / D concludo (deve ser limpo por software)
0= A converso A / D no completa
RCIF: EUSART Receba interrupo bit Bandeira
1= O EUSART receber buffer, RCREG, est cheio (apagado quando RCREG lido)
0= O buffer de recepo EUSART est vazia
TXIF: EUSART Transmitir interrupo bit Bandeira
1= O buffer de transmisso EUSART, TXREG, est vazia (apagada quando TXREG est escrito)
0= O buffer de transmisso EUSART est cheio
SSPIF: Mestre Synchronous Serial Port Interrupt Flag bit
1= A transmisso / recepo completo (deve ser limpo por software)
0= Esperando para transmitir / receber
CCP1IF: CCP1 interrupo bit Bandeira
Modo de captura:
1= Um registo captura TMR1 ocorreu (deve ser limpo por software)
0= No captura registo TMR1 ocorreu
Modo de comparao:
1= Um registo TMR1 comparar corresponder ocorreu (deve ser limpo por software)
0= No registo TMR1 comparar corresponder ocorreu
Modo PWM:
No utilizado neste modo.
TMR2IF: TMR2 para PR2 jogo interrupo Flag bit
1= TMR2 para PR2 jogo ocorreu (deve ser limpo por software)
0N = TMR2 para PR2 partida ocorreu
TMR1IF: TMR1 Overflow Interrupt Flag bit
1= TMR1 registo transbordou (deve ser limpo por software)
0= TMR1 registo no fez transbordar
Este bit reservado em dispositivos de 28 pinos; sempre manter esse pouco clara.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
DS39632E pgina 104 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
CADASTRE-SE 9-5:
R/W-0
OSCFIF
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
PIR2: pedido de interrupo perifrica (FLAG) REGISTRO 2
R/W-0
CMIF
R/W-0
USBIF
R/W-0
EEIF
R/W-0
BCLIF
R/W-0
HLVDIF
R/W-0
TMR3IF
R/W-0
CCP2IF
bit 0
OSCFIF: Oscilador Falha de interrupo bit Bandeira
1= Oscilador sistema falhou, entrada de clock mudou para INTOSC (deve ser limpo por software)
0= Sistema operacional relgio
CMIF: Comparador de interrupo Flag bit
1= Entrada Comparador mudou (deve ser limpo por software)
0= Entrada comparadores no mudou
USBIF: USB interrupo bit Bandeira
1= USB pediu uma interrupo (deve ser limpo por software)
0= No pedido de interrupo USB
EEIF: Dados EEPROM / Flash Escrever operao de interrupo bit Bandeira
1= A operao de escrita completo (deve ser limpo por software)
0= A operao de gravao no est completa ou no foi iniciado
BCLIF: Bus Collision interrupo Flag bit
1= A coliso de nibus ocorreu (deve ser limpo por software)
0= No coliso de nibus ocorrido
HLVDIF: High / Low-Voltage Detect interrupo bit Bandeira
1= A condio de alta / baixa tenso ocorreu (deve ser limpo por software)
0= No caso de alta / baixa tenso ocorreu
TMR3IF: TMR3 Overflow Interrupt Flag bit
1= TMR3 registo transbordou (deve ser limpo por software)
0= TMR3 registo no fez transbordar
CCP2IF: CCP2 interrupo bit Bandeira
Modo de captura:
1= A TMR1 ou TMR3 registo captura ocorreu (deve ser limpo por software)
0= No TMR1 ou TMR3 registo captura ocorreu
Modo de comparao:
1= A TMR1 ou TMR3 registo comparar corresponder ocorreu (deve ser limpo por software)
0= No TMR1 ou TMR3 registo comparar corresponder ocorreu
Modo PWM:
No utilizado neste modo.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
v 2009 Microchip Technology Inc. DS39632E pgina 105
PIC18F2455/2550/4455/4550
9.4 PIE Registra
O PIE registra conter os bits individuais de habilitao para
as interrupes perifricas. Devido ao nmero de peri-
fontes de interrupo eral, existem duas interrupo Perifrico
Ativar registros (PIE1 e PIE2). Quando IPEN = 0, o
PEIE bit deve ser ajustado para permitir que qualquer um destes
perifricos
as interrupes.
CADASTRE-SE 9-6:
R/W-0
SPPIE(1)
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
PIE1: INTERRUPO perifrica Activar Registo 1
R/W-0
ADIE
R/W-0
RCIE
R/W-0
TXIE
R/W-0
SSPIE
R/W-0
CCP1IE
R/W-0
TMR2IE
R/W-0
TMR1IE
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
SPPIE: Transmisso de porta paralela de leitura / gravao de interrupo
Habilitar bit(1)
1= Permite a SPP leitura / gravao de interrupo
0= Desativa o SPP leitura / gravao de interrupo
ADIE: A interrupo conversor A / D Habilitar bit
1= Permite a interrupo A / D
0= Desativa a interrupo A / D
RCIE: EUSART Receber Interrupo Ativar bit
1= Ativa a receber EUSART interrupo
0= Desativa o EUSART receber interrupo
TXIE: EUSART Transmitir Interrupo Ativar bit
1= Permite a EUSART transmitir interrupo
0= Desativa o EUSART transmitir interrupo
SSPIE: Mestre Synchronous Serial interrupo Habilitar porta bit
1= Permite a interrupo MSSP
0= Desativa a interrupo MSSP
CCP1IE: CCP1 interrupo Habilitar bit
1= Permite a interrupo CCP1
0= Desativa a interrupo CCP1
TMR2IE: TMR2 para PR2 jogo interrupo Habilitar bit
1= Permite a partida de interrupo TMR2 para PR2
0= Desativa o jogo interrupo TMR2 para PR2
TMR1IE: TMR1 Overflow Interrupt Habilitar bit
1= Permite a interrupo de estouro TMR1
0= Desativa a interrupo de estouro TMR1
Este bit reservado em dispositivos de 28 pinos; sempre manter esse pouco clara.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
DS39632E pgina 106 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
CADASTRE-SE 9-7:
R/W-0
OSCFIE
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
PIE2: INTERRUPO perifrica Activar CADASTRE-SE 2
R/W-0
CMIE
R/W-0
USBIE
R/W-0
EEIE
R/W-0
BCLIE
R/W-0
HLVDIE
R/W-0
TMR3IE
R/W-0
CCP2IE
bit 0
OSCFIE: Oscilador falha Interrupo Ativar bit
1= Ativado
0= Desativado
CMIE: Interrupo comparador Habilitar bit
1= Ativado
0= Desativado
USBIE: Interrupo USB Habilitar bit
1= Ativado
0= Desativado
EEIE: Dados EEPROM / Flash Write operao de interrupo Habilitar bit
1= Ativado
0= Desativado
BCLIE: Bus Collision interrupo Habilitar bit
1= Ativado
0= Desativado
HLVDIE: High / Low-Voltage Detect Interrupo Ativar bit
1= Ativado
0= Desativado
TMR3IE: TMR3 Overflow Interrupt Habilitar bit
1= Ativado
0= Desativado
CCP2IE: CCP2 interrupo Habilitar bit
1= Ativado
0= Desativado
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
v 2009 Microchip Technology Inc. DS39632E pgina 107
PIC18F2455/2550/4455/4550
9,5 IPR Registra
Os registros de DPI conter os bits de prioridade individuais para
as interrupes perifricas. Devido ao nmero de
fontes de interrupo perifrico, existem dois Perifrico
Interromper registros prioritrios (IPR1 e IPR2). Usando o
bits de prioridade exige que a prioridade de interrupo Ativar
(IPEN) bit ser definido.
CADASTRE-SE 9-8:
R/W-1
SPPIP(1)
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
IPR1: PRIORIDADE INTERRUPO PERIPHERAL REGISTRAR 1
R/W-1
ADIP
R/W-1
RCIP
R/W-1
TXIP
R/W-1
SSPIP
R/W-1
CCP1IP
R/W-1
TMR2IP
R/W-1
TMR1IP
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
SPPIP: Transmisso de porta paralela de leitura / gravao de interrupo bit
Prioridade(1)
1= Alta prioridade
0= Baixa prioridade
ADIP: Conversor A / D de interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
RCIP: EUSART Receba interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
TXIP: EUSART Transmitir interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
bit 6
bit 5
4 bits
bit 3 SSPIP: Mestre Synchronous Serial Port Interrupt bit Prioridade
1= Alta prioridade
0= Baixa prioridade
CCP1IP: CCP1 interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
TMR2IP: TMR2 para PR2 jogo interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
TMR1IP: TMR1 Overflow Interrupt bit Prioridade
1= Alta prioridade
0= Baixa prioridade
Este bit reservado em dispositivos de 28 pinos; sempre manter esse pouco clara.
bit 2
bit 1
bit 0
Nota 1:
DS39632E pgina 108 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
CADASTRE-SE 9-9:
R/W-1
OSCFIP
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
IPR2: PERIPHERAL INTERRUPO PRIORIDADE registar 2
R/W-1
CMIP
R/W-1
USBIP
R/W-1
EEIP
R/W-1
BCLIP
R/W-1
HLVDIP
R/W-1
TMR3IP
R/W-1
CCP2IP
bit 0
OSCFIP: Oscilador Falha de interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
CMIP: Comparador de interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
USBIP: USB interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
EEIP: Dados EEPROM / Flash Escrever operao de interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
BCLIP: Bus Collision interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
HLVDIP: High / Low-Voltage Detect interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
TMR3IP: TMR3 Overflow Interrupt bit Prioridade
1= Alta prioridade
0= Baixa prioridade
CCP2IP: CCP2 interrupo bit Prioridade
1= Alta prioridade
0= Baixa prioridade
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
v 2009 Microchip Technology Inc. DS39632E pgina 109
PIC18F2455/2550/4455/4550
9,6 RCON Registrar
O registo RCON contm bits bandeira, as quais so utilizadas para
determinar a causa do ltimo reajuste ou wake-up de
Ocioso ou sono modos. RCON tambm contm o bit IPEN
que permite que as prioridades de interrupo.
CADASTRE-SE 9-10:
R/W-0
IPEN
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
RCON: REAJUSTE registro de controle
U-0
-
R/W-1
RI
R-1
TO
R-1
PD
R/W-0(2)
POR
R/W-0
BOR
bit 0
R/W-1(1)
SBOREN
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
IPEN: Prioridade Interrupo Ativar bit
1= Ativar nveis de prioridade sobre as interrupes
0= Desativar nveis de prioridade de interrupes (modo de compatibilidade
PIC16CXXX)
SBOREN: BOR Software Habilitar bit(1)
Para mais detalhes sobre a operao bit, consulte
Registrar 4-1.
Unimplemented: Leia como '0 '
RI: REAJUSTE Bandeira Instruo bit
Para mais detalhes sobre a operao bit, consulte
Registrar 4-1.
TO: Watchdog Time-out Flag bit
Para mais detalhes sobre a operao bit, consulte
Registrar 4-1.
PD: Poder-Down Deteco Flag bit
Para mais detalhes sobre a operao bit, consulte
Registrar 4-1.
POR: Power-on reset bit Estado(2)
Para mais detalhes sobre a operao bit, consulte
Registrar 4-1.
BOR: Brown-out bit Estado Reiniciar
Para mais detalhes sobre a operao bit, consulte
Registrar 4-1.
Se SBOREN est habilitado, o seu estado de reset '1 ', caso contrrio, '0'. Veja Registre 4-1 para obter informaes
adicionais.
O valor real de Redefinir POR determinada pelo tipo de dispositivo de reset. Veja Registre 4-1 para obter
informao.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
2:
DS39632E pgina 110 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
9,7 INTX Interrupes Pin 9,8 TMR0 interrupo
Interrompe externas no RB0/AN12/INT0/FLT0/SDI /
SDA, RB1/AN10/INT1/SCK/SCL e RB2/AN8/INT2 /
VMO pinos so edge-triggered. Se o correspondente
INTEDGx bit no registo INTCON2 est definido (= 1), o
interrupo desencadeada por um flanco ascendente, se o bit
claro,
o gatilho est na margem de queda. Quando uma aresta vlido
aparece no pino Rbx / INTx, a bandeira correspondente
bit, INTxIF, est definido. Esta interrupo pode ser desabilitado
limpar o bit de habilitao correspondente, INTxIE. Bit Bandeira,
INTxIF, devem ser apuradas em software na interrupo
Rotina de servio antes de reativar a interrupo.
Todas as interrupes externas (INT0, INT1 e INT2) pode acordar-
o processador a partir dos modos de potncia gerenciados se
pouco,
INTxIE, foi criado antes de ir para o poder de gesto
modos. Se a interrupo global Habilitar bit, GIE, est definido, o
processador ir desviar para o vetor de interrupo seguinte
wake-up.
Interromper prioridade para INT1 e INT2 determinada pela
o valor contido nos bits de prioridade de interrupo,
INT1IP (INTCON3 <6>) e INT2IP (INTCON3 <7>).
No h pouco prioridade associado com INT0.
sempre uma fonte de interrupo de alta prioridade.
No modo de 8 bits (que o padro), um estouro no
TMR0 registo (FFh 00h) ir definir bit bandeira, TMR0IF. Em
Modo de 16 bits, um estouro no TMR0H: TMR0L regis-
ter par (FFFFh 0000h) ir definir TMR0IF. A interrupo
pode ser ativado / desativado atravs da criao / limpar bit enable,
TMR0IE (INTCON <5>). Interromper prioridade para Timer0
determinada pelo valor contido na interrupo
bit prioridade, TMR0IP (INTCON2 <2>). Ver Seo 11.0
"Timer0 Module" para mais detalhes sobre o Timer0
mdulo.
9,9 PORTB Interrupo-on-Change
Uma mudana de entrada no PORTB <07:04> sets bit bandeira,
RBIF
(INTCON <0>). A interrupo pode ser ativado / desativado
definindo / limpar bit enable, RBIE (INTCON <3>).
Prioridade de interrupo para PORTB interrupt-on-a mudana
determinada pelo valor contido na interrupo
bit prioridade, RBIP (INTCON2 <0>).
9.10 Saving contexto Durante Interrupes
Durante as interrupes, o endereo PC retorno guardado em
a pilha. Alm disso, o WREG, STATUS e BSR
registradores so salvos na pilha de retorno rpido. Se um rpido
retornar da interrupo no utilizado (ver Seo 5.3
"Organizao da memria de dados"), o utilizador pode necessitar
salvar os WREG, status e BSR registros de entrada
para a rotina de servio de interrupo. Dependendo do
aplicao do usurio, outros registros tambm pode precisar de ser
salvos. Exemplo 9-1 salva e restaura o WREG,
STATUS e BSR registros durante uma interrupo de servio
Rotina.
Exemplo 9-1: ECONOMIA DE STATUS, WREG E BSR registros na RAM
, W_TEMP banco virtual
; STATUS_TEMP localizado em qualquer
lugar
; BSR_TMEP localizado em qualquer lugar
MOVWFW_TEMP
MOVFFSTATUS, STATUS_TEMP
MOVFFBSR, BSR_TEMP
;
, O usurio ISR CODE
;
MOVFFBSR_TEMP, BSR
MOVFW_TEMP, W
MOVFFSTATUS_TEMP, STATUS
, Restore BSR
, Restore WREG
, Restaurao STATUS
v 2009 Microchip Technology Inc. DS39632E pgina 111
PIC18F2455/2550/4455/4550
NOTAS:
DS39632E pgina 112 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
10.0 Portas I / O
Dependendo do equipamento seleccionado e as caractersticas
habilitado, h at cinco portas disponveis. Alguns pinos
das portas de E / S so multiplexados com um suplente
funo das caractersticas do dispositivo perifrico. Em
Geralmente, quando um perifrico habilitado, que o pino no pode
ser utilizado como um objectivo pino de I / O em geral.
Cada porto tem trs registros para o seu funcionamento. Estes
registros so:
TRIS registo (registo direo de dados)
PORT registo (l os nveis sobre os pinos do
dispositivo)
LAT registo (trava sada)
A trava registo de dados (LATA) til para leitura
modificar-escrever operaes sobre o valor impulsionado pela I / O
dos pinos.
Um modelo simplificado de uma porta I / O genrico, sem
interfaces com outros perifricos, mostrado na Figura 10-1.
Lendo o registo PORTA l o estado da
pins, escrita para ela vai escrever para o trinco da porta.
A trava registo de dados (LATA) tambm a memria
mapeados. Ler-modificar-escrever operaes na LATA
registrar ler e escrever o valor de sada fechada para
PORTA.
O pino RA4 multiplexada com o mdulo Timer0
entrada de relgio para se tornar o pino RA4/T0CKI. O pino RA6
multiplexado com o pino do oscilador principal, que habilitado
como uma pin oscilador ou I / O com a seleo dos principais
oscilador em Configurao Register 1H (ver
Seo 25.1 "Bits de Configurao" para mais detalhes). Quando
no usado como um pino da porta, RA6 e seus associados TRIS
LAT e os bits so lidos como '0 '.
RA4 tambm multiplexada com o mdulo USB, que serve
como uma entrada a partir de um receptor do transceptor USB
externo.
Para obter detalhes sobre a configurao do mdulo USB, consulte
Seo 17.2 "Situao e Controle USB".
Vrios pinos PORTA so multiplexados com entradas analgicas,
o anlogo VREF + e VREF-entradas eo comparador
sada de tenso de referncia. A operao de pinos RA5
e RA3: RA0 como A / D entradas dos conversores selecionada por
limpar / definir os bits de controle no registro ADCON1
(A / D Controle Register 1).
Nota:
D
CK
Dados Trava
D
WR TRIS
CK
TRIS Latch
Entrada
Tampo
Q
Q
Pino de I / O(1)
Figura 10-1: GENRICO I / O PORT
OPERAO
RD LAT
Dados
nibus
WR LAT
ou PORT
Em um Power-on Reset, RA5 e RA3: RA0
so configurados como entradas analgicas e ler
como '0 '. RA4 configurado como uma entrada digital.
Todos os outros pinos de PORTA tem nveis de entrada TTL e
completos
Drivers de sada CMOS.
O registo TRISA controla a direo da RA
pins, mesmo quando eles esto sendo usados como entradas
analgicas.
O usurio deve assegurar que os bits no registrador TRISA so
mantido definido quando us-los como entradas analgicas.
Exemplo 10-1:
CLRF ;
;
;
LATA;
;
;
0Fh;
ADCON1;
07h;
CMCON;
0CFh;
;
;
TRISA;
;
PORTA
INITIALIZING PORTA
Inicializar PORTA por
limpar sada
dados travas
Mtodo alternativo
para limpar a sada
dados travas
Configurar A / D
para as entradas digitais
Configurar comparadores
para entrada digital
Valor utilizado para
inicializar dados
direo
Set RA <03:00> como insumos
RA <05:04> como sadas
RD TRIS
Q D
PTPT
CLRF
RD PORT
Nota 1: Pinos de I / O tm proteo diodo para VDD e VSS.
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
10.1 PORTA, TRISA e LATA Registra
MOVWF
PORTA-se a 8 bits de largura de porta, bidirecional. O corre-
correspondente registo Direo de dados TRISA. A definio de
um
TRISA bit (= 1) vai fazer o pino correspondente PORTA
uma entrada (ou seja, colocar o driver de sada correspondente a
modo de alta impedncia). Limpando um pouco TRISA (= 0)
vontade
fazer o pino correspondente PORTA uma sada (ou seja, colocar
o contedo do trinco de sada no pino seleccionado).
v 2009 Microchip Technology Inc. DS39632E pgina 113
PIC18F2455/2550/4455/4550
TABELA 10-1:
Pin
RA0/AN0
RESUMO PORTA I / O
Funo
RA0
AN0
TRIS
Fixao
0
1
1
0
1
AN1 1
0
1
AN2
VREF-
CVREF
1
1
x
0
1
AN3
VREF +
1
1
0
1
T0CKI
C1OUT
VN
1
0
x
0
1
AN4
SS
HLVDIN
C2OUT
1
1
1
0
x
x
0
1
I / O
OUT
IN
IN
OUT
IN
IN
OUT
IN
IN
IN
OUT
OUT
IN
IN
IN
OUT
IN
IN
OUT
IN
OUT
IN
IN
IN
IN
OUT
OUT
OUT
OUT
IN
I / O Tipo
DIG
TTL
ANA
DIG
TTL
ANA
DIG
TTL
ANA
ANA
ANA
DIG
TTL
ANA
ANA
DIG
ST
ST
DIG
TTL
DIG
TTL
ANA
TTL
ANA
DIG
ANA
DIG
DIG
TTL
Descrio
LATA <0> sada de dados, no afetada pela entrada analgica.
PORTA <0> entrada de dados; desativado quando a entrada analgica
ativada.
A / D Canal de Entrada 0 e Comparador C1-entrada. Configurao padro
no POR, no afeta a sada digital.
LATA <1> sada de dados, no afetada pela entrada analgica.
PORTA <1> a entrada de dados; l '0 'POR.
A / D canal de entrada e um comparador C2-entrada. Configurao padro
no POR, no afeta a sada digital.
LATA <2> sada de dados, no afetada pela entrada analgica. Desativada quando
Sada CVREF habilitado.
PORTA <2> entrada de dados. Desativada quando as funes analgicas
habilitado;
desativada quando a sada CVREF habilitado.
A / D canal de entrada 2 e Comparador C2 + entrada. Configurao padro
no POR, no afetada pela sada analgica.
A referncia de baixa tenso de entrada / D e comparador.
Sada de tenso de referncia de comparao. A ativao desse recurso desabilita
digital de I / O.
LATA <3> sada de dados, no afetada pela entrada analgica.
PORTA <3> de entrada de dados; desativado quando a entrada analgica
ativada.
A / D canal de entrada 3 e Comparador C1 + entrada. Configurao padro
no POR.
A / D e comparador de entrada de alta tenso de referncia.
LATA <4> sada de dados, no afetada pela entrada analgica.
PORTA <4> entrada de dados; desativado quando a entrada analgica
ativada.
Timer0 entrada de clock.
Comparador uma sada, tem prioridade sobre dados da porta.
Entrada VN externo USB transceptor.
LATA <5> sada de dados, no afetada pela entrada analgica.
PORTA <5> entrada de dados; desativado quando a entrada analgica
ativada.
A / D Canal de Entrada 4. Configurao padro em POR.
Slave seleco de entrada para o mdulo MSSP.
High / Low-Voltage Detect entrada ponto de disparo externo.
Comparador 2 sada; tem prioridade sobre dados da porta.
Principal ligao de sada de realimentao do oscilador (todos os modos XT e SH).
Sada do sistema de ciclo de clock (FOSC / 4), disponvel no CE, ECPLL e
Modos INTCKO.
LATA <6> sada de dados. Disponvel apenas na ECIO, ECPIO e intio
modos, caso contrrio, diz o '0 '.
PORTA <6> entrada de dados. Disponvel apenas na ECIO, ECPIO e intio
modos, caso contrrio, diz o '0 '.
RA1/AN1 RA1
RA2/AN2 /
VREF-/CVREF
RA2
RA3/AN3 /
VREF +
RA3
RA4/T0CKI /
C1OUT/RCV
RA4
RA5/AN4/SS /
HLVDIN/C2OUT
RA5
OSC2/CLKO /
RA6
OSC2
CLKO
RA6
Legenda: OUT = Sada, IN = Entrada, ANA = sinal analgico, DIG = Sada Digital, ST = Schmitt entrada tampo,
TTL = TTL de entrada tampo, x= No me importo (TRIS bit no afeta direo porto ou substitudo para esta opo)
DS39632E pgina 114 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 10-2:
Nome
PORTA
LATA
TRISA
ADCON1
CMCON
CVRCON
UCON
RESUMO DE REGISTROS ASSOCIADOS COM PORTA
Bit 7
-
-
-
-
C2OUT
CVREN
-
Bit 6
RA6(1)
LATA6(1)
TRISA6(1)
-
C1OUT
CVROE
PPBRST
Bit 5
RA5
LATA5
TRISA5
VCFG1
C2INV
CVRR
SE0
Bit 4
RA4
LATA4
TRISA4
VCFG0
C1INV
CVRSS
PKTDIS
Bit 3
RA3
LATA3
TRISA3
PCFG3
CIS
CVR3
USBEN
Bit 2
RA2
LATA2
TRISA2
PCFG2
CM2
CVR2
O bit 1
RA1
LATA1
TRISA1
PCFG1
CM1
RCV1
Bit 0
RA0
LATA0
TRISA0
PCFG0
CM0
CVR0
-
Restabelecer
Valores
na pgina
56
56
56
54
55
55
57 RESUMO SUSPND
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados pela PORTA.
Nota 1: RA6 e sua trava de direo associada e os bits de dados so ativados como pinos de I / O baseado em oscilador
configurao, caso contrrio, eles so lidos como '0 '.
v 2009 Microchip Technology Inc. DS39632E pgina 115
PIC18F2455/2550/4455/4550
10.2 PORTB, TRISB e LATB
Registra
A condio de incompatibilidade continuar a fixar bit bandeira,
RBIF.
PORTB leitura vai acabar com a condio de incompatibilidade e
permitir bit bandeira, RBIF, a ser apuradas aps um atraso de uma
TCY.
O recurso interrupt-on-change recomendado para
wake-up em operao depresso chave e operaes
PORTB onde utilizada apenas para a interrupo em relao ao
mudana
caracterstica. Polling de PORTB no recomendado durante a
usando o recurso de interrupt-on-mudana.
Pins, RB2 e RB3, so multiplexados com o USB
perifrico e servem como as sadas de sinais diferenciais
para um transceptor USB externo (configurao TRIS).
Consulte Seo 17.2.2.2 "transceptor externo" para
obter informaes adicionais sobre como configurar o mdulo USB
para operao com um transceptor externo.
RB4 multiplexado com CSSPP, o chip selecionar
funo para a Transmisso de porta paralela (SPP) - TRIS
criao. Detalhes da sua operao so discutidos
Seo 18,0 "streaming de porta paralela".
PORTB um 8-bit de largura da porta, bidirecional. O corre-
correspondente registo Direo de dados TRISB. A definio de
um
TRISB bit (= 1) far com que o PORTB correspondente
fixar uma entrada (ou seja, colocar o driver de sada correspondente
na
um modo de alta impedncia). Limpando um pouco TRISB (= 0)
far com que o pino correspondente PORTB uma sada (isto ,
colocar o contedo do trinco de sada no pino seleccionado).
A trava registo de dados (LATB) tambm a memria
mapeados. Ler-modificar-escrever operaes no LATB
registrar ler e escrever o valor de sada fechada para
PORTB.
Cada um dos pinos PORTB interna tem uma fraco de pull-up. A
nico bit de controle pode ligar todas as flexes. Isto
realizada por limpar bit, RBPU (INTCON2 <7>). O
fraco pull-up desligado automaticamente quando a porta
pino configurado como uma sada. O pull-ups so
desativada em um Power-on Reset.
Nota: Em um Power-on Reset, RB4: RB0 so
configurados como entradas analgicas por padro e
lido como '0 '; RB7: RB5 so configurados como
entradas digitais.
Programando o bit de configurao,
PBADEN (CONFIG3H <1>), RB4: RB0 vontade
alternativamente, ser configurado como entradas
digitais
no POR.
Quatro dos pinos PORTB (RB7: RB4) tem uma interrupo-
na mudana de funo. Apenas os pinos configurados como
entradas podem
causar esta interrupo ocorrer. Qualquer RB7: RB4 pin
configurado como uma sada excludo da interrupo-
comparao on-mudana. Os pinos so comparados com
o valor antigo travado na ltima leitura de PORTB. O
"Incompatibilidade" sadas do RB7: RB4 so ORed juntos para
gerar o RB Porto Mudana de interrupo com pouco Bandeira,
RBIF (INTCON <0>).
A interrupo em relao ao alterao pode ser usado para activar o
dispositivo de sono. O usurio, no Servio de Interrupo
Rotina, pode limpar a interrupo da seguinte forma:
um) Qualquer leitura ou gravao de PORTB (exceto com o
MOVFF (qualquer), PORTB instruo). Isso vai
acabar com a condio de incompatibilidade.
Espere um atraso TCY (por exemplo, executar um
NOP instruo).
Limpar bit bandeira, RBIF
Exemplo 10-2:
CLRF ;
;
;
LATB;
;
;
0Eh;
ADCON1;
;
;
0CFh;
;
;
TRISB;
;
;
PORTB
INITIALIZING PORTB
Inicializar PORTB por
limpar sada
dados travas
Mtodo alternativo
para limpar a sada
dados travas
Set RB <04:00> como
pinos de E / S digital
(Obrigatrio se o bit de
configurao
PBADEN est definido)
Valor utilizado para
inicializar dados
direo
Set RB <03:00> como insumos
RB <05:04> como sadas
RB <07:06> como insumos
CLRF
MOVLW
MOVWF
MOVLW
MOVWF
b)
c)
DS39632E pgina 116 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 10-3:
Pin
RB0/AN12 /
INT0/FLT0 /
SDI / SDA
RESUMO PORTB I / O
Funo
RB0
TRIS
Fixao
0
1
AN12
INT0
FLT0
SDI
SDA
1
1
1
1
1
1
0
1
AN10
INT1
SCK
SCL
1
1
0
1
0
1
0
1
AN8
INT2
VMO
1
1
0
0
1
AN9
CCP2(2)
VPO
1
0
1
0
0
1
AN11
KBI0
CSSPP
(4)
I / O
OUT
IN
IN
IN
IN
IN
OUT
IN
OUT
IN
IN
IN
OUT
IN
OUT
IN
OUT
IN
IN
IN
OUT
OUT
IN
IN
OUT
IN
OUT
OUT
IN
IN
IN
OUT
OUT
IN
IN
IN
I / O Tipo
DIG
TTL
ANA
ST
ST
ST
DIG
DIG
TTL
ANA
ST
DIG
ST
DIG
DIG
TTL
ANA
ST
DIG
DIG
TTL
ANA
DIG
ST
DIG
DIG
TTL
ANA
TTL
DIG
DIG
TTL
TTL
ST
Descrio
LATB <0> sada de dados, no afetada pela entrada analgica.
PORTB <0> entrada de dados; fraco pull-up quando RBPU bit est desmarcada.
Desativada quando a entrada analgica ativada.(1)
A / D canal de entrada 12.(1)
External Interrupt 0 entrada.
Entrada de falha maior PWM (ECCP1 mdulo); habilitado software.
Dados de entrada SPI (mdulo MSSP).
Sada I2C dados (mdulo MSSP), tem prioridade sobre dados da porta.
LATB <1> sada de dados, no afetada pela entrada analgica.
PORTB <1> entrada de dados; fraco pull-up quando RBPU bit est desmarcada.
Desativada quando a entrada analgica ativada.(1)
A / D canal de entrada 10.(1)
1 entrada de interrupo externa.
Sada de relgio SPI (mdulo MSSP); tem prioridade sobre dados da porta.
Relgio de entrada SPI (mdulo MSSP).
Sada de relgio I2C (mdulo MSSP); tem prioridade sobre dados da porta.
LATB <2> sada de dados, no afetada pela entrada analgica.
PORTB <2> entrada de dados; fraco pull-up quando RBPU bit est desmarcada.
Desativada quando a entrada analgica ativada.(1)
A / D de 8 canais de entrada.(1)
2 entradas de interrupo externa.
Sada externa USB transceiver VMO dados.
LATB <3> sada de dados, no afetada pela entrada analgica.
PORTB <3> de entrada de dados; fraco pull-up quando RBPU bit est
desmarcada.
Desativada quando a entrada analgica ativada.(1)
A / D Input Channel 9.(1)
CCP2 comparar e sada PWM.
CCP2 entrada de captura.
Sada externa USB transceiver VPO dados.
LATB <4> sada de dados, no afetada pela entrada analgica.
PORTB <4> entrada de dados; fraco pull-up quando RBPU bit est desmarcada.
Desativada quando a entrada analgica ativada.(1)
A / D canal de entrada 11.(1)
Mudana interrupt-on-pin.
SPP sada de controle select chip.
LATB <5> sada de dados.
PORTB <5> entrada de dados; fraco pull-up quando RBPU bit est desmarcada.
Mudana interrupt-on-pin.
Entrada do modo de programao mono-alimentao (ICSP ). Ativado por LVP
Bit de configurao, todas as outras funes pin desativado.
I2C/SMB entrada de dados I2C (mdulo MSSP); tipo de entrada depende da definio de mdulo.
RB1/AN10 /
INT1/SCK /
SCL
RB1
Entrada de clock I2C I2C/SMB (mdulo MSSP); tipo de entrada depende da definio de mdulo.
RB2/AN8 /
INT2/VMO
RB2
RB3/AN9 /
CCP2/VPO
RB3
RB4/AN11 /
KBI0/CSSPP
RB4
1
1
0
0
1
1
x
RB5/KBI1 /
PGM
RB5
KBI1
PGM
Legenda:
Nota 1:
2:
3:
4:
OUT = Sada, IN = Entrada, ANA = sinal analgico, DIG = Sada Digital, ST = Schmitt entrada tampo,
I2C/SMB = buffer de entrada I2C/SMBUS, TTL TTL = buffer de entrada x= No me importo (TRIS bit no afeta direo porto ou
substitudo para esta opo)
Configurao em POR determinado pelo PBADEN bit de configurao. Os pinos so configurados como entradas analgicas, quando
PBADEN est definido e entradas digitais quando PBADEN est desmarcada.
Pinagem alternativa para CCP2 quando CCP2MX = 0. Atribuio padro RC1.
Todas as outras funes so desativadas quando pinos ICSP ou operao ICD est habilitado.
Apenas dispositivos 40/44-pin.
v 2009 Microchip Technology Inc. DS39632E pgina 117
PIC18F2455/2550/4455/4550
TABELA 10-3:
Pin
RB6/KBI2 /
PGC
PORTB I / O RESUMO (CONTINUAO)
Funo
RB6
KBI2
PGC
TRIS
Fixao
0
1
1
x
0
1
KBI3
PGD
1
x
x
I / O
OUT
IN
IN
IN
OUT
IN
IN
OUT
IN
I / O Tipo
DIG
TTL
TTL
ST
DIG
TTL
TTL
DIG
ST
LATB <6> sada de dados.
PORTB <6> entrada de dados; fraco pull-up quando RBPU bit est desmarcada.
Mudana interrupt-on-pin.
Execuo serial (ICSP ) entrada de clock para ICSP e operao ICD.(3)
LATB <7> sada de dados.
PORTB <7> entrada de dados; fraco pull-up quando RBPU bit est desmarcada.
Mudana interrupt-on-pin.
Sada de dados de execuo serial para ICSP e operao ICD.(3)
Entrada de dados para execuo serial ICSP e operao ICD.(3)
Descrio
RB7/KBI3 /
PGD
RB7
Legenda:
Nota 1:
2:
3:
4:
OUT = Sada, IN = Entrada, ANA = sinal analgico, DIG = Sada Digital, ST = Schmitt entrada tampo,
I2C/SMB = buffer de entrada I2C/SMBUS, TTL TTL = buffer de entrada x= No me importo (TRIS bit no afeta direo porto ou
substitudo para esta opo)
Configurao em POR determinado pelo PBADEN bit de configurao. Os pinos so configurados como entradas analgicas, quando
PBADEN est definido e entradas digitais quando PBADEN est desmarcada.
Pinagem alternativa para CCP2 quando CCP2MX = 0. Atribuio padro RC1.
Todas as outras funes so desativadas quando pinos ICSP ou operao ICD est habilitado.
Apenas dispositivos 40/44-pin.
TABELA 10-4:
Nome
PORTB
LATB
TRISB
INTCON
INTCON2
INTCON3
ADCON1
SPPCON(1)
SPPCFG(1)
UCON
RESUMO DE REGISTROS ASSOCIADOS PORTB
Bit 7
RB7
LATB7
TRISB7
RBPU
INT2IP
-
-
-
Bit 6
RB6
LATB6
TRISB6
Bit 5
RB5
LATB5
TRISB5
TMR0IE
-
VCFG1
-
CSEN
SE0
Bit 4
RB4
LATB4
TRISB4
INT0IE
INT2IE
VCFG0
-
CLK1EN
PKTDIS
Bit 3
RB3
LATB3
TRISB3
RBIE
-
INT1IE
PCFG3
-
WS3
USBEN
Bit 2
RB2
LATB2
TRISB2
TMR0IF
TMR0IP
-
PCFG2
-
WS2
O bit 1
RB1
LATB1
TRISB1
INT0IF
-
INT2IF
PCFG1
SPPOWN
WS1
Bit 0
RB0
LATB0
TRISB0
RBIF
RBIP
INT1IF
PCFG0
SPPEN
WS0
-
Restabelecer
Valores
na pgina
56
56
56
53
53
53
54
57
57
57
GIE / GIEH PEIE / giel
INT1IP
-
-
PPBRST
INTEDG0 INTEDG1 INTEDG2
CLKCFG1 CLKCFG0
RESUMO SUSPND
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados por PORTB.
Nota 1: Estes registos so no implementado em dispositivos de 28 pinos.
DS39632E pgina 118 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
10.3 PORTC, TRISC e LATC
Registra
Ao ativar funes perifricas nos pinos PORTC
diferente RC4 e RC5, cuidados devem ser tomados em defin-
o os bits TRIS. Alguns perifricos substituir o TRIS
pouco para fazer um pino uma sada, enquanto outros perifricos
substituir o bit TRIS para fazer um pino uma entrada. O utilizador
deve consultar a seo perifrica correspondente para
as configuraes de bit TRIS correctas.
Nota: Em um Power-on Reset, estes pinos, exceto
RC4 e RC5, so configurados como digitais
insumos. Para usar pinos RC4 e RC5 quanto
entradas digitais, o mdulo deve estar USB
desativada (UCON <3> = 0) e em chip
USB transceptor deve ser desativado
(UCFG <3> = 1).
PORTC um 7-bit de largura da porta, bidirecional. O corre-
correspondente registo Direo de dados TRISC. A definio de
um
TRISC bit (= 1) far com que o PORTC correspondente
fixar uma entrada (ou seja, colocar o driver de sada correspondente
na
um modo de alta impedncia). Limpando um pouco TRISC (= 0)
far com que o pino correspondente PORTC uma sada (isto ,
colocar o contedo do trinco de sada no pino seleccionado).
O pino RC3 no est implementada nestes dispositivos.
A trava registo de dados (LATC) tambm memria
mapeados. Ler-modificar-escrever operaes no LATC
registrar ler e escrever o valor de sada fechada para
PORTC.
PORTC multiplexada principalmente com comunicao serial
mdulos o, incluindo a EUSART, mdulo MSSP
eo mdulo USB (Tabela 10-5). Exceto para RC4 e
RC5, PORTC usa Schmitt buffers de entrada de disparo.
Pinos RC4 e RC5 so multiplexados com o USB
mdulo. Dependendo da configurao do mdulo,
eles podem servir como linhas de dados diferenciais para o on-
Chip USB transceiver, ou as entradas de dados a partir de um
USB externo transceptor. Ambos RC4 e RC5 tem
Buffers de entrada TTL em vez dos amortecedores Schmitt Trigger
sobre os outros pinos.
Ao contrrio de outros pinos PORTC, RC4 e RC5 no tem
Pedaos TRISC que lhes esto associados. Como portas digitais,
eles
s pode funcionar como entradas digitais. Quando configurado para
Funcionamento USB, a direo de dados determinado pela
configurao e estado do mdulo de USB a uma dada
tempo. Se um receptor externo for utilizado, RC4 e RC5
sempre funcionam como entradas do transceptor. Se o
on-chip transceptor usada, a direco de dados est
determinado pela operao a ser realizada pelo
mdulo naquele momento.
Quando o transceptor externo ativado, RC2 tambm
serve como a sada de controlo para permitir que o transceptor.
Informaes adicionais sobre como configurar as opes de USB
fornecida nas Seo 17.2.2.2 "transceptor externo".
O contedo do registo TRISC so afetados por
substituies perifricos. Reading TRISC sempre retorna
o contedo atual, apesar de um dispositivo perifrico
Pode ser reconhecido um ou mais dos pinos.
Exemplo 10-3:
CLRF PORTC ;
;
;
;
;
;
;
;
;
;
;
INITIALIZING PORTC
Inicializar PORTC por
limpar sada
dados travas
Mtodo alternativo
para limpar a sada
dados travas
Valor utilizado para
inicializar dados
direo
RC <05:00> como sadas
RC <07:06> como insumos
CLRF LATC
MOVLW 07h
MOVWF TRISC
v 2009 Microchip Technology Inc. DS39632E pgina 119
PIC18F2455/2550/4455/4550
TABELA 10-5:
Pin
RC0/T1OSO /
T13CKI
RESUMO PORTC I / O
Funo
RC0
T1OSO
T13CKI
TRIS
Fixao
0
1
x
1
0
1
T1OSI
CCP2(1)
UOE
x
0
1
0
0
1
CCP1
P1A(3)
0
1
0
I / O
OUT
IN
OUT
IN
OUT
IN
IN
OUT
IN
OUT
OUT
IN
OUT
IN
OUT
I / O Tipo
DIG
ST
ANA
ST
DIG
ST
ANA
DIG
ST
DIG
DIG
ST
DIG
ST
DIG
LATC <0> sada de dados.
PORTC <0> entrada de dados.
Timer1 sada do oscilador; ativado quando Timer1 oscilador habilitado.
Desativa digitais I / O.
Timer1/Timer3 contador de entrada.
LATC <1> sada de dados.
PORTC <1> entrada de dados.
Timer1 entrada do oscilador; ativado quando Timer1 oscilador habilitado.
Desativa digitais I / O.
CCP2 comparar e sada PWM, tem prioridade sobre dados da porta.
CCP2 entrada de captura.
Sada externa USB transceiver OE.
LATC <2> sada de dados.
PORTC <2> entrada de dados.
ECCP1 comparar e sada PWM, tem prioridade sobre dados da porta.
ECCP1 entrada de captura.
Sada ECCP1 avanado PWM, Canal A; tem prioridade sobre porto
dados. Pode ser configurado para tri-state durante avanado PWM desligamento
eventos.
PORTC <4> entrada de dados; desativado quando o mdulo USB ou on-chip
transceptor esto habilitados.
Diferencial de barramento USB menos sada de linha (transceiver interno).
Diferencial de barramento USB menos entrada de linha (transceiver
interno).
VM entrada USB externo transceptor.
PORTC <5> entrada de dados; desativado quando o mdulo USB ou on-chip
transceptor esto habilitados.
Diferencial do barramento USB, mais sada de linha (transceiver interno).
Entrada diferencial alm de linha de nibus USB (transceiver interno).
VP entrada USB externo transceptor.
LATC <6> sada de dados.
PORTC <6> entrada de dados.
Asynchronous srie transmitir dados de sada (mdulo EUSART); leva
prioridade sobre os dados da porta. O usurio deve configurar como sada.
Sada de relgio serial sncrona (mdulo EUSART); tem prioridade
sobre dados da porta.
Entrada de clock serial sncrona (mdulo EUSART).
Descrio
RC1/T1OSI /
CCP2/UOE
RC1
RC2/CCP1 /
P1A
RC2
RC4/D-/VM RC4
D-
VM
-(2)
-(2)
-(2)
-(2)
-(2)
-(2)
-
(2)
IN
OUT
IN
IN
IN
OUT
IN
IN
OUT
IN
OUT
OUT
IN
TTL
XCVR
XCVR
TTL
TTL
XCVR
XCVR
TTL
DIG
ST
DIG
DIG
ST
RC5 / D + / VP RC5
D +
VP
-(2)
0
1
0
0
1
RC6/TX/CK RC6
TX
CK
Legenda:
Nota 1:
2:
3:
OUT = Sada, IN = Entrada, ANA = sinal analgico, DIG = Sada Digital, ST = Schmitt entrada tampo,
TTL = TTL de entrada tampo, XCVR = USB transceptor, x= No me importo (TRIS bit no afeta direo porto ou substitudo
para esta opo)
Pinagem padro. Pinagem alternativa RB3 (quando CCP2MX = 0).
RC4 e RC5 no tm correspondentes pedaos TRISC. No modo do Porto, estes pinos so apenas de entrada. Direo de dados USB
determinada pela configurao USB.
Apenas dispositivos 40/44-pin.
DS39632E pgina 120 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 10-5:
Pin
RC7/RX/DT /
SDO
PORTC I / O RESUMO (CONTINUAO)
Funo
RC7
RX
DT
TRIS
Fixao
0
1
1
1
1
SDO 0
I / O
OUT
IN
IN
OUT
IN
OUT
I / O Tipo
DIG
ST
ST
DIG
ST
DIG
LATC <7> sada de dados.
PORTC <7> entrada de dados.
Srie assncrona receber dados de entrada (mdulo EUSART).
Synchronous sada de dados serial (mdulo EUSART); tem prioridade sobre
SPI e porta de dados.
Synchronous entrada de dados serial (mdulo EUSART). O usurio deve
configurar como entrada.
Sada de dados SPI (mdulo MSSP), tem prioridade sobre dados da porta.
Descrio
Legenda:
Nota 1:
2:
3:
OUT = Sada, IN = Entrada, ANA = sinal analgico, DIG = Sada Digital, ST = Schmitt entrada tampo,
TTL = TTL de entrada tampo, XCVR = USB transceptor, x= No me importo (TRIS bit no afeta direo porto ou substitudo
para esta opo)
Pinagem padro. Pinagem alternativa RB3 (quando CCP2MX = 0).
RC4 e RC5 no tm correspondentes pedaos TRISC. No modo do Porto, estes pinos so apenas de entrada. Direo de dados USB
determinada pela configurao USB.
Apenas dispositivos 40/44-pin.
TABELA 10-6:
Nome
PORTC
LATC
TRISC
UCON
RESUMO DE REGISTROS ASSOCIADOS PORTC
Bit 7
RC7
LATC7
TRISC7
-
Bit 6
RC6
LATC6
TRISC6
PPBRST
Bit 5
RC5(1)
-
-
SE0
Bit 4
RC4(1)
-
-
PKTDIS
Bit 3
-
-
-
USBEN
Bit 2
RC2
LATC2
TRISC2
O bit 1
RC1
LATC1
TRISC1
Bit 0
RC0
LATC0
TRISC0
-
Restabelecer
Valores
na pgina
56
56
56
57 RESUMO SUSPND
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados por PORTC.
Nota 1: RC4 RC5 e s esto disponveis como pinos da porta quando o mdulo USB desativado (UCON <3> = 0).
v 2009 Microchip Technology Inc. DS39632E pgina 121
PIC18F2455/2550/4455/4550
10.4
Nota:
PORTD, TRISD e LATD
Registra
PORTD s est disponvel em 40/44-pin
dispositivos.
PORTD tambm pode ser configurada como uma de 8 bits
Transmisso de porta paralela (SPP). Neste modo, a entrada
buffers so TTL. Para obter informaes adicionais sobre con-
figurao e utilizao do SPP, consulte Seo 18,0
"Transmisso da porta paralela".
Nota: Quando o modo PWM avanado usado
tanto com sadas duplas ou quad, o MSSP
funes do PORTD so automaticamente
desativada.
PORTD um 8-bit de largura da porta, bidirecional. O corre-
correspondente registo Direo de dados TRISD. A definio de
um
Bit TRISD (= 1) far com que o PORTD correspondente
fixar uma entrada (ou seja, colocar o driver de sada correspondente
na
um modo de alta impedncia). Limpando um pouco TRISD (= 0)
far com que o pino correspondente PORTD uma sada (isto ,
colocar o contedo do trinco de sada no pino seleccionado).
A trava registo de dados (LATD) tambm a memria
mapeados. Ler-modificar-escrever operaes no LATD
registrar ler e escrever o valor de sada fechada para
PORTD.
Todos os pinos do PORTD so implementadas com Schmitt
Desencadear buffers de entrada. Cada pino individualmente
configurveis como entrada ou sada.
Cada um dos pinos PORTD interna tem uma fraco de pull-up. A
nico bit de controle, RDPU (PORTE <7>), pode se transformar em
tudo
o pull-ups. Isto realizado atravs da criao RDPU. O
fraco pull-up desligado automaticamente quando a porta
pino configurado como uma sada digital ou como um dos
outros perifricos multiplexados. O pull-ups so
desativada em um Power-on Reset. O registo PORTE
mostrado na Seo 10.5 "PORTE, TRISE e LATE
Registros ".
Trs dos pinos PORTD so multiplexados com sadas,
P1B, P1C e P1D, do mdulo CCP avanado. O
funcionamento destes pinos adicionais de sada de PWM est
coberto com mais pormenor na Seo 16.0 "Enhanced
Capture / Compare / PWM (PEAC) Module ".
Nota: Em um Power-on Reset, estes pinos so
configurados como entradas digitais.
Exemplo 10-4:
CLRF PORTD ;
;
;
;
;
;
;
;
;
;
;
;
INITIALIZING PORTD
Inicializar PORTD por
limpar sada
dados travas
Mtodo alternativo
para limpar a sada
dados travas
Valor utilizado para
inicializar dados
direo
Set RD <03:00> como insumos
RD <05:04> como sadas
RD <07:06> como insumos
CLRF LATD
MOVLW 0CFh
MOVWF TRISD
DS39632E pgina 122 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 10-7:
Pin
RD0/SPP0
PORTD RESUMO I / O
Funo
RD0
SPP0
TRIS
Fixao
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
I / O
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
OUT
IN
OUT
IN
OUT
OUT
IN
OUT
IN
OUT
I / O Tipo
DIG
ST
DIG
TTL
DIG
ST
DIG
TTL
DIG
ST
DIG
TTL
DIG
ST
DIG
TTL
DIG
ST
DIG
TTL
DIG
ST
DIG
TTL
DIG
DIG
ST
DIG
TTL
DIG
DIG
ST
DIG
TTL
DIG
LATD <0> sada de dados.
PORTD <0> entrada de dados.
Descrio
SPP <0> dados de sada, tem prioridade sobre dados da porta.
SPP <0> dados de entrada.
LATD <1> sada de dados.
PORTD <1> entrada de dados.
SPP <1> dados de sada, tem prioridade sobre dados da porta.
SPP <1> dados de entrada.
LATD <2> sada de dados.
PORTD <2> entrada de dados.
SPP <2> dados de sada, tem prioridade sobre dados da porta.
SPP <2> dados de entrada.
LATD <3> sada de dados.
PORTD <3> de entrada de dados.
SPP <3> dados de sada, tem prioridade sobre dados da porta.
SPP <3> dados de entrada.
LATD <4> sada de dados.
PORTD <4> entrada de dados.
SPP <4> dados de sada, tem prioridade sobre dados da porta.
SPP <4> dados de entrada.
LATD <5> sada de dados
PORTD <5> entrada de dados
SPP <5> dados de sada, tem prioridade sobre dados da porta.
SPP <5> dados de entrada.
ECCP1 sada PWM avanado, Channel B; tem prioridade sobre
dados da porta e SPP.(1)
LATD <6> sada de dados.
PORTD <6> entrada de dados.
SPP <6> dados de sada, tem prioridade sobre dados da porta.
SPP <6> dados de entrada.
ECCP1 sada PWM avanado, Canal C; tem prioridade sobre
dados da porta e SPP.(1)
LATD <7> sada de dados.
PORTD <7> entrada de dados.
SPP <7> dados de sada, tem prioridade sobre dados da porta.
SPP <7> dados de entrada.
ECCP1 sada PWM avanado, Canal D; tem prioridade sobre
dados da porta e SPP.(1)
RD1/SPP1 RD1
SPP1
RD2/SPP2 RD2
SPP2
RD3/SPP3 RD3
SPP3
RD4/SPP4 RD4
SPP4
RD5/SPP5/P1B RD5
SPP5
P1B
RD6/SPP6/P1C RD6
SPP6
P1C
RD7/SPP7/P1D RD7
SPP7
P1D
Legenda:
Nota 1:
OUT = Sada, IN = Entrada, DIG = Sada Digital, ST = Schmitt buffer de entrada TTL = TTL Input buffer
Pode ser configurado para tri-state durante aprimorados PWM eventos de desligamento.
v 2009 Microchip Technology Inc. DS39632E pgina 123
PIC18F2455/2550/4455/4550
TABELA 10-8:
Nome
PORTD(3)
LATD(3)
TRISD(3)
PORTE
CCP1CON
SPPCON(3)
RESUMO DE REGISTROS ASSOCIADOS PORTD
Bit 7
RD7
LATD7
TRISD7
RDPU(3)
P1M1
-
(3)
Bit 6
RD6
LATD6
TRISD6
-
P1M0(3)
-
Bit 5
RD5
LATD5
TRISD5
-
DC1B1
-
Bit 4
RD4
LATD4
TRISD4
-
DC1B0
-
Bit 3
RD3
LATD3
TRISD3
RE3(1,2)
CCP1M3
-
Bit 2
RD2
LATD2
TRISD2
RE2(3)
CCP1M2
-
O bit 1
RD1
LATD1
TRISD1
RE1(3)
CCP1M1
SPPOWN
Bit 0
RD0
LATD0
TRISD0
RE0(3)
CCP1M0
SPPEN
Restabelecer
Valores
na pgina
56
56
56
56
55
57
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados por PORTD.
Nota 1: Implementado somente quando Master Clear funcionalidade desativada (bit Configurao MCLRE = 0).
2: RE3 o nico bit PORTE implementado em ambos os 28 pinos e dispositivos 40/44-pin. Todos os outros bits so
implementado somente quando PORTE implementado (ou seja, dispositivos 40/44-pin).
3: Estes registos e / ou bits so no implementado em dispositivos de 28 pinos.
DS39632E pgina 124 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
10.5 PORTE, TRISE e LATE
Registra
Consoante o especial PIC18F2455/2550/4455 /
4550 dispositivo selecionado, PORTE implementado em duas
maneiras diferentes.
Para dispositivos 40/44-pin, PORTE uma porta de largura de 4
bits.
Trs pinos (RE0/AN5/CK1SPP, RE1/AN6/CK2SPP
e RE2/AN7/OESPP) so configurveis individualmente como
entradas ou sadas. Estes pinos tm Schmitt
buffers de entrada. Quando selecionado como uma entrada
analgica, estes
pins vai ler como '0 's.
O correspondente registo Direo de dados TRISE.
Definindo um pouco TRISE (= 1) far com que o correspondente
PORTE pino uma entrada (ou seja, colocar a sada correspondente
condutor de um modo de alta impedncia). Limpando um pouco
TRISE
(= 0) far com que o PORTE correspondente pino uma sada
(Isto , colocar o contedo do trinco de sada no selecionado
PIN).
Alm de dados da porta, o PORTE registar
(Registrar 10-1) tambm contm o bit de controle RDPU
(Porte <7>), o que habilita ou desabilita os fracos
pull-ups em PORTD.
TRISE controla a direco dos pinos de RE, mesmo quando
eles esto sendo usados como entradas analgicas. O usurio deve
certifique-se de manter os pinos configurados como entradas
quando
us-los como entradas analgicas.
Nota: Em um Power-on Reset, RE2: RE0 so
configurados como entradas analgicas.
O quarto pino de PORTE (MCLR/VPP/RE3) um insumo
s pino. A sua operao controlada pela MCLRE Config-
bit uration. Quando selecionado como um pino da porta (MCLRE =
0), ele
funciona como uma entrada digital s pino, como tal, no faz
ter TRIS ou pedaos LAT associados sua operao.
Caso contrrio, ele funciona como Master Clear entrada do
dispositivo.
Em ambas as configuraes, RE3 tambm funciona como o
programao de entrada de tenso durante a programao.
Nota: Em um Power-on Reset, RE3 ativada como
uma entrada digital apenas se Master Clear
funcionalidade est desativado.
Exemplo 10-5:
CLRF ;
;
;
LATE;
;
;
0Ah;
ADCON1;
03h;
;
;
07h;
CMCON;
TRISC;
;
;
PORTE
INITIALIZING PORTE
Inicializar PORTE por
limpar sada
dados travas
Mtodo alternativo
para limpar a sada
dados travas
Configurar A / D
para as entradas digitais
Valor utilizado para
inicializar dados
direo
Desligar
comparadores
Definir RE <0> como insumos
RE <1> como sadas
RE <2> como insumos
CLRF
MOVLW
MOVWF
MOVLW
MOVLW
MOVWF
MOVWF
10.5.1 PORTE DE DISPOSITIVOS de 28 pinos
O registo Trava de Dados (TARDE) tambm a memria
mapeados. Ler-modificar-escrever operaes no LATE
registrar ler e escrever o valor de sada fechada para
PORTE.
Para os dispositivos de 28 pinos, PORTE s est disponvel quando
Mas-
ter claro funcionalidade desativada (MCLRE = 0). Nestes
casos, PORTE um pouco mais simples, somente a porta de
entrada composta
de apenas RE3. O pino opera como anteriormente descrito.
CADASTRE-SE 10-1:
R/W-0
RDPU(3)
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
PORTE REGISTRO
U-0
-
U-0
-
U-0
-
R / W-x
RE3(1,2)
R/W-0
RE2(3)
R/W-0
RE1(3)
R/W-0
RE0(3)
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
RDPU: PORTD Pull-up Ativar bit
1= PORTD pull-ups so ativados por valores de fecho de portas individuais
0= Todos PORTD pull-ups esto desabilitados
Unimplemented: Leia como '0 '
RE3: RE0: PORTE bits de entrada de dados(1,2,3)
implementado somente quando Master Clear funcionalidade desativada (bit Configurao MCLRE = 0); caso contrrio,
lido como '0 '.
RE3 o nico bit PORTE implementado em ambos os 28 pinos e dispositivos 40/44-pin. Todos os outros bits so
implementado somente quando PORTE implementado (ou seja, dispositivos 40/44-pin).
Unimplemented em dispositivos 28 de pinos; lido como '0 '.
bit 6-4
bit 3-0
Nota 1:
2:
3:
v 2009 Microchip Technology Inc. DS39632E pgina 125
PIC18F2455/2550/4455/4550
TABELA 10-9:
Pin
RE0/AN5 /
CK1SPP
PORTE RESUMO I / O
Funo
RE0
AN5
CK1SPP
TRIS
Fixao
0
1
1
0
0
1
AN6
CK2SPP
1
0
0
1
AN7
OESPP
1
0
-(1)
-(1)
-(1)
I / O
OUT
IN
IN
OUT
OUT
IN
IN
OUT
OUT
IN
IN
OUT
IN
IN
IN
I / O Tipo
DIG
ST
ANA
DIG
DIG
ST
ANA
DIG
DIG
ST
ANA
DIG
ST
ANA
ST
Descrio
LATE <0> sada de dados, no afetada pela entrada analgica.
PORTE <0> entrada de dados; desativado quando a entrada analgica
ativada.
A / D Canal de Entrada 5; configurao padro em POR.
SPP relgio uma sada (SPP habilitado).
LATE <1> sada de dados, no afetada pela entrada analgica.
PORTE <1> entrada de dados; desativado quando a entrada analgica
ativada.
A / Canal de Entrada D 6; configurao padro em POR.
SPP relgio 2 de sada (SPP habilitado).
<2> sada de dados LATE, no afetada pela entrada analgica.
PORTE <2> entrada de dados; desativado quando a entrada analgica
ativada.
A / D Canal de Entrada 7; configurao padro em POR.
SPP ativar a sada (SPP habilitado).
Mestre externo Limpar entrada; ativado quando MCLRE bit Configurao
est definido.
Deteco de alta tenso, usado para deteco de entrada do modo ICSP .
Sempre disponvel, independentemente do modo de pin.
PORTE <3> de entrada de dados; habilitado quando o bit de configurao MCLRE

limpar.
RE1/AN6 /
CK2SPP
RE1
RE2/AN7 /
OESPP
RE2
MCLR / VPP /
RE3
MCLR
VPP
RE3
Legenda:
Nota 1:
OUT = Sada, IN = Entrada, ANA = sinal analgico, DIG = Sada Digital, ST = Schmitt Input buffer
RE3 no tem um correspondente TRISE <3> bits. Este pino sempre uma entrada independente do modo.
TABELA 10-10: RESUMO DAS ficheiros associados COM PORTE
Nome
PORTE
LATE(3)
Trise
(3)
Bit 7
RDPU(3)
-
-
-
C2OUT
-
Bit 6
-
-
-
-
C1OUT
-
Bit 5
-
-
-
VCFG1
C2INV
-
CSEN
Bit 4
-
-
-
VCFG0
C1INV
-
CLK1EN
Bit 3
RE3(1,2)
-
-
PCFG3
CIS
-
WS3
Bit 2
RE2(3)
LATE2
TRISE2
PCFG2
CM2
-
WS2
O bit 1
RE1(3)
LATE1
TRISE1
PCFG1
CM1
SPPOWN
WS1
Bit 0
RE0(3)
LATE0
TRISE0
PCFG0
CM0
SPPEN
WS0
Restabelecer
Valores
na pgina
56
56
56
54
55
57
57
ADCON1
CMCON
SPPCON(3)
SPPCFG(3) CLKCFG1 CLKCFG0
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados por PORTE.
Nota 1: Implementado somente quando Master Clear funcionalidade desativada (bit Configurao MCLRE = 0).
2: RE3 o nico bit PORTE implementado em ambos os 28 pinos e dispositivos 40/44-pin. Todos os outros bits so
implementado somente quando PORTE implementado (ou seja, dispositivos 40/44-pin).
3: Esses registros ou bits so no implementado em dispositivos de 28 pinos.
DS39632E pgina 126 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
11,0 TIMER0 MDULO
O mdulo Timer0 incorpora as seguintes caractersticas:
operao selecionvel por software como um temporizador ou
pa-
ter tanto de 8 bits ou de 16 bits modos
registros de leitura e escrita
Dedicado 8-bit, software programvel
prescaler
fonte de relgio selecionvel (interno ou externo)
Borda de seleo para o relgio externo
Interrupo no estouro
O registo T0CON (Register 11-1) controla tudo
aspectos da operao do mdulo, incluindo o
seleo pr-escala. ser lidos e escritos.
Um diagrama de blocos simplificado do mdulo Timer0 em 8 bits
modo mostrado na Figura 11-1. A Figura 11-2 mostra um
diagrama de blocos do mdulo Timer0 simplificada em 16 bits
modo.
CADASTRE-SE 11-1:
R/W-1
TMR0ON
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
T0CON: TIMER0 registro de controle
R/W-1
T08BIT
R/W-1
T0CS
R/W-1
T0SE
R/W-1
PSA
R/W-1
T0PS2
R/W-1
T0PS1
R/W-1
T0PS0
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
TMR0ON: Timer0 Em pouco controle / Off
1= Permite Timer0
0= Pra Timer0
T08BIT: Timer0 8-Bit/16-Bit pouco controle
1= Timer0 configurado como um temporizador / contador de
8 bits
0= Timer0 configurado como um temporizador / contador de
16 bits
T0CS: Timer0 Clock Source Select bit
1= Transio em T0CKI pin
0= Interno instruo ciclo de clock (CLKO)
T0SE: Timer0 Fonte Borda Select bit
1= Incremento em alta para menor transio em T0CKI pin
0= Incremento em baixo para maior transio em T0CKI pin
PSA: Timer0 Prescaler bit Atribuio
1= Timer0 prescaler no atribuda. Timer0 entrada de clock ignora prescaler.
0= Timer0 prescaler atribudo. Timer0 vem da entrada de relgio de sada divisor.
T0PS2: T0PS0: Timer0 Prescaler Select pedaos
111 = 1:256 valor Prescale
110 = 1:128 valor Prescale
101 = 1:64 Prescale valor
100 = 01:32 valor Prescale
011 = 01:16 Prescale valor
010 = 01:08 Prescale valor
001 = 01:04 Prescale valor
000 = 01:02 valor Prescale
bit 6
bit 5
4 bits
bit 3
bit 2-0
v 2009 Microchip Technology Inc. DS39632E pgina 127
PIC18F2455/2550/4455/4550
11.1 Timer0 Operao
Timer0 pode operar tanto como um temporizador ou um contador; o
modo selecionado, limpando o bit T0CS
(T0CON <5>). No modo de temporizador, incrementa o mdulo
em cada relgio, por padro, a menos que um divisor diferente
valor selecionado (ver Seo 11.3 "Prescaler"). Se
o registo TMR0 escrito, o incremento
inibida pelos seguintes dois ciclos de instruo. O
usurio pode contornar isso escrevendo um valor ajustado
para o registo TMR0.
O modo de contador selecionado, definindo o bit T0CS
(= 1). No modo de contador, quer por incrementos Timer0
cada flanco ascendente ou descendente de pin RA4/T0CKI/C1OUT /
VN. A aresta de indexao determinada pela
Timer0 Fonte Borda Select bit, T0SE (T0CON <4>);
limpar este bit seleciona a borda de subida. Restries
a entrada do relgio externo so discutidas abaixo.
Uma fonte de relgio externo pode ser usado para conduzir Timer0;
No entanto, ele deve atender a certos requisitos para garantir
que o relgio externo pode ser sincronizada com a
relgio fase interna (tosc). Existe um atraso entre
a sincronizao e o aparecimento de incrementar o
temporizador / contador.
11.2 Timer0 L e Escreve
Modo de 16 bits
TMR0H no o byte efectiva de Timer0 em 16 bits
modo. realmente uma verso tampo do real alta
byte de Timer0 que no lida directamente nem
gravvel (veja a Figura 11-2). TMR0H atualizado com
o contedo do byte de Timer0 durante uma leitura de
TMR0L. Isso fornece a capacidade de ler todos os 16 bits de
Timer0 sem ter que verificar se a leitura da alta
e baixa byte fosse vlido, devido a um capotamento entre
sucessivas leituras do byte alto e baixo.
Da mesma forma, a escrever para o byte mais alto do Timer0
tambm deve
ocorrer atravs do registo de buffer TMR0H. A alta
byte atualizado com o contedo do TMR0H quando um
escrever ocorre TMR0L. Isso permite que todos os 16 bits do Timer0
ser atualizados ao mesmo tempo.
FIGURA 11-1: TIMER0 DIAGRAMA DE BLOCO (8-BIT MODE)
FOSC / 4 0
1
1
Sincronizar com
Interno
Clocks
(2 Delay TCY)
8
8
Dados Interno Bus
TMR0L
Conjunto
TMR0IF
no estouro
T0CKI pin
T0SE
T0CS
T0PS2: T0PS0
PSA
Programvel
Prescaler
3
0
Nota: Aps Reset, Timer0 est habilitado no modo de 8 bits com entrada de clock de T0CKI mximo pr-escala.
Figura 11-2:
FOSC / 4
TIMER0 DIAGRAMA DE BLOCO (modo de 16 bits)
0
1
1
Sincronizar com
Interno
Clocks
(2 Delay TCY)
Leia TMR0L
Escrever TMR0L
8
8
TMR0H
8
8
Dados Interno Bus
TMR0L
TMR0
Byte
8
Conjunto
TMR0IF
no estouro
T0CKI pin
T0SE
T0CS
T0PS2: T0PS0
PSA
Programvel
Prescaler
3
0
Nota: Aps Reset, Timer0 est habilitado no modo de 8 bits com entrada de clock de T0CKI mximo pr-escala.
DS39632E pgina 128 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
11.3 Prescaler
11.3.1
Um contador de 8 bits est disponvel como um divisor para o
Timer0
mdulo. O prescaler no directamente lidos ou escritos;
seu valor definido pela PSA e T0PS2: T0PS0 pedaos
(T0CON <3:00>), que determinam o divisor
atribuio e relao de pr-escala.
Limpar o bit PSA atribui o prescaler ao
Timer0 mdulo. Quando lhe so confiadas, os valores pr-escala
de 1:2 atravs de 1:256, em de-poder-incrementos de 2, so
selecionvel.
Quando atribudo ao mdulo Timer0, todas as instrues
escrever para o registo TMR0 (por exemplo, CLRF TMR0, MOVWF
TMR0, BSF TMR0, etc) limpar a contagem prescaler.
Nota: Escrevendo para TMR0 quando o divisor
atribudo ao Timer0 ir limpar o prescaler
contar, mas no vai mudar o prescaler
atribuio.
TROCA PRESCALER
CESSO
A atribuio prescaler est completamente sob software
de controlo e pode ser alterado "on-the-fly" durante programa
a execuo.
11,4 Timer0 Interrupt
O TMR0 interrupo gerada quando o TMR0
registrar transborda de FFh para 00h em modo de 8 bits, ou
de FFFFh para 0000h no modo de 16 bits. Este estouro define
o bit de flag TMR0IF. A interrupo pode ser mascarado pela
limpando o bit TMR0IE (INTCON <5>). Antes de re-
permitindo a interrupo, o bit tem de ser aclarado TMR0IF
em software pela rotina de servio de interrupo.
Desde Timer0 desligado no modo de suspenso, o TMR0
interrupo no pode despertar o processador do sono.
TABELA 11-1:
Nome
TMR0L
TMR0H
INTCON
INTCON2
T0CON
TRISA
REGISTOS ASSOCIADOS TIMER0
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 O bit 1 Bit 0
Restabelecer
Valores
na pgina
54
54
INT0IE
T0SE
TRISA4
RBIE
-
PSA
TRISA3
TMR0IF
TMR0IP
T0PS2
TRISA2
INT0IF
-
T0PS1
TRISA1
RBIF
RBIP
T0PS0
TRISA0
53
53
54
56
Timer0 Registrar Low Byte
Timer0 Register alta Byte
GIE / GIEH PEIE / giel TMR0IE
RBPU
TMR0ON
-
T08BIT
TRISA6(1)
T0CS
TRISA5
INTEDG0 INTEDG1 INTEDG2
Legenda: - = Locais no implementadas, leia como '0 '. Clulas sombreadas no so utilizados por Timer0.
Nota 1: RA6 est configurado como um pino de porta com base em vrios modos de oscilador primrios. Quando o pino porta est
desativada,
todos os bits associados ler '0 '.
v 2009 Microchip Technology Inc. DS39632E pgina 129
PIC18F2455/2550/4455/4550
NOTAS:
DS39632E pgina 130 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
12,0 TIMER1 MDULO
O mdulo temporizador / contador Timer1 incorpora estes
caractersticas:
operao selecionvel por software como um timer de 16 bits
ou
contrariar
registros de 8 bits legvel e gravvel (TMR1H
e TMR1L)
fonte de relgio selecionvel (interno ou externo) com
relgio do dispositivo ou Timer1 opes internas do oscilador
Interrupo no estouro
Reiniciar mdulo no CCP Gatilho Evento Especial
sinalizador de status do relgio do dispositivo (T1RUN)
Um diagrama de blocos simplificado do mdulo Timer1
mostrado na Figura 12-1. Um diagrama de blocos do mdulo de
na operao de leitura / gravao de modo mostrado na Figura 12-
2.
O mdulo incorpora seu prprio oscilador de baixa potncia
para proporcionar uma opo de relgio adicional. O Timer1
oscilador tambm pode ser usado como uma fonte de relgio de
baixa energia
para o microcontrolador em operao de gerenciamento de energia.
Timer1 tambm pode ser usado para fornecer relgio em tempo real
Funcionalidade para aplicaes (RTC), com apenas uma mnima
adio de componentes externos e despesas gerais do cdigo.
Timer1 controlada atravs do controlo T1CON
registrar (Register 12-1). Ele tambm contm o Timer1
Oscilador Ativar bit (T1OSCEN). Timer1 pode ser
ativada ou desativada pelo marcando ou desmarcando pouco
controle,
TMR1ON (T1CON <0>).
CADASTRE-SE 12-1:
R/W-0
RD16
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
T1CON: TIMER1 registro de controle
R-0 R/W-0
T1CKPS1
R/W-0
T1CKPS0
R/W-0
T1OSCEN
R/W-0
T1SYNC
R/W-0
TMR1CS
R/W-0
TMR1ON
bit 0
T1RUN
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
RD16: 16-Bit Leitura / Gravao Modo Ativar bit
1= Permite registo de leitura / gravao de Timer1 em uma operao de 16 bits
0= Permite registrar leitura / gravao de Timer1 em duas operaes de 8 bits
T1RUN: Timer1 Relgio do Sistema bit Estado
1= Relgio do dispositivo derivado Timer1 oscilador
0= Relgio do dispositivo derivada de outra fonte
T1CKPS1: T1CKPS0: Timer1 entrada de clock Prescale Select pedaos
11 = 01:08 Prescale valor
10 = 01:04 Prescale valor
01 = 01:02 valor Prescale
00 = 1:1 Prescale valor
T1OSCEN: Timer1 oscilador Habilitar bit
1= Timer1 oscilador habilitado
0= Timer1 oscilador desligado
O inversor oscilador e resistor de realimentao esto desligados para eliminar fuga de energia.
T1SYNC: Timer1 External clock de entrada de sincronizao Select bit
Quando TMR1CS = 1:
1= No sincronizar entrada de clock externo
0= Sincronizar entrada de clock externo
Quando TMR1CS = 0:
Este bit ignorado. Timer1 usa o relgio interno quando TMR1CS = 0.
TMR1CS: Timer1 Clock Source Select bit
1= Relgio externo de RC0/T1OSO/T13CKI pin (na borda de subida)
0= Relgio interno (FOSC / 4)
TMR1ON: Timer1 Em pouco
1= Permite Timer1
0= Pra Timer1
bit 6
bit 5-4
bit 3
bit 2
bit 1
bit 0
v 2009 Microchip Technology Inc. DS39632E pgina 131
PIC18F2455/2550/4455/4550
12.1 Timer1 Operao
Timer1 pode operar em um destes modos:
Temporizador
Contador Synchronous
contador assncrono
O modo de funcionamento determinado pelo relgio seleccionar
bits, TMR1CS (T1CON <1>). Quando TMR1CS eliminado
(= 0), Timer1 incrementos em cada instruo interna
ciclo (FOSC / 4). Quando o bit for definido, Timer1 incrementos
em cada borda de subida da entrada de clock externo Timer1
ou o Timer1 oscilador, se habilitado.
Quando Timer1 est habilitado, o RC1/T1OSI/UOE e
RC0/T1OSO/T13CKI pinos se tornar insumos. Isto significa
os valores de TRISC <01:00> so ignoradas e os pinos so
lido como '0 '.
FIGURA 12-1: TIMER1 DIAGRAMA DE BLOCO
Timer1 oscilador
On / Off
1
FOSC / 4
Interno
Relgio
T1OSCEN(1)
T1CKPS1: T1CKPS0
T1SYNC
TMR1ON
TMR1CS
Prescaler
1, 2, 4, 8
2
Entrada dormir
Timer1
On / Off
Sincronizar
Descobrir
0
1
T1OSO/T13CKI
T1OSI
0
Limpar TMR1
(CCP Gatilho Evento Especial)
TMR1L
TMR1
Byte
Conjunto
TMR1IF
no estouro
Nota 1: Quando o bit de habilitao, T1OSCEN, desmarcada, o inversor eo resistor de realimentao esto desligados para eliminar a fuga de
energia.
FIGURA 12-2: TIMER1 DIAGRAMA DE BLOCO (16-bit modo ler / escrever)
Timer1 oscilador
1
T1OSO/T13CKI
FOSC / 4
Interno
Relgio
TMR1CST1OSCEN(1)
T1CKPS1: T1CKPS0
T1SYNC
TMR1ON
1
Prescaler
1, 2, 4, 8
2
Sincronizar
Descobrir
0
T1OSI
0
Entrada dormir
Timer1
On / Off
Limpar TMR1
(CCP Gatilho Evento Especial)
TMR1L
TMR1
Byte
8
Conjunto
TMR1IF
no estouro
Leia TMR1L
Escrever TMR1L
8
8
TMR1H
8
8
Dados Interno Bus
Nota 1: Quando o bit de habilitao, T1OSCEN, desmarcada, o inversor eo resistor de realimentao esto desligados para eliminar a fuga de
energia.
DS39632E pgina 132 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
12.2 Timer1 de 16 bits modo ler / escrever
TABELA 12-1:
Osc Tipo
LP
Timer1 pode ser configurado para 16-bit l e escreve
(Veja a Figura 12-2). Quando o bit de controle RD16
(T1CON <7>) definido, o endereo para TMR1H mapeado
para um buffer de se inscrever para o byte mais alto do Timer1. Uma
leitura
de TMR1L ir carregar o contedo do byte alto de
Timer1 para o buffer de alta byte Timer1. Isto proporciona
ao usurio a capacidade de ler com preciso todos os 16 bits de
Timer1 sem ter de determinar se uma leitura de
byte elevado, seguida por uma leitura do byte baixo, tem
tornar-se invlido devido a um capotamento entre leituras.
A gravao para o byte mais alto do Timer1 deve tambm ter lugar
atravs do registo de buffer TMR1H. O Timer1 alta
byte atualizado com o contedo do TMR1H quando um
escrever ocorre TMR1L. Isso permite que um usurio para escrever
tudo
16 bits para ambos os bytes alto e baixo do Timer1 de uma vez.
A alta byte de Timer1 no diretamente legvel ou
gravvel neste modo. Todos l e escreve deve tomar
lugar atravs do Timer1 alta registo buffer de bytes.
Grava em TMR1H no limpar o prescaler Timer1.
O divisor s cancelado em escreve para TMR1L.
CAPACITOR PARA SELEO
O OSCILADOR TIMER (2,3,4)
Freq
32 kHz
C1
27 pF(1)
C2
27 pF(1)
Nota 1: Microchip sugere que estes valores como um
ponto de partida para a validao do oscilador
circuito.
2: Capacitncia maior aumenta a estabilidade
do oscilador, mas tambm aumenta o
tempo de arranque.
3: Uma vez que cada ressonador / cristal tem o seu
prprio
caractersticas, o usurio deve consultar
o fabricante ressonador / cristal para
appropriatevaluesofexternal
componentes.
4: Os valores dos capacitores so para orientao de
design
s.
12.3.1 UTILIZAO TIMER1 como um relgio
FONTE
12,3 Timer1 oscilador
Um circuito oscilador de cristal no chip incorporada
entre os pinos T1OSI (entrada) e T1OSO (amplificador
sada). Ele ativado, definindo o Timer1 oscilador
Ativar bit, T1OSCEN (T1CON <3>). O oscilador representa um
circuito de baixa potncia nominal para 32 cristais kHz. Ser
continuar a funcionar durante todos os modos de energia geridas. O
para um circuito oscilador LP tpico mostrado na Figura 12-3.
A Tabela 12-1 mostra o condensador de seleco para o Timer1
oscilador.
O utilizador tem de fornecer um retardo de tempo de software para
assegurar
bom arranque do Timer1 oscilador.
O oscilador Timer1 tambm est disponvel como uma fonte de
relgio
nos modos power-gerenciados. Ao acertar o relgio escolha
bits, SCS1: SCS0 (OSCCON <1:00>), a '01 ', o dispositivo
muda para o modo SEC_RUN. Tanto a CPU e
perifricos so cronometrados do Timer1 oscilador. Se o
IDLEN bit (OSCCON <7>) est desmarcada e uma DORMIR
instruo executada, o dispositivo entra SEC_IDLE
modo. Detalhes adicionais esto disponveis em Seo 3.0
"Modos de gerenciamento de energia".
Sempre que o oscilador Timer1 est fornecendo o relgio
fonte, o sistema sinalizador de status relgio Timer1, T1RUN
(T1CON <6>), est definido. Isto pode ser usado para determinar o
modo de clock atual do controlador. Pode tambm indicar
a fonte do relgio que est sendo usado atualmente pela prova de
falhas
Monitor de relgio. Se o Monitor de relgio ativado eo
Timer1 oscilador falha, proporcionando o relgio, polling
o bit T1RUN ir indicar se o relgio est a ser
fornecida pelo oscilador Timer1 ou outra fonte.
FIGURA 12-3: EXTERNO
Componentes para a
TIMER1 LP OSCILADOR
PIC18FXXXX
T1OSI
XTAL
32.768 kHz
T1OSO
C1
27 pF 12.3.2 LOW-POWER TIMER1 OPO
C2
27 pF
Nota: Veja as notas com a Tabela 12-1 para obter mais
informaes sobre a seleo capacitor.
O Timer1 oscilador pode operar em dois nveis distintos
do consumo de energia com base na configurao do dispositivo.
Quando o bit de configurao LPT1OSC est definido, o Timer1
oscilador opera em um modo de baixo consumo de energia. Quando
LPT1OSC no est definido, Timer1 opera em um poder superior
nvel. O consumo de energia para um modo particular rela-
vamente constante, independentemente da operao do dispositivo
modo. A configurao padro o Timer1 maior
modo de potncia.
Como o modo de Timer1 baixa potncia tende a ser mais
sensvel a interferncias, ambientes de alto rudo pode
causar alguma instabilidade oscilador. A opo de baixo consumo
de energia
, portanto, mais adequado para aplicaes de baixo rudo
onde a conservao de energia um projeto importante
considerao.
v 2009 Microchip Technology Inc. DS39632E pgina 133
PIC18F2455/2550/4455/4550
12.3.3 TIMER1 OSCILADOR LAYOUT
CONSIDERAES
12.5 Repor Timer1 Usando o CCP
Gatilho Evento Especial
O circuito oscilador Timer1 consome muito pouca energia
durante a operao. Devido natureza de baixa potncia do
oscilador, que pode tambm ser sensvel a rpida mudana
sinais em estreita proximidade.
O circuito oscilador, mostrado na Figura 12-3, deve ser
localizado to prximo quanto possvel do microcontrolador.
No deve haver circuitos que passam dentro do oscilador
alm VSS ou VDD limites do circuito.
Se um circuito de alta velocidade deve estar localizado perto da
oscilao
tor (como o pino CCP1 em Compare sada ou PWM
modo, ou o oscilador principal, utilizando o pino OSC2), um
aterrado anel de guarda em torno do circuito do oscilador, como
mostrado na Figura 12-4, podem ser teis quando utilizados em uma
single-sided PCB ou para alm de um plano de terra.
Se qualquer um dos mdulos CCP est configurado no Comparar
modo a gerar um disparo Evento Especial
(CCP1M3: CCP1M0 ou CCP2M3: CCP2M0 = 1011),
este sinal ir repor Timer1. O gatilho de CCP2 vontade
tambm iniciar uma converso A / D, se o mdulo A / D
ativado (ver Seo 15.3.4 "Trigger evento especial"
para mais informaes).
O mdulo deve ser configurado como um temporizador ou um
contador sncrono para tirar proveito deste recurso.
Quando usado desta forma, a CCPRH: par de registradores CCPRL
torna-se efetivamente um registo prazo para Timer1.
Se Timer1 est executando no modo contador assncrono,
esta operao Reiniciar podem no funcionar.
No caso em que uma gravao coincide com um Timer1
Gatilho evento especial, a operao de gravao vai demorar
precedncia.
Nota: O Evento Especial Triggers do CCP2
mdulo no ir definir a interrupo TMR1IF
bit de flag (PIR1 <0>).
FIGURA 12-4: Circuito oscilador
Com terra
GUARD ANEL
VDD
VSS
OSC1
OSC2
12,6 Usando Timer1 como Real-Time Clock
RC0
RC1
RC2
Nota: No em escala.
Adio de um oscilador externo para Timer1 LP (tal como o
descrito em Seo 12.3 "Timer1 Mdulo eletrnico")
d aos usurios a opo de incluir a funcionalidade RTC
suas aplicaes. Isto conseguido com um
relgio de cristal barato para fornecer um tempo exato
base e vrias linhas de cdigo do aplicativo para o clculo
o tempo. Quando estiver operando no modo de suspenso e usando
um
bateria ou de supercapacitores, como uma fonte de energia, pode
elimina completamente a necessidade de uma RTC separado
dispositivo e backup de bateria.
A rotina de cdigo do aplicativo, RTCisr, mostrado na
Exemplo 12-1, demonstra um mtodo simples para
incrementar um contador em intervalos de um segundo, utilizando
um
Rotina de interrupo de servio. Incrementando o TMR1
registar par a transbordar aciona a interrupo e chama
a rotina, o que incrementa o contador de segundos por
um. Contadores adicionais para minutos e horas so
incrementado conforme os excessos contrrios anteriores.
Uma vez que o par de registradores de 16 bits de largura,
contando at
transbordar a inscrever-se directamente a partir de um relgio de
32.768 kHz
levaria de 2 segundos. Para forar o transbordar
necessria intervalos de um segundo, necessrio pr-
carreg-lo. O mtodo mais simples definir o MSB
TMR1H com um BSF instrues. Note-se que o TMR1L
registo nunca pr-carregado ou alterados, pois isso pode
introduzir um erro cumulativo ao longo de diversos ciclos.
Para este mtodo para ser exato, Timer1 deve operar em
Modo assncrono ea interrupo de estouro Timer1
deve estar habilitado (PIE1 <0> = 1) como mostrado na
de rotina, RTCinit. O oscilador deve ser tambm Timer1
habilitado e funcionando em todos os momentos.
12,4 Timer1 Interrupo
Incrementos: o TMR1 par de registradores (TMR1L TMR1H)
a partir de 0000h a FFFFh e rola para 0000h. O
Timer1 de interrupo, se estiver ativado, gerado em excesso
que travado na interrupo bit bandeira, TMR1IF
(PIR1 <0>). Esta interrupo pode ser ativado ou desativado
atravs da criao ou limpar o Timer1 interrupo Habilitar bit,
TMR1IE (PIE1 <0>).
DS39632E pgina 134 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
12,7 Consideraes na Asynchronous
Contador Modo
depois de uma tarde Timer1 incremento. Isto pode ser feito
pelo monitoramento TMR1L dentro da rotina de interrupo at que
incrementos, e em seguida, atualizar o TMR1H: TMR1L reg-
Ister par enquanto o relgio baixa, ou a metade do perodo
da fonte de relgio. Assumindo que est sendo Timer1
usado como um relgio de tempo real, a fonte de relgio um
32,768 kHz oscilador de cristal, e neste caso, a metade
perodo do relgio de 15,25 o .
O cdigo do aplicativo do relgio em tempo real no Exemplo 12-1
mostra uma ISR tpico para Timer1, bem como os opcionais
cdigo necessrio se a atualizao no pode ser feito de forma
confivel
dentro do intervalo desejado.
Aps uma interrupo Timer1 e uma atualizao para o
TMR1 registros, o mdulo Timer1 usa uma borda de descida
em sua fonte de clock para acionar a prxima atualizao no
cadastro
a borda de subida. Se a atualizao for concluda aps o
entrada de relgio tenha cado, a prxima borda de subida no
haver
contadas.
Se o aplicativo pode atualizar de forma confivel TMR1 antes do
entrada do temporizador fica baixo, no necessria nenhuma ao
adicional.
Caso contrrio, a actualizao ajustado pode ser realizada
Exemplo 12-1:
RTCinit
MOVLW
MOVWF
CLRF
MOVLW
MOVWF
CLRF
CLRF
MOVLW
MOVWF
BSF
RETORNO
RTCisr
IMPLEMENTAO DE UM PULSO DE DISPARO EM TEMPO REAL UTILIZANDO UM TIMER1
interromper o servio
80h
TMR1H
TMR1L
b'00001111 '
T1CON
segundos
mins
0,12
horas
PIE1, TMR1IE
, Preload TMR1 par de registradores
, Por um segundo estouro
, Configure para o relgio externo,
, A operao assncrona, oscilador externo
, Inicializar registros de cronometragem
;
, Ativar Timer1 interrupo
BTFSC
BRA
BTFSS
BRA
TMR1L, 0
$ -2
TMR1L, 0
$ -2
BSF
BCF
INCF
MOVLW
CPFSGT
RETORNO
CLRF
INCF
MOVLW
CPFSGT
RETORNO
CLRF
INCF
MOVLW
CPFSGT
RETORNO
CLRF
RETORNO
TMR1H, 7
PIR1, TMR1IF
seg, F
0,59
segundos
segundos
minutos, F
0,59
mins
mins
horas, F
0,23
horas
horas
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
Insira os prximos quatro linhas de cdigo quando TMR1
no pode ser atualizado de forma confivel antes de pulso de clock fica
baixo
esperar TMR1L a ficar claro
(Pode j ser claro)
esperar TMR1L para se tornar set
TMR1 acaba incrementado
Se TMR1 atualizao pode ser concluda antes do pulso de clock fica baixo
Comece ISR aqui
Preload por 1 segundo estouro
Limpar flag de interrupo
Segundos de incremento
60 segundo decorrido?
No, feito
Limpar segundos
Minutos de incremento
Decorridos 60 minutos?
No, feito
minutos claras
Horas de incremento
24 horas decorrido?
, No, feito
; Redefinir horas
, Feito
v 2009 Microchip Technology Inc. DS39632E pgina 135
PIC18F2455/2550/4455/4550
TABELA 12-2:
Nome
INTCON
PIR1
PIE1
IPR1
TMR1L
TMR1H
T1CON
REGISTOS ASSOCIADOS TIMER1 como um temporizador / COUNTER
Bit 7 Bit 6 Bit 5
TMR0IE
RCIF
RCIE
RCIP
Bit 4
INT0IE
TXIF
TXIE
TXIP
Bit 3
RBIE
SSPIF
SSPIE
SSPIP
Bit 2
TMR0IF
CCP1IF
CCP1IE
CCP1IP
O bit 1
INT0IF
TMR2IF
TMR2IE
TMR2IP
Bit 0
RBIF
TMR1IF
TMR1IE
TMR1IP
Restabelecer
Valores
na pgina
53
56
56
56
54
54
TMR1CS TMR1ON 54
GIE / GIEH PEIE / giel
SPPIF(1)
SPPIE(1)
SPPIP(1)
ADIF
ADIE
ADIP
Timer1 Registrar Low Byte
TIMER1 Register alta Byte
RD16 T1RUN T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados pelo mdulo Timer1.
Nota 1: Estes bits so no implementado em dispositivos de 28 pinos; sempre manter esses bits claras.
DS39632E pgina 136 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
13,0 TEMP2 MDULO 13.1 Timer2 Operao
O mdulo temporizador Timer2 incorpora o seguinte
caractersticas:
Timer e Perodo registradores de 8 bits (TMR2 e PR2,
respectivamente)
leitura e escrita (de ambos os registos)
prescaler programvel Software (1:1, 1:4 e
1:16)
postscaler programvel Software (1:1 atravs
1:16)
Interromper a TMR2 para PR2 jogo
uso opcional, quando o relgio mudana para o MSSP
mdulo
O mdulo controlado atravs do registo T2CON
(Registrar 13-1), que habilita ou desabilita o timer e
configura o prescaler e postscaler. Timer2 pode ser
desligar a pouco controle clareira, TMR2ON (T2CON <2>),
, para minimizar o consumo de energia.
Um diagrama de blocos simplificado do mdulo mostrado em
Figura 13-1.
Em operao normal, TMR2 incrementado de 00h em
cada relgio (FOSC / 4). Um contador de 2 bits / divisor no
entrada de clock d entrada direta, diviso por 4 e divida-a-
16 opes pr-escala. Estes so selecionados pelo prescaler
bits de controle, T2CKPS1: T2CKPS0 (T2CON <01:00>). O
valor de TMR2 comparada com a do registo Perodo,
PR2, em cada ciclo de relgio. Quando os dois valores
correspondem,
o comparador gera um sinal de partida como o temporizador
sada. Este sinal tambm redefine o valor de TMR2 para 00h
no prximo ciclo e dirige a sada counter/post-
scaler (ver Clusula 13.2 "Timer2 interrupo").
Os TMR2 e PR2 registros so ambos de fcil leitura
e gravvel. O registo TMR2 eliminado em qualquer
Reiniciar dispositivo, enquanto o registo PR2 inicializa a FFh.
Tanto o prescaler e contadores postscaler so apagadas
nos seguintes eventos:
a escrever para o registo TMR2
a escrever para o registo T2CON
Redefinio de qualquer dispositivo (Power-on Reset, MCLR
Reset,
Watchdog Temporizador reposio ou Reset Brown-out)
TMR2 no limpo quando T2CON est escrito.
CADASTRE-SE 13-1:
U-0
-
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
bit 6-3
T2CON: TEMP2 registro de controle
R/W-0 R/W-0
T2OUTPS2
R/W-0
T2OUTPS1
R/W-0
T2OUTPS0
R/W-0
TMR2ON
R/W-0
T2CKPS1
R/W-0
T2CKPS0
bit 0
T2OUTPS3
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
Unimplemented: Leia como '0 '
T2OUTPS3: T2OUTPS0: Timer2 sada Postscale Selecionar pedaos
0000 = 1:1 Postscale
0001 = 01:02 Postscale



1111 = 01:16 Postscale
TMR2ON: Timer2 Em pouco
1= Timer2 est
0= Timer2 est fora
T2CKPS1: T2CKPS0: Timer2 Relgio pr-escala Selecionar pedaos
00 = Prescaler um
01 = Prescaler 4
1x = Prescaler de 16
bit 2
bit 1-0
v 2009 Microchip Technology Inc. DS39632E pgina 137
PIC18F2455/2550/4455/4550
13.2 Timer2 Interrupo 13,3 TMR2 Output
Timer2 tambm pode gerar uma interrupo do dispositivo opcional.
O sinal de sada Timer2 (TMR2 para PR2 jogo) pro-
nece a entrada para a sada do contador de 4 bits / postscaler.
Este contador gera o flag de interrupo jogo TMR2
que travado na TMR2IF (PIR1 <1>). A interrupo
habilitado, definindo a interrupo do jogo TMR2 Ativar
bits, TMR2IE (PIE1 <1>).
Uma gama de 16 opes de postscale (de 1:1 a 1:16
inclusive) podem ser seleccionados com o controle postscaler
bits, T2OUTPS3: T2OUTPS0 (T2CON <6:03>).
A sada no redimensionada TMR2 est disponvel principalmente
para
os mdulos de CCP, em que utilizado como uma base de tempo
para
operaes em modo PWM. Timer2 pode ser opcionalmente utilizada como fonte de relgio
deslocamento
para o mdulo MSSP operando em modo de SPI.
Informaes adicionais so fornecidas no Seo 19,0
"Mestre Synchronous Serial Port (MSSP) Module".
FIGURA 13-1: TEMP2 DIAGRAMA DE BLOCO
4
2
TMR2/PR2
Corresponder
T2OUTPS3: T2OUTPS0
T2CKPS1: T2CKPS0
01:01-01:16
Postscaler
Definir TMR2IF
TMR2 Output
(A PWM ou MSSP)
FOSC / 4
1:1, 1:4, 1:16
Prescaler
Restabelecer
TMR2
8
Comparador
8
PR2
8
Dados Interno Bus
TABELA 13-1:
Nome Bit 7
REGISTOS ASSOCIADOS TEMP2 como um temporizador / COUNTER
Bit 6 Bit 5
TMR0IE
RCIF
RCIE
RCIP
Bit 4
INT0IE
TXIF
TXIE
TXIP
Bit 3
RBIE
SSPIF
SSPIE
SSPIP
Bit 2
TMR0IF
CCP1IF
CCP1IE
CCP1IP
O bit 1
INT0IF
TMR2IF
TMR2IE
TMR2IP
Bit 0
RBIF
TMR1IF
TMR1IE
TMR1IP
Restabelecer
Valores
na pgina
53
56
56
56
54
54
54
INTCON GIE / GIEH PEIE / giel
PIR1
PIE1
IPR1
TMR2
T2CON
PR2
SPPIF(1)
SPPIE(1)
SPPIP(1)
-
ADIF
ADIE
ADIP
Timer2 Registrar
T2OUTPS3 T2OUTPS2 T2OUTPS1 T2OUTPS0 TMR2ON T2CKPS1 T2CKPS0
Timer2 Perodo Registrar
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados pelo mdulo Timer2.
Nota 1: Estes bits so no implementado em dispositivos de 28 pinos; sempre manter esses bits claras.
DS39632E pgina 138 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
14,0 TIMER3 MDULO
O Timer3 mdulo temporizador / contador incorpora estes
caractersticas:
operao selecionvel por software como um timer de 16 bits
ou
contrariar
registros de 8 bits legvel e gravvel (TMR3H
e TMR3L)
fonte de relgio selecionvel (interno ou externo) com
relgio do dispositivo ou Timer1 opes internas do oscilador
Interrupo no estouro
Reiniciar mdulo no CCP Gatilho Evento Especial
Um diagrama de blocos simplificado do mdulo Timer3
mostrado na Figura 14-1. Um diagrama de blocos do mdulo de
na operao de leitura / gravao de modo mostrado na Figura 14-
2.
O mdulo Timer3 controlado atravs do T3CON
registrar (Register 14-1). Ele tambm seleciona a fonte de relgio
opes para os mdulos CCP (ver Seo 15.1.1
"Mdulos CCP e Recursos temporizador" Para mais
informaes).
CADASTRE-SE 14-1:
R/W-0
RD16
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
T3CON: TIMER3 registro de controle
R/W-0 R/W-0
T3CKPS1
R/W-0
T3CKPS0
R/W-0
T3CCP1
R/W-0
T3SYNC
R/W-0
TMR3CS
R/W-0
TMR3ON
bit 0
T3CCP2
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
RD16: 16-Bit Leitura / Gravao Modo Ativar bit
1= Permite registo de leitura / gravao de Timer3 em uma operao de 16 bits
0= Permite registrar leitura / gravao de Timer3 em duas operaes de 8 bits
T3CCP2: T3CCP1: Timer3 e Timer1 para CCPx Ativar os bits
1x = Timer3 a captura / compara fonte de relgio para ambos os mdulos CCP
01 = Timer3 a captura / compara fonte de relgio para CCP2;
Timer1 a captura / compara fonte de relgio para CCP1
00 = Timer1 a captura / compara fonte de relgio para ambos os mdulos CCP
T3CKPS1: T3CKPS0: Timer3 entrada de clock Prescale Select pedaos
11 = 01:08 Prescale valor
10 = 01:04 Prescale valor
01 = 01:02 valor Prescale
00 = 1:1 Prescale valor
T3SYNC: Timer3 External clock de entrada de sincronizao pouco controle
(No utilizvel se o relgio do dispositivo vem Timer1/Timer3).
Quando TMR3CS = 1:
1= No sincronizar entrada de clock externo
0= Sincronizar entrada de clock externo
Quando TMR3CS = 0:
Este bit ignorado. Timer3 usa o relgio interno quando TMR3CS = 0.
TMR3CS: Timer3 Clock Source Select bit
1= Entrada de clock externo do Timer1 oscilador ou T13CKI (na borda de subida aps a primeira borda de descida)
0= Relgio interno (FOSC / 4)
TMR3ON: Timer3 Em pouco
1= Permite Timer3
0= Pra Timer3
bits 6, 3
bit 5-4
bit 2
bit 1
bit 0
v 2009 Microchip Technology Inc. DS39632E-pgina 139
PIC18F2455/2550/4455/4550
14.1 Timer3 Operao
Timer3 pode operar em um de trs modos:
Temporizador
Contador Synchronous
contador assncrono
O modo de funcionamento determinado pelo relgio seleccionar
bits, TMR3CS (T3CON <1>). Quando TMR3CS eliminado
(= 0), Timer3 incrementos em cada instruo interna
ciclo (FOSC / 4). Quando o bit for definido, Timer3 incrementos
em cada borda de subida da entrada de clock externo Timer1
ou o Timer1 oscilador, se habilitado.
Tal como acontece com Timer1, o RC1/T1OSI/UOE e RC0 /
T1OSO/T13CKI pinos se tornam entradas quando o Timer1
oscilador ativado. Isto significa que os valores de
TRISC <01:00> so ignorados e os pinos so lidos como '0 '.
FIGURA 14-1: TIMER3 DIAGRAMA DE BLOCO
Timer1 oscilador
Timer1 Relgio Input
1
1
FOSC / 4
Interno
Relgio
T1OSCEN(1)
T3CKPS1: T3CKPS0
T3SYNC
TMR3ON
TMR3CS
T1OSO/T13CKI
Prescaler
1, 2, 4, 8
2
Sincronizar
Descobrir
0
T1OSI
0
Entrada dormir
Timer3
On / Off
CCP1/CCP2 Gatilho Evento Especial
CCP1/CCP2 Select de T3CON <6,3>
Limpar TMR3
TMR3L
TMR3
Byte
Conjunto
TMR3IF
no estouro
Nota 1: Quando o bit de habilitao, T1OSCEN, desmarcada, o inversor eo resistor de realimentao esto desligados para eliminar a fuga de
energia.
FIGURA 14-2: TIMER3 DIAGRAMA DE BLOCO (16-bit modo ler / escrever)
Timer1 oscilador Timer1 Relgio Input
1
1
FOSC / 4
Interno
Relgio
TMR3CST1OSCEN(1)
T3CKPS1: T3CKPS0
T3SYNC
TMR3ON
T1OSO/T13CKI
Prescaler
1, 2, 4, 8
2
Sincronizar
Descobrir
0
T1OSI
0
Entrada dormir
Timer3
On / Off
CCP1/CCP2 Gatilho Evento Especial
CCP1/CCP2 Select de T3CON <6,3>
Limpar TMR3
TMR3L
TMR3
Byte
8
Conjunto
TMR3IF
no estouro
Leia TMR1L
Escrever TMR1L
8
8
TMR3H
8
8
Dados Interno Bus
Nota 1: Quando o bit de habilitao, T1OSCEN, desmarcada, o inversor eo resistor de realimentao esto desligados para eliminar a fuga de energia.
DS39632E pgina 140 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
14,2 Timer3 16-Bit modo ler / escrever 14,4 Timer3 Interrupo
Timer3 pode ser configurado para 16-bit l e escreve
(Veja a Figura 14-2). Quando o bit de controle RD16
(T3CON <7>) definido, o endereo para TMR3H mapeado
para um buffer de se inscrever para o byte mais alto de Timer3. Uma
leitura
de TMR3L ir carregar o contedo do byte alto de
Timer3 no buffer Timer3 alta byte. Isto proporciona
ao usurio a capacidade de ler com preciso todos os 16 bits de
Timer1 sem ter de determinar se uma leitura de
byte elevado, seguida por uma leitura do byte baixo, tem
tornar-se invlido devido a um capotamento entre leituras.
A gravao para o byte mais alto de Timer3 deve tambm ter lugar
atravs do registo de buffer TMR3H. O Timer3 alta
byte atualizado com o contedo do TMR3H quando um
escrever ocorre TMR3L. Isso permite que um usurio para escrever
tudo
16 bits para ambos os bytes alto e baixo do Timer3 de uma vez.
A alta byte de Timer3 no diretamente legvel ou
gravvel neste modo. Todos l e escreve deve tomar
lugar atravs da Timer3 alta registo buffer de bytes.
Grava em TMR3H no limpar o prescaler Timer3.
O divisor s cancelado em escreve para TMR3L.
Incrementos: o TMR3 par de registradores (TMR3L TMR3H)
a partir de 0000h a FFFFh e transborda para 0000h. O
Timer3 de interrupo, se estiver ativado, gerado em excesso
e travado na interrupo bit bandeira, TMR3IF (PIR2 <1>).
Esta interrupo pode ser ativado ou desativado por definio ou
limpar a interrupo Habilitar bit Timer3, TMR3IE
(PIE2 <1>).
14,5 Repor Timer3 Usando o PCC
Gatilho Evento Especial
Se o mdulo CCP2 configurado para gerar um
Gatilho evento especial no modo Comparar
(CCP2M3: CCP2M0 = 1011), este sinal ir repor
Timer3. Tambm ir iniciar uma converso A / D, se a A / D
mdulo est ativado (ver Seo 15.3.4 "Special
Gatilho Event " para mais informaes.).
O mdulo deve ser configurado como um temporizador ou
contador sncrono para tirar proveito deste recurso.
Quando usado desta forma, a CCPR2H: CCPR2L registo
par efetivamente torna-se um perodo de registo para Timer3.
Se Timer3 est executando no modo contador assncrono,
a operao de reposio pode no funcionar.
No caso em que uma gravao coincide com uma Timer3
Gatilho evento especial de um mdulo CCP, a gravao ser
precedncia.
Nota: O Evento Especial Triggers do CCP2
mdulo no ir definir a interrupo TMR3IF
bit de flag (PIR2 <1>).
14,3 Usando o oscilador como a Timer1
Timer3 Clock Source
O Timer1 oscilador interno pode ser utilizado como o relgio
fonte para Timer3. O oscilador Timer1 ativado por
definindo o T1OSCEN (T1CON <3>) bit. Para us-lo como o
Timer3 fonte de clock, o bit TMR3CS tambm deve ser definido.
Conforme observado anteriormente, este tambm configura a
Timer3
incrementar em cada borda de subida da fonte de oscilador.
O oscilador Timer1 descrito em Seo 12.0
"Timer1 Module".
TABELA 14-1:
Nome
REGISTOS ASSOCIADOS TIMER3 como um temporizador / COUNTER
Bit 6 Bit 5
TMR0IE
USBIF
USBIE
USBIP
Bit 4
INT0IE
EEIF
EEIE
EEIP
Bit 3
RBIE
BCLIF
BCLIE
BCLIP
Bit 2
TMR0IF
HLVDIF
HLVDIE
HLVDIP
O bit 1
INT0IF
TMR3IF
TMR3IE
TMR3IP
Bit 0
RBIF
CCP2IF
CCP2IE
CCP2IP
Restabelecer
Valores
na pgina
53
56
56
56
55
55
TMR1CS
TMR3CS
TMR1ON
TMR3ON
54
55 T3CCP1 T3SYNC
Bit 7
INTCON GIE / GIEH PEIE / giel
PIR2
PIE2
IPR2
TMR3L
TMR3H
T1CON
T3CON
OSCFIF
OSCFIE
OSCFIP
CMIF
CMIE
CMIP
Timer3 Registrar Low Byte
Timer3 Register alta Byte
RD16
RD16
T1RUN
T3CCP2
T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
T3CKPS1 T3CKPS0
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados pelo mdulo Timer3.
v 2009 Microchip Technology Inc. DS39632E pgina 141
PIC18F2455/2550/4455/4550
NOTAS:
DS39632E pgina 142 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
15,0 Capture / COMPARE / PWM
(CCP) MDULOS
A captura e compare operaes descritas neste
captulo aplicam-se a todas as normas e Enhanced CCP
mdulos.
Nota: Ao longo desta seo e Seo 16.0
"Enhanced Capture / Compare / PWM (PEAC)
Module ", Referncias do registo e pouco
nomes para mdulos CCP so encaminhados para gera-
camente pela utilizao de "x" ou "y" no lugar do
nmero do mdulo especfico. Assim, "CCPxCON"
pode referir-se ao registro de controle para CCP1,
CCP2 ou ECCP1. "CCPxCON" usado
ao longo dessas sees para se referir ao
mdulo de controle registrar independentemente de
o mdulo de CCP um padro ou reforada
implementao.
PIC18F2455/2550/4455/4550 dispositivos tm dois
CCP (Capture / Compare / PWM) mdulos. Cada mdulo
contm um registo de 16 bits, o que pode funcionar como um 16 bits
Captura de registrar, a 16-bit Comparar registar ou um PWM
Master / registo Ciclo de trabalho escravo.
Em dispositivos de 28 pinos, os dois mdulos CCP padro (CCP1
e CCP2) operam como descrito neste captulo. Em
Dispositivos 40/44-pin, CCP1 implementado como um
Avanado mdulo CCP, com o Capture padro e
Compare os modos e modos de PWM melhoradas. O
Implementao PEAC discutido em Seo 16.0
"Enhanced Capture / Compare / PWM (PEAC) Module".
CADASTRE-SE 15-1:
U-0
-(1)
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7-6
bit 5-4
CCPxCON: PADRO CCPx registro de controle
U-0
-(1)
R/W-0
DCxB1
R/W-0
DCxB0
R/W-0
CCPxM3
R/W-0
CCPxM2
R/W-0
CCPxM1
R/W-0
CCPxM0
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
Unimplemented: Leia como '0 '(1)
DCxB1: DCxB0: PWM Ciclo Bit 1 e Bit 0 para o Mdulo CCPx
Modo de captura:
No utilizado.
Modo de comparao:
No utilizado.
Modo PWM:
Estes bits so os dois bits menos significativos (bit 1 bit 0 e) do ciclo de PWM de 10 bits. Os oito MSBS do dever
ciclo so encontrados em CCPR1L.
CCPxM3: CCPxM0: CCPx Mdulo modo de seleo de pedaos
0000 = Capture / Compare / PWM com deficincia (redefine CCPx mdulo)
0001 = Reservado
0010 Sada de alternncia na partida (CCPxIF bit definido): = modo Comparar
0011 = Reservado
0100 Cada borda de descida: = modo de captura
0101 Cada borda de subida: = modo de captura
0110 Cada quarto borda de subida: = modo de captura
0111 Cada borda de subida 16: = modo de captura
1000 = Modo Compare: inicializar CCPx pin baixo; comparar em jogo, fora CCPx pin alta (CCPxIF bit
definido)
1001 = Modo Compare: inicializar pin CCPx alta; comparar em jogo, fora CCPx pin baixa (CCPxIF bit
definido)
1010 = Modo Compare: gerar interrupo de software em jogo compare (CCPxIF bit definido, CCPx pin
reflete I / O Estado)
1011 Trigger evento especial, timer reset, iniciar converso A / D em CCPx jogo: = modo Comparar
(CCPxIF bit definido)
11xx = Modo PWM
Estes bits no so implementadas em dispositivos de 28 pinos e so lidos como '0 '.
bit 3-0
Nota 1:
v 2009 Microchip Technology Inc. DS39632E pgina 143
PIC18F2455/2550/4455/4550
15.1 Configurao do mdulo CCP
Cada Captura / Compare / PWM mdulo est associada
com um registo de controlo (genericamente, CCPxCON) e uma
registo de dados (CCPRx). O registo de dados, por sua vez,
formado por dois registradores de 8 bits: CCPRxL (baixo byte)
e CCPRxH (byte). Todos os registros so ambos
legvel e gravvel.
A atribuio de um temporizador em particular a um mdulo est
determinada pelo Timer para CCP habilitao bits no
T3CON registro (Register 14-1). Os dois mdulos podem ser
ativo em um determinado momento e podem compartilhar o mesmo
temporizador
recurso se eles esto configurados para operar na mesma
modo (Capture / Compare ou PWM) ao mesmo tempo. O
interaces entre os dois mdulos esto resumidos na
Figura 15-2. No Timer1 em modo de contador assncrono,
a operao de captura no vai funcionar.
15.1.1 MDULOS CCP e Timer
RECURSOS
15.1.2 CCP2 PIN CESSO
Os mdulos CCP utilizar Timers 1, 2 ou 3, dependendo
o modo seleccionado. Timer1 Timer3 e esto disponveis
para mdulos de captura ou comparar modos, enquanto
Timer2 est disponvel para os mdulos em modo PWM.
TABELA 15-1: CCP MODE - TIMER
RECURSOS
Resource temporizador
Timer1 ou Timer3
Timer1 ou Timer3
Timer2
A pinagem para CCP2 (captura de entrada, comparar
e PWM output) pode mudar, com base em dispositivo de config-
uration. O bit de configurao CCP2MX determina
que pin CCP2 multiplexada para. Por padro, ele
designado para RC1 (= CCP2MX 1). Se o bit de configurao
desmarcada, CCP2 multiplexado com RB3.
Alterar a atribuio de pinos de CCP2 no
alterar automaticamente todos os requisitos para a configurao
o pino da porta. Os usurios devem sempre verificar se a apro-
comeu TRIS registo est configurado corretamente para CCP2
operao, independentemente de onde ele est localizado.
Modo CCP / PEAC
Capturar
Comparar
PWM
TABELA 15-2:
Capturar
Capturar
INTERAO ENTRE CCP1 E CCP2 por recursos TIMER
Interao
Cada mdulo pode usar TMR1 ou TMR3 como a base de tempo. A base de tempo podem ser diferentes
para cada PCC.
CCP2 pode ser configurado para o acionamento do evento especial para redefinir TMR1 ou TMR3
(Dependendo da base de tempo usada). Converses A / D em evento de disparo automtico
tambm pode ser feito. Operao de CCP1 poderia ser afetado se ele estiver usando o mesmo
temporizador como um
base de tempo.
CCP1 ser configurado para o acionamento do evento especial para redefinir TMR1 ou TMR3
(dependendo
em que a base de tempo usada). Operao de CCP2 poderia ser afetado se ele estiver usando o
mesmo temporizador como base de tempo.
Qualquer mdulo pode ser configurado para o acionamento do evento especial para redefinir a base
de tempo.
Converses em CCP2 evento de disparo automtico A / D pode ser feito. Conflitos podem ocorrer se
ambos os mdulos esto usando a mesma base de tempo.
Nenhum
Nenhum
Nenhum
Nenhum
Ambos PWMs ter a mesma freqncia e taxa de atualizao (TMR2 interrupo).
Capturar
Comparar
CCP1 Modo CCP2 Modo
Comparar Capturar
Comparar Comparar
Capturar
Comparar
PWM(1)
PWM(1)
PWM(1)
Nota 1:
PWM(1)
PWM(1)
Capturar
Comparar
PWM
Inclui operao PWM padro e avanada.
DS39632E pgina 144 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
15.2 Capture Mode
15.2.3 Interrupo de software
No modo de captura, o CCPRxH: CCPRxL par de registradores
capta o valor da TMR1 TMR3 ou 16 bits
regista quando ocorre um acontecimento no correspondente
Pin CCPx. Um evento definido como um dos seguintes:




cada borda de descida
cada borda de subida
cada quarto borda de subida
cada borda de subida 16
Quando o modo de captura alterada, uma falsa captura
de interrupo pode ser gerado. O usurio deve manter o
CCPxIE interrupo permitir pouco clara para evitar falsas
as interrupes. O bit de flag de interrupo, CCPxIF, tambm deve
ser
apuradas aps tais mudanas no modo de operao.
15.2.4 CCP PRESCALER
O evento selecionado pelo modo de seleo de pedaos,
CCPxM3: CCPxM0 (CCPxCON <3:00>). Quando uma captura
feita, o pedido de interrupo da bandeira bit, CCPxIF, est
definido, mas
devem ser apuradas em software. Se ocorrer uma outra captura
antes o valor no registro CCPRx lido, o velho
valor captado ser substitudo pelo novo valor capturado.
H quatro configuraes prescaler no modo Capture.
Eles so especificados como parte do modo de operao
selecionado pelo O modo de seleco bits (CCPxM3: CCPxM0).
Sempre que o mdulo CCP est desligado ou captura
modo desativado, o contador divisor est desmarcada. Este
significa que qualquer Limpar ir limpar o contador divisor.
Mudar de um divisor de captura para outro pode
gerar uma interrupo. Alm disso, o contador divisor vontade
no afastada, por conseguinte, a primeira captura pode ser de
um divisor diferente de zero. Exemplo 15-1 mostra o
mtodo recomendado para comutao entre a captura
prescalers. Este exemplo tambm limpa o prescaler
combater e no gerar a interrupo "falso".
15.2.1 CCP PIN CONFIGURAO
No modo de captura, o pino CCPx apropriada deve ser
configurado como uma entrada, definindo o respectivo
TRIS bit direo.
Nota: Se RB3/CCP2 ou RC1/CCP2 est configurado
como uma sada, uma gravao na porta pode causar
uma condio de captura.
Exemplo 15-1: Alternar entre
CAPTURA prescalers
(CCP2 MOSTRADO)
15.2.2 TIMER1/TIMER3 MODO DE SELEO
Os temporizadores que so para ser usado com o recurso de
captura
(Timer1 e / ou Timer3) deve estar rodando no modo temporizador ou
Sincronizado modo Contador. No contador assncrono
modo, a operao de captura no funcionar. O temporizador de ser
usado com cada mdulo CCP selecionado no T3CON
registrar (ver Seo 15.1.1 "Mdulos CCP e Timer
Recursos ").
CLRF
MOVLW
MOVWF
CCP2CON; Vire mdulo CCP off
NEW_CAPT_PS; WREG de carga com o
, Novo modo prescaler
, Valor e CCP ON
CCP2CON; CCP2CON carga com
, Valor esse
FIGURA 15-1: CAPTURA DE MODO DE OPERAO DE BLOCO DIAGRAMA
Definir CCP1IF
T3CCP2
TMR3H
TMR3
Permitir
CCPR1H
TMR1
Permitir
TMR1H
Definir CCP2IF
TMR3H
TMR3
Permitir
CCPR2H
TMR1
Permitir
T3CCP2
T3CCP1
TMR1H TMR1L
CCPR2L
TMR3L
TMR1L
CCPR1L
TMR3L
CCP1 pin
Prescaler
| 1, 4, 16
e
Borda Detect
T3CCP2
CCP1CON <3:00>
Q1: Q4
CCP2CON <3:00>
4
4
4
T3CCP1
T3CCP2
CCP2 pin
Prescaler
| 1, 4, 16
e
Borda Detect
v 2009 Microchip Technology Inc. DS39632E pgina 145
PIC18F2455/2550/4455/4550
15,3 Compare Modo
15.3.2 TIMER1/TIMER3 MODO DE SELEO
No modo de comparao, o CCPRx valor do registrador de 16 bits
constantemente comparado com tanto o TMR1 ou TMR3
registar o valor par. Quando ocorrer uma correspondncia, o pino
CCPx
pode ser:




colocada em alta
impulsionado baixo
alternada (alta para baixa ou de baixa para maior)
permanecer inalterado (isto , reflecte o estado da
I / O trinco)
Timer1 e / ou Timer3 deve ser executado no modo Timer,
ou sincronizado modo de contador, se o mdulo de PCC
usando o recurso de comparao. No contador assncrono
modo, a operao de comparao pode no funcionar.
15.3.3 SOFTWARE INTERRUPO MODO
Quando o modo de interrupo de software Gerar escolhido
(CCPxM3: CCPxM0 = 1010), o CCPx correspondente
pin no afetado. Apenas uma interrupo de PCC gerado,
se habilitado, eo bit CCPxIE est definido.
A aco sobre o pino baseado no valor do modo
selecionar bits (CCPxM3: CCPxM0). Ao mesmo tempo, o
interrupo bit bandeira, CCPxIF, est definido.
15.3.4 TRIGGER EVENTO ESPECIAL
15.3.1 CCP PIN CONFIGURAO
O usurio deve configurar o pino CCPx como uma sada por
limpando o bit TRIS apropriado.
Nota: Limpando o registro CCP2CON forar
o RB3 ou RC1 comparar trava sada
(Dependendo da configurao do dispositivo) para o
baixo nvel padro. Este no o ou PORTB
Dados PORTC I / O trinco.
Ambos os mdulos CCP esto equipados com um evento especial
Trigger. Este um sinal de hardware interna gerada
em modo de comparao para desencadear aes de outros
mdulos.
The Trigger evento especial ativada selecionando
O modo de disparo Evento Especial Compare
(CCPxM3: CCPxM0 = 1011).
Para cada mdulo CCP, o Evento Especial Gatilho redefine
o temporizador par de registradores para qualquer recurso
temporizador
actualmente designado como base de tempo do mdulo. Este
permite que o CCPRx registra para servir como um programvel
Perodo de se inscrever para o timer.
The Trigger evento especial para CCP2 tambm pode iniciar uma
A converso A / D. A fim de fazer isso, o conversor A / D
j deve estar ativado.
FIGURA 15-2: COMPARAR MODO DE OPERAO DE BLOCO DIAGRAMA
Definir CCP1IF
Gatilho Evento Especial
(Timer1/Timer3 Reset)
CCP1 pin
Comparador
Comparar
Corresponder
Sada
Lgica
4
CCP1CON <3:00>
S
R
TRIS
Ativao de sada
Q
CCPR1H CCPR1L
0
TMR1H TMR1L
0
Gatilho Evento Especial
(Timer1/Timer3 Reset, A D Gatilho /)
T3CCP2
Definir CCP2IF CCP2 pin
Sada
Lgica
4
CCP2CON <3:00>
S
R
TRIS
Ativao de sada
Q
1
TMR3H
T3CCP1
TMR3L
1
Comparador
Comparar
Corresponder
CCPR2H CCPR2L
DS39632E pgina 146 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 15-3:
Nome
INTCON
RCON
PIR1
PIE1
IPR1
PIR2
PIE2
IPR2
TRISB
TRISC
TMR1L
TMR1H
T1CON
TMR3H
TMR3L
T3CON
CCPR1L
CCPR1H
CCP1CON
CCPR2L
CCPR2H
CCP2CON
Ficheiros associados com a captura, comparar TIMER1 E TIMER3
Bit 7 Bit 6 Bit 5
TMR0IE
-
RCIF
RCIE
RCIP
USBIF
USBIE
USBIP
TRISB5
-
Bit 4
INT0IE
RI
TXIF
TXIE
TXIP
EEIF
EEIE
EEIP
TRISB4
-
Bit 3
RBIE
TO
SSPIF
SSPIE
SSPIP
BCLIF
BCLIE
BCLIP
TRISB3
-
Bit 2
TMR0IF
PD
CCP1IF
CCP1IE
CCP1IP
HLVDIF
HLVDIE
HLVDIP
TRISB2
TRISC2
O bit 1
INT0IF
POR
TMR2IF
TMR2IE
TMR2IP
TMR3IF
TMR3IE
TMR3IP
TRISB1
TRISC1
Bit 0
RBIF
BOR
TMR1IF
TMR1IE
TMR1IP
CCP2IF
CCP2IE
CCP2IP
TRISB0
TRISC0
Restabelecer
Valores
na pgina
53
54
56
56
56
56
56
56
56
56
54
54
TMR1CS TMR1ON 54
55
55
T3CCP1 T3SYNC TMR3CS TMR3ON 55
55
55
CCP1M3 CCP1M2 CCP1M1 CCP1M0 55
55
55
CCP2M3 CCP2M2 CCP2M1 CCP2M0 55
GIE / GIEH PEIE / giel
IPEN
SPPIF(2)
SPPIE(2)
SPPIP(2)
OSCFIF
OSCFIE
OSCFIP
TRISB7
TRISC7
SBOREN(1)
ADIF
ADIE
ADIP
CMIF
CMIE
CMIP
TRISB6
TRISC6
Timer1 Registrar Low Byte
Timer1 Register alta Byte
RD16 T1RUN T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
Timer3 Register alta Byte
Timer3 Registrar Low Byte
RD16 T3CCP2 T3CKPS1 T3CKPS0
Capture / Compare / PWM Register 1 Low Byte
Capture / Compare / PWM Register 1 High Byte
P1M1(2) P1M0(2)
DC1B1 DC1B0
Capture / Compare / PWM Register 2 Low Byte
Capture / Compare / PWM Register 2 High Byte
- - DC2B1 DC2B0
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados pela Capture / Compare, Timer1 ou Timer3.
Nota 1: O bit SBOREN s est disponvel quando Boren <1:00> = 01; Caso contrrio, o bit l como '0 '.
2: Estes bits so no implementado em dispositivos de 28 pinos; sempre manter esses bits claras.
v 2009 Microchip Technology Inc. DS39632E pgina 147
PIC18F2455/2550/4455/4550
15,4 Modo PWM
15.4.1 PWM PERODO
No modo Pulse-Width Modulation (PWM), o pino CCPx
produz at uma sada PWM resoluo de 10-bit. Desde
o pino CCP2 multiplexado com a PORTB ou PORTC
trava de dados, o bit TRIS apropriado deve ser liberado para
fazer o pino CCP2 uma sada.
Nota: Limpando o registro CCP2CON forar
o fecho da sada RB3 ou RC1 (dependendo
da configurao do dispositivo) para o padro baixo
nvel. Este no o PORTB ou PORTC
I / O engate de dados.
O perodo de PWM especificado por escrito para o PR2
registrar. O perodo de PWM pode ser calculada utilizando a
a seguinte frmula:
EQUAO 15-1:
PWM Perodo = [(PR2) + 1] 4 tosc
(TMR2 Prescale Valor)
Frequncia de PWM definida como 1 / [perodo PWM].
Quando TMR2 igual a PR2, os seguintes eventos
ocorrer no prximo ciclo de incremento:
TMR2 eliminado
O pino CCPx est definido (exceo: se PWM duty
ciclo = 0%, o pino CCPx no ser definido)
O ciclo de trabalho PWM est fechada desde CCPRxL em
CCPRxH
Nota: Os Timer2 postscalers (ver Seo 13.0
"Timer2 Module") No so utilizados na
determinao da frequncia PWM. O
postscaler poderia ser utilizado para um servo
atualizar taxa em uma freqncia diferente
a sada de PWM.
A Figura 15-3 mostra um diagrama de blocos simplificado do
Mdulo CCP no modo PWM.
Para um procedimento passo-a-passo de como configurar o PCC
mdulo para operao PWM, consulte Seo 15.4.4
"Setup para PWM Operao".
FIGURA 15-3:
Ciclo de Registros
CCPRxL
SIMPLIFICADO PWM BLOCK
ESQUEMA
CCPxCON <5:04>
CCPRxH (Slave)
R Q
CCPx
Sada
S
Correspondente
TRIS bit
15.4.2 PWM CICLO
Comparador
(Nota 1) TMR2
Comparador
O ciclo de trabalho PWM especificado por escrito ao
CCPRxL registo e os CCPxCON <05:04> bits. Para cima
resoluo de 10 bits est disponvel. O CCPRxL contm
os oito e os MPEs CCPxCON <5:04> pedaos contm
os dois bits menos significativos. Este valor de 10 bits
representado pela
CCPRxL: CCPxCON <5:04>. A seguinte equao
utilizado para calcular o ciclo PWM no tempo:
PR2
Limpar Timer,
CCPx pino e
trava DC
EQUAO 15-2:
PWM Ciclo = (CCPRXL: CCPXCON <05:04>)
Tosc (TMR2 Prescale Valor)
CCPRxL e CCPxCON <05:04> pode ser escrito em qualquer
tempo, mas o valor do duty cycle no est fechada em
CCPRxH at depois de um jogo entre o PR2 e TMR2
ocorre (isto , o perodo completa). No modo de PWM
CCPRxH um registro de somente leitura.
Nota 1: O valor TMR2 8 bits est concatenado com a 2 bits
Q relgio interno, ou dois pedaos do prescaler, para criar a
Base de tempo de 10 bits.
A sada PWM (Figura 15-4) tem uma base de tempo (perodo)
e uma vez que a sada permanece elevada (duty cycle). O
frequncia do PWM o inverso do perodo
(1/period).
FIGURA 15-4:
Perodo
PWM SADA
Ciclo
TMR2 = PR2
TMR2 = Ciclo
TMR2 = PR2
DS39632E pgina 148 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
O registo CCPRxH e um 2-bit trava interna so
usado para dobrar-tamponar o ciclo PWM. Este
double-buffering essencial para glitchless PWM
operao.
Quando o CCPRxH e 2 bits trinco partida TMR2,
concatenado com um relgio Q 2-bit interno ou dois pedaos de
o TMR2 prescaler, o pino CCPx est desmarcada.
A resoluo mxima de PWM (bits) para um determinado PWM
frequncia dada pela equao:
EQUAO 15-3:
F OSClog ---------------
F PWM
Resoluo PWM (max) = ----------------------------- pedaos
log ( 2)
Nota: Se o valor do ciclo de PWM mais longo do que
o perodo de PWM, o pino CCPx no ser
apagadas.
TABELA 15-4: EXEMPLO PWM freqncias e resolues em 40 MHz
2,44 kHz
16
FFh
10
9,77 kHz
4
FFh
10
39.06 kHz
1
FFh
10
156,25 kHz
1
3Fh
8
312,50 kHz
1
1Fh
7
416,67 kHz
1
17h
6.58
PWM Frequency
Temporizador prescaler (1, 4, 16)
PR2 Valor
Resoluo Mxima (bits)
15.4.3 PWM de desligamento automtico
(CCP1 ONLY)
15.4.4 CONFIGURAO DE OPERAO PWM
Os PWM caractersticas auto-desligamento do avanado CCP
mdulo tambm esto disponveis para os dispositivos CCP1 28
pinos. O
funcionamento desse recurso discutido em detalhes no
Seo 16.4.7 "Enhanced PWM Auto-Shutdown".
Recursos de auto-desligamento no esto disponveis para
CCP2.
Os seguintes passos devem ser tomados na hora de configurar
o mdulo de operao CCPx PWM:
1.
2.
3.
4.
5.
Defina o perodo de PWM por escrito para o PR2
registrar.
Definir o ciclo PWM por escrito para o
CCPRxL registrar e CCPxCON <05:04> bits.
Fazer o pino CCPx uma sada limpando o
bit TRIS apropriado.
Defina o valor de pr-escala TMR2, ative
Timer2 escrevendo para T2CON.
Configure o mdulo CCPx para operao PWM.
v 2009 Microchip Technology Inc. DS39632E pgina 149
PIC18F2455/2550/4455/4550
TABELA 15-5:
Nome
INTCON
RCON
PIR1
PIE1
IPR1
TRISB
TRISC
TMR2
PR2
T2CON
CCPR1L
CCPR1H
CCP1CON
CCPR2L
CCPR2H
CCP2CON
ECCP1AS
ECCP1DEL
REGISTOS ASSOCIADOS PWM E TEMP2
Bit 7 Bit 6 Bit 5
TMR0IE
-
RCIF
RCIE
RCIP
TRISB5
-
Bit 4
INT0IE
RI
TXIF
TXIE
TXIP
TRISB4
-
Bit 3
RBIE
TO
SSPIF
SSPIE
SSPIP
TRISB3
-
Bit 2
TMR0IF
PD
CCP1IF
CCP1IE
CCP1IP
TRISB2
TRISC2
O bit 1
INT0IF
POR
TMR2IF
TMR2IE
TMR2IP
TRISB1
TRISC1
Bit 0
RBIF
BOR
TMR1IF
TMR1IE
TMR1IP
TRISB0
TRISC0
Restabelecer
Valores
na pgina
53
54
56
56
56
56
56
54
54
T2CKPS1 T2CKPS0 54
55
55
CCP1M3 CCP1M2 CCP1M1 CCP1M0 55
55
55
CCP2M3
PSSAC1
PDC3(2)
CCP2M2
PDC2(2)
CCP2M1
PDC1(2)
CCP2M0
PDC0(2)
55
55
55
PSSAC0 PSSBD1(2) PSSBD0(2)
GIE / GIEH PEIE / giel
IPEN
SPPIF(2)
SPPIE(2)
SPPIP(2)
TRISB7
TRISC7
SBOREN(1)
ADIF
ADIE
ADIP
TRISB6
TRISC6
Timer2 Registrar
Timer2 Perodo Registrar
- T2OUTPS3 T2OUTPS2 T2OUTPS1 T2OUTPS0 TMR2ON
Capture / Compare / PWM Register 1 Low Byte
Capture / Compare / PWM Register 1 High Byte
P1M1(2) P1M0(2)
DC1B1 DC1B0
Capture / Compare / PWM Register 2 Low Byte
Capture / Compare / PWM Register 2 High Byte
-
PRSEN
-
PDC6(2)
DC2B1
PDC5(2)
DC2B0
PDC4(2)
ECCPASE ECCPAS2 ECCPAS1 ECCPAS0
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados por PWM ou Timer2.
Nota 1: O bit SBOREN s est disponvel quando Boren <1:00> = 01; Caso contrrio, o bit l como '0 '.
2: Estes bits so no implementado em dispositivos de 28 pinos; sempre manter esses bits claras.
DS39632E pgina 150 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
16,0 REFORADA
Capture / COMPARE / PWM
(PEAC) MDULO
O mdulo de PEAC implementada apenas nas
Dispositivos 40/44-pin.
desligamento automtico e reinicie. O avanado
caractersticas so discutidos em detalhe na Seo 16.4
"Modo PWM avanado". Capturar, Compare e
nica sada PWM funes do mdulo PEAC so
o mesmo que o descrito para o mdulo CCP padro.
O registrador de controle para o mdulo CCP avanado
mostrado na Register 16-1. Difere do CCPxCON
registros em dispositivos de 28 pinos em que os dois mais signifi-
pedaos significativas so implementadas para controlar a
funcionalidade PWM.
Nota:
Nos dispositivos de 28 pinos, CCP1 implementado como um
padro
Mdulo CCP com recursos avanados PWM. Estes
incluem o fornecimento para 2 ou 4 canais de sada,
polaridade selecionvel pelo usurio, controle de banda morta e
CADASTRE-SE 16-1:
R/W-0
P1M1
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7-6
CCP1CON: PEAC registrador de controle (dispositivos 40/44-PIN)
R/W-0
P1M0
R/W-0
DC1B1
R/W-0
DC1B0
R/W-0
CCP1M3
R/W-0
CCP1M2
R/W-0
CCP1M1
R/W-0
CCP1M0
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
P1M1: P1M0: Aprimorados PWM bits de configurao de sada
Se CCP1M3: CCP1M2 = 00, 01, 10:
xx = P1A atribudo como Capture / Compare entrada / sada; P1B, P1C, P1d atribudo como pinos da porta
Se CCP1M3: CCP1M2 = 11:
00 = nica sada: P1A modulada; P1B, P1C, P1d atribudo como pinos da porta
01 = Sada Full-ponte para a frente: P1D modulada; P1A ativa; P1B, P1C inativo
10 = Sada Half-ponte: P1A, P1B modulada com controle de mortos-band; P1C, P1d atribudo como pinos da porta
11 = Reverse Full-ponte de sada: P1B modulada; P1C ativa; P1A, P1d inativo
DC1B1: DC1B0: PWM Dever Bit Ciclo 1 e Bit 0
Modo de captura:
No utilizado.
Modo de comparao:
No utilizado.
Modo PWM:
Estes bits so os dois bits menos significativos do ciclo PWM de 10 bits. Os oito MSBs do ciclo so encontrados
em CCPR1L.
CCP1M3: CCP1M0: Aprimorados CCP modo de seleo pedaos
0000 = Capture / Compare / PWM off (redefine PEAC mdulo)
0001 = Reservado
0010 = Comparar modo, a sada de alternncia na partida
0011 = Modo de captura
0100 = Modo de captura, cada borda de descida
0101 = Modo de captura, cada borda de subida
0110 = Modo de captura, cada quarto borda de subida
0111 = Modo de captura, cada borda de subida 16
1000 = Modo de comparao, inicializar CCP1 pin baixo, definir a sada de comparar jogo (conjunto CCP1IF)
1001 = Modo de comparao, inicializar CCP1 pin alta, a sada clara comparar jogo (conjunto CCP1IF)
1010 = Modo de comparao, geram apenas interrupo de software, pin CCP1 reverte para I / O Estado
1011 = Modo de comparao, gatilho evento especial (CCP1 redefine TMR1 ou TMR3, define CCP1IF bit)
1100 = Modo PWM: P1A, P1C ativo-alta; P1B, P1D ativa alta
1101 = Modo PWM: P1A, P1C ativo-alta; P1B, P1D baixo ativo
1110 = Modo PWM: P1A, P1C baixo ativo; P1B, P1D ativa alta
1111 = Modo PWM: P1A, P1C baixo ativo; P1B, P1D baixo ativo
bit 5-4
bit 3-0
v 2009 Microchip Technology Inc. DS39632E pgina 151
PIC18F2455/2550/4455/4550
Em adio ampla gama de modos disponveis
atravs do registo CCP1CON, o mdulo PEAC tem
dois registros adicionais associados com Enhanced
Operao PWM e recursos de auto-desligamento. Eles so:
ECCP1DEL (PWM Dead-Banda Delay)
ECCP1AS (PEAC Auto-Shutdown Control)
16,2 Capture e Compare Modos
16.1 Sadas do PEAC e Configurao
Exceto para o funcionamento do gatilho Evento Especial
discutido abaixo, a captura e comparar os modos de
o mdulo de PEAC so idnticos em funcionamento ao da
CCP. Estes so discutidos em detalhe na Seo 15.2
"Capture Mode" e Seo 15.3 "Comparar
Mode ".
O mdulo de PCC reforada pode ter at quatro PWM
sadas, dependendo do modo de operao seleccionado.
Estas sadas, designados P1A atravs P1D, so
multiplexadas com pinos de I / O em PORTC e PORTD. O
sadas que esto ativos dependem do funcionamento CCP
modo seleccionado. As atribuies de pinos so resumidos
na Tabela 16-1.
Para configurar os pinos de I / O como sadas PWM, o bom
Modo PWM deve ser selecionado, definindo o
P1M1: P1M0 e CCP1M3: CCP1M0 bits. O
pedaos de direo TRISC e TRISD apropriadas para a porta
pins tambm deve ser definido como sadas.
16.2.1 TRIGGER EVENTO ESPECIAL
A sada de disparo Evento Especial de PEAC redefine o
TMR1 ou TMR3 par de registradores, dependendo do temporizador
recurso est atualmente selecionado. Isto permite que o
CCPR1H: CCPR1L registra a ser efetivamente um 16-bit
perodo programvel se inscrever para Timer1 ou Timer3.
16,3 PWM Modo padro
16.1.1 MDULOS PEAC e Timer
RECURSOS
Quando configurado no modo Single Output, o PEAC
funes do mdulo de forma idntica ao CCP padro
mdulo no modo de PWM, conforme descrito em Seo 15.4
"Modo PWM". Isto tambm por vezes referido como
Modo "Compatvel CCP", como na Tabela 16-1.
Nota: Ao configurar nica sada PWM
operaes, os usurios so livres para usar qualquer
um dos
os processos descritos em Seo 15.4.4
"Setup para PWM Operao" ou
Seo 16.4.9 "Configurao para PWM Opera-
o ". Este ltimo mais genrico, mas vai
trabalhar ou PWM simples ou multi-sada.
Como os mdulos de CCP padro, o mdulo pode PEAC
utilizar temporizadores 1, 2 ou 3, dependendo do modo
seleccionada. Timer1 Timer3 e esto disponveis para os mdulos
em Capturar ou comparar modos, enquanto Timer2
disponvel para os mdulos no modo de PWM. Interaes
entre os mdulos CCP padro e avanada so
idnticos aos descritos para os mdulos CCP padro.
Detalhes adicionais sobre os recursos do timer so fornecidos em
Seo 15.1.1 "CCPModulesandTimer
Recursos ".
TABELA 16-1:
PEAC Modo
Atribuies de pinos para diversas ECCP1 MODOS
CCP1CON
Configurao
00xx 11xx
10xx 11xx
x1xx 11xx
RC2 RD5 RD6 RD7
Todos os PIC18F4455/4550 dispositivos:
Compatvel CCP
Duplo PWM
Quad PWM
CCP1
P1A
P1A
RD5/SPP5
P1B
P1B
RD6/SPP6
RD6/SPP6
P1C
RD7/SPP7
RD7/SPP7
P1D
Legenda: x= No me importo. As clulas sombreadas indicam as atribuies de pinos no utilizados pelo PEAC em um
determinado modo.
DS39632E pgina 152 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
16,4 Avanado Modo PWM
16.4.1 PWM PERODO
O modo PWM Avanado fornece PWM adicional
opes de sada para uma ampla gama de controle apli-
es. O mdulo uma verso compatvel do
o mdulo CCP padro e oferece at quatro sadas,
designado P1A atravs P1D. Os usurios tambm so capazes de
seleccionar a polaridade do sinal (ou activa ou maior
ativo baixo). Modo de sada do mdulo e polaridade so
configurado, definindo o P1M1: P1M0 e
CCP1M3: CCP1M0 bits do registo CCP1CON.
A Figura 16-1 mostra um diagrama de blocos simplificado de PWM
operao. Todos os registros de controle so double-buffer e
so carregados no incio de um novo ciclo de PWM (o
limite perodo Timer2 repe), a fim de
evitar falhas em qualquer uma das sadas. A exceo
o PWM Morto-Band registo Delay, ECCP1DEL,
que carregado em cada ciclo de trabalho a fronteira ou a
perodo limite (o que vier primeiro). Por causa de
o tampo, o mdulo de espera at que o temporizador atribudo
repe em vez de comear imediatamente. Isto significa que
Maior onda PWM no corresponder exatamente ao
padro PWM de onda, mas so compensados por
um ciclo de instruo completa (4 tosc).
Como antes, o usurio deve configurar manualmente o
bits de TRIS adequadas para sada.
O perodo de PWM especificado por escrito para o PR2
registrar. O perodo de PWM pode ser calculada utilizando a
seguinte equao:
EQUAO 16-1:
PWM Perodo = [(PR2) + 1] 4 tosc
(TMR2 Prescale Valor)
Frequncia de PWM definida como 1 / [perodo PWM]. Quando
TMR2 igual a PR2, os seguintes trs casos ocorrem
no prximo ciclo de incremento:
TMR2 eliminado
O pino CCP1 est definido (se PWM duty cycle = 0%, o
CCP1 pin no ser definido)
O ciclo de trabalho PWM copiado CCPR1L em
CCPR1H
Nota: O Timer2 postscaler (ver Seo 13.0
"Timer2 Module") no utilizado na
determinao da frequncia PWM. O
postscaler poderia ser utilizado para um servo
atualizar taxa em uma freqncia diferente
a sada de PWM.
FIGURA 16-1: SIMPLIFICADO diagrama de blocos do REFORADA MDULO PWM
CCP1CON <5:04>
P1M1: P1M0
2 4
CCP1/P1A
TRISD <4>
CCP1M3: CCP1M0
Ciclo de Registros
CCPR1L
CCP1/P1A
CCPR1H (Slave)
Comparador R Q
P1B
Sada
Controlador
P1C
TRISD <5>
P1B
TMR2 (Nota 1)
P1C
TRISD <6>
S
P1D
Comparador
P1D
TRISD <7>
PR2
Limpar Timer,
definir CCP1 pino e
trava DC
ECCP1DEL
Nota: O registo TMR2 8 bits est concatenado com a 2 bits Q relgio interno, ou dois bits do divisor, para criar o tempo de 10 bits
base.
v 2009 Microchip Technology Inc. DS39632E pgina 153
PIC18F2455/2550/4455/4550
16.4.2 PWM CICLO EQUAO 16-3:
log FOSC
EfPWM
Resoluo de PWM (max) =
log (2)
O ciclo de trabalho PWM especificado por escrito ao
CCPR1L registo e os CCP1CON <05:04> bits. Para cima
resoluo de 10 bits est disponvel. O CCPR1L contm
os oito MPEs ea CCP1CON <5:04> contm o
dois LSBs. Este valor de 10 bits representado pela
CCPR1L: CCP1CON <5:04>. O ciclo de PWM est
calculada pela seguinte equao.
( )pedaos
Nota:
EQUAO 16-2:
PWM Ciclo = (CCPR1L: CCP1CON <05:04>
Tosc (TMR2 Prescale Valor)
CCPR1L e CCP1CON <05:04> pode ser escrito em qualquer
o tempo, mas o valor do ciclo de trabalho no copiado
CCPR1H at que uma correspondncia entre PR2 e TMR2 ocorre
(Isto , o perodo completa). No modo de PWM, CCPR1H
um registro de somente leitura.
O registo CCPR1H e um 2-bit trava interna so
usado para dobrar-tamponar o ciclo PWM. Este
double-buffering essencial para glitchless PWM opera-
o. Quando o CCPR1H e 2 bits trinco partida TMR2,
concatenado com um relgio Q 2 bits internos ou dois bits
do TMR2 prescaler, o pino CCP1 est desmarcada. O
resoluo mxima de PWM (bits) para um determinado PWM
frequncia dada pela seguinte equao.
Se o valor do ciclo de PWM mais longo do que
o perodo de PWM, o pino CCP1 no ser
apagadas.
16.4.3 Configuraes de sada PWM
A P1M1: P1M0 bits no registrador CCP1CON permitir
uma das quatro configuraes:




Single Output
Sada de Meia Ponte
Output Full-Bridge, modo de avano
Output Full-Bridge, o modo reverso
O nico modo de sada o modo PWM padro
discutido Seo 16.4 "Modo PWM avanado".
Os modos de sada de meia-ponte e Full-Bridge so
coberto em detalhes nas sees que se seguem.
A relao geral das sadas em todos
configuraes so resumidos na Figura 16-2 e
Figura 16-3.
TABELA 16-2: EXEMPLO PWM freqncias e resolues em 40 MHz
2,44 kHz
16
FFh
10
9,77 kHz
4
FFh
10
39.06 kHz
1
FFh
10
156,25 kHz
1
3Fh
8
312,50 kHz
1
1Fh
7
416,67 kHz
1
17h
6.58
PWM Frequency
Temporizador prescaler (1, 4, 16)
PR2 Valor
Resoluo Mxima (bits)
DS39632E pgina 154 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
FIGURA 16-2: RELACIONAMENTOS sada PWM (ACTIVE-ALTO DO ESTADO)
SINAL
0
Dever
Ciclo
Perodo
P1A Modulada
P1A Modulada
10 (Half-Bridge)
P1B Modulada
P1A atividade
(Full-Bridge,
Forward)
P1B Inativo
P1C Inativo
P1D Modulada
P1A Inativo
11
(Full-Bridge,
Reversa)
P1B Modulada
P1C atividade
P1D Inativo
PR2 + 1
CCP1CON
<7:06>
00 (Single Output)
Atrasar(1) Atrasar(1)
01
FIGURA 16-3: RELACIONAMENTOS sada PWM (estado ativo baixo)
SINAL
0
Dever
Ciclo
Perodo
P1A Modulada
P1A Modulada
PR2 + 1
CCP1CON
<7:06>
00 (Single Output)
10 (Half-Bridge)
Atrasar(1)
P1B Modulada
P1A atividade
Atrasar(1)
01
(Full-Bridge,
Forward)
P1B Inativo
P1C Inativo
P1D Modulada
P1A Inativo
11
(Full-Bridge,
Reversa)
P1B Modulada
P1C atividade
P1D Inativo
Relacionamentos:
Perodo = 4 * tosc * (PR2 + 1) * (TMR2 Prescale Valor)
Ciclo de trabalho = tosc * (CCPR1L <07:00>: CCP1CON <05:04>) * (TMR2 Prescale Valor)
Atraso = 4 * tosc * (ECCP1DEL <06:00>)
Nota 1: Atraso Dead-band programado usando o registro ECCP1DEL (Seo 16.4.6 "Programmable Delay Dead-Band").
v 2009 Microchip Technology Inc. DS39632E pgina 155
PIC18F2455/2550/4455/4550
16.4.4 HALF-BRIDGE MODO FIGURA 16-4:
Perodo
Ciclo
P1A(2)
td
P1B(2)
(1)
No modo de sada de Half-Bridge, dois pinos so usados como
sadas para conduzir cargas push-pull. A sada PWM sig-
nal sada no pino P1A, enquanto o complementar
Sinal de sada de PWM sada no pino P1B
(Figura 16-4). Este modo pode ser utilizado para a meia-ponte
aplicaes, como mostrado na Figura 16-5, ou em ponte completa
aplicaes onde quatro interruptores de alimentao esto sendo
com dois sinais modulados PWM.
No modo de sada de Half-Bridge, o programvel
atraso da banda morta pode ser utilizado para prevenir decididos
atravs
corrente em dispositivos de energia semi-ponte. O valor de bits
PDC6: PDC0 define o nmero de ciclos de instruo
antes da sada levada ativo. Se o valor for maior
do que o ciclo de trabalho, a correspondente sada permanece
inactivo durante todo o ciclo. Ver Seo 16.4.6
"Programmable Delay Dead-Band" para mais detalhes
das operaes de atraso morto da banda.
Desde as sadas P1A e P1B so multiplexados com
os PORTC <2> e PORTD <5> Dados travas, o
TRISC <2> e TRISD <5> bits devem ser apuradas para
configurar P1A e P1B como sadas.
HALF-BRIDGE PWM
SADA
Perodo
td
(1) (1)
td = Atraso Morto-Band
Nota 1: Neste momento, o registo TMR2 igual ao
PR2 registar.
2: Os sinais de sada so mostrados como ativo-alta.
FIGURA 16-5: EXEMPLOS DE meia-ponte SADA aplicaes de modo
V +
Padro Meia Ponte Circuit ("Push-Pull")
PIC18FX455/X550
P1A
FET
Motorista
+
V
-
Carregar
+
V
-
FET
Motorista
P1B
Sada Meia Ponte Dirigir um circuito Full-Ponte
V +
PIC18FX455/X550
P1A
V-
FET
Motorista
FET
Motorista
FET
Motorista
P1B
Carregar
FET
Motorista
V-
DS39632E pgina 156 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
16.4.5 MODO FULL-BRIDGE
No modo de sada Full-Bridge, quatro pinos so utilizados como
sadas, no entanto, apenas duas sadas esto ativas ao mesmo
tempo.
No modo de avano, o pino P1A continuamente ativo
e pin P1D modulada. No modo reverso, o pino
P1C continuamente ativa e pin P1B modulada.
Estes esto ilustrados na Figura 16-6.
P1A, P1B, P1C e sadas so multiplexados com P1d
o PORTC <2>, PORTD <5>, PORTD <6> e
PORTD <7> dados travas. O TRISC <2>, TRISD <5>,
TRISD <6> e TRISD <7> bits devem ser apuradas para
fazer a P1A, P1B, P1C e sadas pinos P1d.
FIGURA 16-6:
Modo de frente
FULL-BRIDGE sada PWM
Perodo
P1A(2)
Ciclo
P1B(2)
P1C(2)
P1D(2)
(1)
Modo de reverter
Perodo
Ciclo
P1A
(2)
(1)
P1B(2)
P1C(2)
P1D(2)
(1)
Nota 1: Neste momento, o registo TMR2 igual ao registo PR2.
Nota 2: O sinal de sada mostrada como ativa-alta.
(1)
v 2009 Microchip Technology Inc. DS39632E pgina 157
PIC18F2455/2550/4455/4550
FIGURA 16-7: EXEMPLO DE APLICAO FULL-BRIDGE
V +
PIC18FX455/X550
P1A
FET
Motorista
QA
QC
FET
Motorista
P1B
FET
Motorista
Carregar
FET
Motorista
P1C
QB
QD
V-
P1D
16.4.5.1 Mudana de direo em modo Full-Bridge
No modo de sada Full-Bridge, o bit P1M1 no
CCP1CON registo permite que o usurio controle o
frente / verso direo. Quando o aplicativo firma-
utenslios de muda este bit de controle de direo, o mdulo
assumir a nova direo no prximo ciclo de PWM.
Pouco antes do final do perodo de PWM actual, o
sadas modulada (P1B e P1D) so colocados na sua
estado inativo, enquanto que as sadas no modulados (P1A e
P1C) esto ligados a dirigir na direo oposta.
Isto ocorre num intervalo de tempo de (4 tosc * (Timer2
Prescale Value) antes do prximo perodo de PWM comea.
O divisor Timer2 vai ser 1, 4 ou 16,
dependendo do valor do T2CKPS1: T2CKPS0 bocados
(T2CON <1:00>). Durante o intervalo entre o comutador de
as sadas no modulada para o incio da prxima
perodo, as sadas de modulao (P1B e P1D) permanecem
inativa. Esta relao est representada na figura 16-8.
Note-se que no modo de sada Full-Bridge, o PEAC
mdulo no fornece qualquer atraso mortos-band. Em gen-
ral, uma vez que apenas uma sada modulada em todos os
momentos,
atraso da banda morta no necessria. No entanto, existe uma
situao em que um atraso de banda morta, pode ser necessria.
Essa situao ocorre quando ambas as seguintes
condies forem verdadeiras:
1.
2.
A direco da sada PWM muda quando
o ciclo de funcionamento da sada igual ou prximo de
100%.
O tempo de desligamento do interruptor de alimentao,
incluindo
o dispositivo de alimentao e circuito de conduo, maior
que a virada no tempo.
Figura 16-9 mostra um exemplo onde o PWM direc-
mudanas o de frente para reverter a uma quase 100%
ciclo de trabalho. No tempo t1, as sadas, P1A e P1D,
tornar-se inativo, enquanto P1C sada torna-se ativa. Em
Neste exemplo, uma vez que o tempo de desligamento do poder
dispositivos maior do que a virada no tempo, um shoot-through
corrente pode fluir atravs de dispositivos de energia, QC e QD,
(Ver Figura 16-7) para a durao do "t". A mesma coisa
fenmeno ir ocorrer para dispositivos de energia, QA e QB,
PWM para mudana de direo de sentido inverso de transmitir.
Se mudar de direco PWM no ciclo de alta necessria
para uma aplicao, um dos seguintes requisitos
devem ser atendidos:
1.
2.
Reduzir PWM por um perodo PWM antes
mudar de direco.
Utilize drivers interruptor que pode conduzir o desliga
mais rpido do que eles podem lev-los por diante.
Outras opes para evitar shoot-through atual pode
existir.
DS39632E pgina 158 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
FIGURA 16-8:
SINAL
P1A (Active-High)
P1B (Active-High)
DC
P1C (Active-High)
P1D (Active-High)
DC
Nota 1: O bit de direo no CCP1 Controle registo (CCP1CON <7>) escrito em qualquer altura durante o ciclo de PWM.
2: Quando mudar de direo, os sinais P1A e P1C mudar antes do fim do atual ciclo de PWM em intervalos
tosc de 4, 16 ou 64 tosc tosc, dependendo do valor divisor Timer2. O P1B sinais modul ados e P1D
so inactivos no momento.
(Nota 2)
PWM mudana de direo
Perodo(1)
Perodo
FIGURA 16-9: PWM mudana de direo para perto de 100% CICLO
Perodo para a frente
t1
Perodo de reverter
P1A(1)
P1B(1)
P1C(1)
P1D(1)
External Mudar C(1)
DC
DC
tON(2)
tOFF(3)
Chave D externo(1)
t = tOFF - tON(2, 3)
Potencial
Atire-Through Current(1)
Nota 1: Todos os sinais so apresentados como ativo-alta.
2: tON o turn-on delay do interruptor QC poder e seu motorista.
3: tOFF o atraso turn-off do interruptor QD e seu motorista.
v 2009 Microchip Technology Inc. DS39632E pgina 159
PIC18F2455/2550/4455/4550
16.4.6
Nota:
PROGRAMVEL DEAD-BAND
ATRASO
Atraso mortos-band programvel no
implementada em dispositivos de 28 pinos com
mdulos CCP padro.
Em aplicaes de meia-ponte, onde todos os interruptores esto
modulado na frequncia PWM em todas as vezes, o poder
chaves normalmente necessitam de mais tempo para desligar do
que
ligar. Se ambos os interruptores superiores e inferiores so
ligado ao mesmo tempo (um ligado e a outra
desligado), ambos os comutadores pode ser por um perodo curto
de
tempo at um interruptor fica completamente desligado. Durante
esta
intervalo breve, uma corrente muito alta (shoot-through actual)
pode fluir atravs de dois interruptores, o curto-circuito
fornecimento ponte. Para evitar isso, potencialmente destrutivo
atirar-through fluxo de corrente durante a comutao,
transformando em um dos interruptores normalmente
adiada para permitir que o outro interruptor para desligar
completamente.
No modo de sada de Half-Bridge, um digitalmente programa
atraso mortos-band programvel est disponvel para evitar
atirar-through actual de destruir a ponte
interruptores. O atraso ocorre no sinal de tran-
o do estado no ativo para o estado ativo. Ver
Figura 16-4 para ilustrao. Bits PDC6: PDC0 do
ECCP1DEL registro (Register 16-2) definir o atraso
em termos de perodo de ciclos de instruo do microcontrolador
(TCY ou 4 tosc). Estes bits no esto disponveis em 28-pin
dispositivos, como o mdulo CCP padro no suporta
operao half-bridge.
Um evento de desligamento pode ser causado por qualquer um dos
mdulos de comparao, um nvel baixo no
RB0/AN12/INT0/FLT0/SDI/SDA pin, ou qualquer combinao
destes trs fontes. Os comparadores podem ser usadas para
monitorizar uma entrada de tenso proporcional corrente de um
ser
monitorizados no circuito da ponte. Se a tenso for superior a um
limite, o comparador muda de estado e dispara um
desligamento. Alternativamente, um sinal digital no pino INT0
tambm pode desencadear uma paralisao. O recurso de auto-
desligamento
pode ser desativado por no escolher qualquer auto-desligamento
fontes. As fontes de auto-desligamento a serem utilizados so
selecionadas utilizando ECCPAS2: ECCPAS0 pedaos (bits <6:04>
do registo ECCP1AS).
Quando ocorre uma interrupo, os pinos de sada so
assncrona colocados em seus estados de desligamento,
specifiedbythePSSAC1: PSSAC0and
PSSBD1: PSSBD0 bits (ECCP1AS3: ECCP1AS0). Cada
par de pinos (P1A/P1C e P1B/P1D) pode ser definida para a
unidade
alta, a unidade baixa ou ser tri-indicado (no dirigir). O
ECCPASE bit (ECCP1AS <7>) tambm est definido para manter o
Sadas PWM melhoradas em seus estados de desligamento.
O bit ECCPASE definido pelo hardware quando um desligamento
evento ocorre. Se reinicializaes automticas no esto habilitados,
o
ECCPASE bit desmarcada por firmware quando a causa da
a parada limpa. Se reinicializaes automticas esto ativadas,
o bit ECCPASE apagado automaticamente quando o
causa da auto-desligamento foi eliminada.
Se o bit ECCPASE definido quando comea um perodo de PWM,
as sadas PWM permanecem em seu estado de desligamento para
que
todo o perodo PWM. Quando o bit ECCPASE estiver desmarcada,
as sadas PWM retornar ao funcionamento normal no
incio do prximo perodo de PWM.
Nota: Escrevendo para o bit ECCPASE est desativado
enquanto uma condio de desligamento est ativo.
16.4.7 REFORADA PWM de desligamento automtico
Quando PEAC est programado para qualquer um dos aprimorada
PWM modos, os pinos de sada activos podem ser configurados
para auto-desligamento. Auto-desligamento coloca imediatamente
os avanados sada PWM pinos para um desligamento definido
afirmar quando ocorre um evento de encerramento.
CADASTRE-SE 16-2:
R/W-0
PRSEN
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
ECCP1DEL: PWM DEAD-BAND REGISTRAR ATRASO
R/W-0 R/W-0
PDC5(1)
R/W-0
PDC4(1)
R/W-0
PDC3(1)
R/W-0
PDC2(1)
R/W-0
PDC1(1)
R/W-0
PDC0(1)
bit 0
PDC6(1)
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
PRSEN: PWM Restart Habilitar bit
1= Aps a auto-desligamento, o bit ECCPASE apaga automaticamente uma vez que o evento de encerramento vai
embora;
o PWM ser reiniciado automaticamente
0= Aps a auto-desligamento, ECCPASE devem ser apuradas em software para reiniciar o PWM
PDC6: PDC0: PWM Atraso pedaos Contagem(1)
Tempo de atraso, em nmero de FOSC / 4 (4 *) tosc ciclos, entre o tempo programado e real de um PWM
sinalizar a transio para o ativo.
Reservados em dispositivos de 28 pinos; manter esses bits clara.
bit 6-0
Nota 1:
DS39632E pgina 160 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
CADASTRE-SE 16-3:
R/W-0
ECCPASE
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
ECCP1AS: Capture Enhanced / COMPARE / PWM de desligamento automtico
Registro de controle
R/W-0 R/W-0
ECCPAS1
R/W-0
ECCPAS0
R/W-0
PSSAC1
R/W-0
PSSAC0
R/W-0
PSSBD1(1)
R/W-0
PSSBD0(1)
bit 0
ECCPAS2
ECCPASE: PEAC Auto-Shutdown Evento bit Estado
1Ocorreu = Um evento de desligamento; sadas PEAC esto em estado de desligamento
0= Sadas PEAC esto operando
ECCPAS2: ECCPAS0: PEAC Auto-desligamento Source Select pedaos
111 = FLT0 ou Comparator 1 ou 2 Comparador
110 = FLT0 ou Comparator 2
101 = FLT0 ou Comparador 1
100 = FLT0
011 = Ou Comparador 1 ou 2
010 = Sada do comparador 2
001 = Comparador uma sada
000 = Auto-shutdown desativado
PSSAC1: PSSAC0: Pinos A e C Desligamento bits de controle do Estado
1x = Pinos A e (dispositivos 40/44-pin) C tri-state
01 = Unidade pinos A e C para '1 '
00 = Unidade pinos A e C para '0 '
PSSBD1: PSSBD0: Pinos B e D desligamento bits de controle do Estado(1)
1x = Pinos B e D tri-state
01 = Unidade pinos B e D para '1 '
00 = Unidade pinos B e D para '0 '
Reservados em dispositivos de 28 pinos; manter esses bits clara.
bit 6-4
bit 3-2
bit 1-0
Nota 1:
v 2009 Microchip Technology Inc. DS39632E pgina 161
PIC18F2455/2550/4455/4550
16.4.7.1 Auto-Shutdown e Auto-Restart 16.4.8 Start-up CONSIDERAES
O recurso de auto-desligamento pode ser configurado para permitir
reinicializaes automticas do mdulo aps um desligamento
causado
evento. Isso ativado, definindo o bit PRSEN do
ECCP1DEL registo (ECCP1DEL <7>).
No modo de desligamento com PRSEN = 1(Figura 16-10), o
ECCPASE bit permanecer definir por quanto tempo a causa
da paralisao continua. Quando o desligamento condi-
o limpa, o bit ECCP1ASE est desmarcada. Se PRSEN = 0
(Figura 16-11), uma vez que ocorre uma condio de encerramento,
a
ECCPASE bit ficar definido at que sejam retirados por
firmware. Uma vez ECCPASE estiver desmarcada, o avanado
PWM ser retomada no incio da prxima PWM
perodo.
Nota: Escrevendo para o bit ECCPASE est desativado
enquanto uma condio de desligamento est ativo.
Quando o mdulo de PEAC utilizado no modo de PWM, o
hardware aplicativo deve usar o externo apropriado pull-up
e / ou resistncias de pull-down nos pinos de sada PWM. Quando
o microcontrolador libertado a partir de Reset, todas as I / O
dos pinos esto no estado de alta impedncia. Os circuitos externos
deve manter os dispositivos de comutao de energia no estado
OFF at
o microcontrolador aciona os pinos de I / O com o bom
nveis de sinal ou ativa a sada PWM (s).
O CCP1M1: CCP1M0 bits (CCP1CON <01:00>) permitem
ao usurio escolher se os sinais de sada PWM so
active-alto ou baixo ativo para cada par de sada PWM
pinos (P1A/P1C e P1B/P1D). A sada de PWM
polaridades devem ser selecionados antes de os pinos PWM so
configurado como sadas. Alterando a polaridade configurador
o, enquanto os pinos do PWM configurado como sadas
no recomendado, uma vez que pode resultar em danos ao
circuitos de aplicao.
A sada P1A, P1B, P1C e P1D trincos no pode ser
nos estados adequados, quando o mdulo de PWM inicializado.
Activar os pinos PWM para a sada, ao mesmo tempo que
o mdulo de PEAC pode causar danos apli-
circuito o. O mdulo PEAC deve estar habilitado no
modo de sada adequada e completar um ciclo completo PWM
antes de configurar os pinos PWM como sadas. O com-
pletion de um ciclo completo de PWM indicado pela TMR2IF
bit sendo definido como o segundo perodo de PWM comea.
Independente da configurao PRSEN bits, se o
fonte de desligamento automtico um dos comparadores, o
condio de desligamento um nvel. O bit ECCPASE
no pode ser apagado, enquanto a causa do desligamento
persiste.
O modo Auto-Desligar pode ser forado a escrever um '1 '
para o bit ECCPASE.
FIGURA 16-10: PWM de desligamento automtico (PRSEN = 1, Reinicializao automtica habilitada)
PWM Perodo PWM Perodo PWM Perodo
PWM Atividade
Dead Time
Ciclo
Dead Time
Ciclo
Dead Time
Ciclo
Shutdown evento
ECCPASE bit
FIGURA 16-11: PWM de desligamento automtico (PRSEN = 0, Reinicializao automtica DESATIVADO)
PWM Perodo PWM Perodo PWM Perodo
PWM Atividade
Dead Time
Ciclo
Dead Time
Ciclo
Dead Time
Ciclo
Shutdown evento
ECCPASE bit
ECCPASE
Apuradas por Firmware
DS39632E pgina 162 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
16.4.9 CONFIGURAO DE OPERAO PWM 16.4.10
Os seguintes passos devem ser tomados na hora de configurar
o mdulo de operao PEAC PWM:
Configurar os pinos PWM, P1A e P1B (e
P1C e P1D, se utilizado), como entradas, definindo a
correspondentes pedaos TRIS.
2. Defina o perodo de PWM, carregando o registo PR2.
3. Se auto-desligamento necessrio, faa o seguinte:
Desativar auto-shutdown (ECCPASE = 0)
Configurar fonte (FLT0, comparador 1 ou
Comparador 2)
Aguarde condio de no-shutdown
4. Configure o mdulo PEAC para o desejado
Modo de PWM e configurao carregando o
CCP1CON registrar com os valores apropriados:
Selecione uma das sada disponvel
configuraes e direo com a
P1M1: P1M0 bits.
Selecione as polaridades da sada PWM
sinais com a CCP1M3: CCP1M0 bits.
5. Definir o ciclo PWM, carregando o CCPR1L
Registre-se e CCP1CON <05:04> bits.
6. Para o modo de sada de Half-Bridge, definir o
atraso da banda morta por carregar ECCP1DEL <6:00>
com o valor apropriado.
7. Se a operao de auto-desligamento necessrio, carregue o
ECCP1AS registo:
Selecione as fontes de auto-desligamento, usando o
ECCPAS2: ECCPAS0 bits.
Selecione os estados de desligamento do PWM
pinos de sada usando o PSSAC1: PSSAC0 e
PSSBD1: PSSBD0 bits.
Definir o bit ECCPASE (ECCP1AS <7>).
Configurar os comparadores usando o CMCON
registrar.
Configurar as entradas do comparador analgico como
insumos.
8. Se a operao de reinicializao automtica necessria,
definir o
PRSEN bits (ECCP1DEL <7>).
9. Configurar e iniciar TMR2:
Limpar o TMR2 interrupo bit flag limpando
o bit TMR2IF (PIR1 <1>).
Defina o valor de pr-escala TMR2 carregando o
T2CKPS pedaos (T2CON <01:00>).
Habilitar Timer2 definindo o bit TMR2ON
(T2CON <2>).
10. Ativar sadas PWM aps um novo ciclo de PWM
comeou:
Espere at que TMRx overflows (TMRxIF bit definido).
Habilitar o CCP1/P1A, P1B, P1C e / ou P1D
pin sadas limpando a respectiva TRIS
bits.
Limpar o bit ECCPASE (ECCP1AS <7>).
1.
OPERAO NO PODER de gesto
MODOS
No modo de suspenso, todas as fontes de clock esto desativados.
Timer2
no iro incrementar e o estado do mdulo no ser
mudar. Se o pino PEAC est dirigindo um valor, ele vai continuar
para conduzir esse valor. Quando o dispositivo acorda, ele vai
continuar a partir deste estado. Se duas velocidades Start-ups so
habilitado, a freqncia start-up inicial de INTOSC e
o postscaler pode no ser estvel imediatamente.
No modo PRI_IDLE, o relgio principal continuar
relgio do mdulo PEAC sem alteraes. Em todos os outros
modos de gesto de energia, o selecionado poder de gesto
relgio de modo ir relgio Timer2. Outro poder de gesto
relgios modo provavelmente ir ser diferente do
freqncia de clock principal.
16.4.10.1 Operao com fail-safe
Relgio monitor
Se a prova de falhas monitor relgio est habilitado, uma falha
relgio
forar o dispositivo no RC_RUN de gerenciamento de energia
modo eo bit OSCFIF (PIR2 <7>) ser definido. O
PEAC ser ento cronometrados a partir do oscilador interno
fonte de relgio, o qual pode ter um relgio diferente
do que a frequncia do relgio principal.
Consulte a seo anterior para obter detalhes adicionais.
16.4.11 EFEITOS DE UM REAJUSTE
Ambos Power-on Redefine Reset e posterior forar
todas as portas para o modo de entrada eo PCC registra a sua
Redefinir estados.
Isso fora o mdulo CCP avanado para repor a
estado compatvel com o mdulo CCP padro.
v 2009 Microchip Technology Inc. DS39632E pgina 163
PIC18F2455/2550/4455/4550
TABELA 16-3:
Nome
INTCON
RCON
IPR1
PIR1
PIE1
IPR2
PIR2
PIE2
TRISB
TRISC
TRISD
(2)
REGISTOS ASSOCIADOS PEAC mdulo e TIMER1 TO TIMER3
Bit 7 Bit 6
PEIE / giel
SBOREN(1)
ADIP
ADIF
ADIE
CMIP
CMIF
CMIE
TRISB6
TRISC6
TRISD6
Bit 5
TMR0IE
-
RCIP
RCIF
RCIE
USBIP
USBIF
USBIE
TRISB5
-
TRISD5
Bit 4
INT0IE
RI
TXIP
TXIF
TXIE
EEIP
EEIF
EEIE
TRISB4
-
TRISD4
Bit 3
RBIE
TO
SSPIP
SSPIF
SSPIE
BCLIP
BCLIF
BCLIE
TRISB3
-
TRISD3
Bit 2
TMR0IF
PD
CCP1IP
CCP1IF
CCP1IE
HLVDIP
HLVDIF
HLVDIE
TRISB2
TRISC2
TRISD2
O bit 1
INT0IF
POR
TMR2IP
TMR2IF
TMR2IE
TMR3IP
TMR3IF
TMR3IE
TRISB1
TRISC1
TRISD1
Bit 0
RBIF
BOR
TMR1IP
TMR1IF
TMR1IE
CCP2IP
CCP2IF
CCP2IE
TRISB0
TRISC0
TRISD0
Restabelecer
Valores
na pgina
53
54
56
56
56
56
56
56
56
56
56
54
54
T1CKPS1
T2OUTPS2
T1CKPS0
T2OUTPS1
T1OSCEN
T2OUTPS0
T1SYNC
TMR2ON
TMR1CS
T2CKPS1
TMR1ON
T2CKPS0
54
54
54
54
55
55
T3CKPS1 T3CKPS0 T3CCP1 T3SYNC TMR3CS TMR3ON 55
55
55
CCP1M3
PSSAC1
PDC3
(2)
GIE / GIEH
IPEN
SPPIP
SPPIE
(2)
SPPIF(2)
(2)
OSCFIP
OSCFIF
OSCFIE
TRISB7
TRISC7
TRISD7
TMR1L
TMR1H
T1CON
TMR2
T2CON
PR2
TMR3L
TMR3H
T3CON
CCPR1L
CCPR1H
CCP1CON
ECCP1AS
ECCP1DEL
Legenda:
Nota 1:
2:
Timer1 Registrar Low Byte
Timer1 Register alta Byte
RD16
-
T1RUN
T2OUTPS3
Timer2 Mdulo Registrar
Timer2 Perodo Registrar
Timer3 Registrar Low Byte
Timer3 Register alta Byte
RD16 T3CCP2
Capture / Compare / PWM Register 1 (LSB)
Capture / Compare / PWM Register 1 (MSB)
P1M1(2)
ECCPASE
PRSEN
P1M0(2)
ECCPAS2
PDC6
(2)
DC1B1
ECCPAS1
PDC5
(2)
DC1B0
ECCPAS0
PDC4
(2)
CCP1M2
PSSAC0
PDC2
(2)
CCP1M1
PSSBD1(2)
PDC1
(2)
CCP1M0
PSSBD0(2)
PDC0
(2)
55
55
55
- = No implementado, ler como '0 '. Clulas sombreadas no so usados durante a operao PEAC.
O bit SBOREN s est disponvel quando Boren <1:00> = 01; Caso contrrio, o bit l como '0 '.
Estes bits ou registos so no implementado em dispositivos de 28 pinos; sempre manter esses bits claras.
DS39632E pgina 164 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
17,0 Universal Serial Bus
(USB)
O SIE pode ser conectado diretamente porta USB, utilizando
o transceptor interno, ou pode ser ligado atravs
um receptor externo. Um regulador de 3.3V interno
Tambm disponvel para alimentar o transceptor interno em 5V
aplicaes.
Algumas caractersticas especiais de hardware foram includos para
melhorar o desempenho. Memria de porta dupla no
espao de memria de dados do dispositivo (RAM USB) tem sido
fornecido para compartilhar o acesso direto memria entre o
ncleo microcontrolador e o SIE. Descritores de buffer so
tambm forneceu, permitindo aos usurios programar livremente
final
uso de memria ponto dentro do espao de memria RAM USB. A
Transmisso Porta Paralela foi fornecido para apoiar
a transferncia contnua de grandes volumes de dados,
como dados iscronos, para buffers de memria externa.
Figura 17-1 apresenta uma viso geral do USB
perifrico e as suas caractersticas.
Esta seo descreve os detalhes do USB
perifrico. Devido natureza muito especfica da
mdulo, o conhecimento da USB esperado. Alguns
informaes USB de alto nvel fornecida em
Seo 17.10 "Viso geral de USB" s para aplicao
referncia de design. Designers so encorajados a se referir a
a especificao oficial publicada pelo USB de execuo de
menters Forum (USB-IF) para as ltimas informaes.
Especificao USB Reviso 2.0 o mais atual
especificao no momento da publicao deste documento.
17,1 Viso geral do perifrico USB
A famlia contm um dispositivo PIC18FX455/X550
USB compatvel full-velocidade e baixa velocidade Serial Inter-
cara Engine (SIE), que permite uma comunicao rpida
entre qualquer host USB eo microcontrolador PIC .
FIGURA 17-1: Perifrica e OPES USB
PIC18FX455/X550 Famlia
Regulador 3.3V
VREGEN PT
P
FSEN
UPUEN
UTRDIS
Relgio USB do
Mdulo oscilador
P
Interno Pull-ups
Transceiver
FS
UOE
VUSB
Opcional
Externo
Pull-ups (2)
(Full
Speed)
D +
D-
UOE(1)
VM(1)
VP(1)
VN(1)
VMO(1)
VPO(1)
SPP7: SPP0
CK1SPP
CK2SPP
CSSPP
OESPP
3.3V externa
Alimentao (3)
(Baixo
Speed)
USB Bus
Controle USB e
Configurao
USB
SIE
Externo
Transceiver
USB Bus
1 Kbyte
RAM USB
Nota 1:
2:
3:
Este sinal s est disponvel se o transceptor interno desativado (UTRDIS = 1).
Os internos resistores pull-up deve ser desativada (UPUEN = 0) se externos resistores de pull-up so usados.
No permitir que o regulador interno quando se usa uma fonte de 3.3V externa.
v 2009 Microchip Technology Inc. DS39632E pgina 165
PIC18F2455/2550/4455/4550
17,2 Estado USB e Controle
O funcionamento do mdulo USB configurado e
gerenciados atravs de trs registradores de controle. Alm disso,
um
total de 22 registradores so usados para gerenciar o USB real
operaes. Os registros so:






USB Controle de registo (UCON)
USB configurao de registro (UCFG)
USB Status de Transferncia de registro (USTAT)
USB Device Address Register (UADDR)
Regista o nmero de quadros (UFRMH: UFRML)
Ativar Endpoint registra 0 a 15 (UEPn)
Alm disso, o registo de controlo USB contm um bit de estado,
SE0 (UCON <5>), que usado para indicar a ocor-
ocorrncia de um zero single-ended no nibus. Quando o USB
mdulo ativado, este bit deve ser monitorado para deter-
minar se as linhas de dados diferenciais ter sado de
uma condio de zero single-ended. Isto ajuda a diferenciar
o estado power-up inicial do sinal de reset USB.
O funcionamento global do mdulo controlado por USB
o bit USBEN (UCON <3>). Definir este bit ativa o
mdulo e redefine todos os bits PPBI no buffer
Descriptor Table para '0 '. Este bit tambm ativa o on-chip
regulador de tenso (se o bit de configurao VREGEN
definida) e se conecta internos resistores pull-up, se eles so
ativado. Deste modo, este bit pode ser usado como um suave
ligar / desligar o USB. Apesar de todos os status e controle
bits so ignorados quando este bit clara, o mdulo precisa
para ser totalmente pr-configurado antes de definir este bit.
Nota: Ao desativar o mdulo USB, fazer
se o bit SUSPND (UCON <1>) clara
antes de limpar o bit USBEN. Desobstruo
o bit USBEN quando o mdulo est no
estado suspenso pode evitar que o mdulo
de desligar totalmente.
17.2.1 USB controle Register (UCON)
O USB Controle de registro (Register 17-1) contm bits
necessria para controlar o comportamento durante as
transferncias de mdulo.
O registo contm bits que controlam o seguinte:




Principal perifrico USB Ativar
Ping-Pong Tampo Pointer Reiniciar
O controle do modo de suspenso
Transferncia Packet Desativar
CADASTRE-SE 17-1:
U-0
-
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
bit 6
UCON: USB registrador de controle
R/W-0 R-x
SE0
R/C-0
PKTDIS
R/W-0
USBEN
R/W-0
RESUMO
R/W-0
SUSPND
U-0
-
bit 0
C = bit Apagvel
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
PPBRST
Unimplemented: Leia como '0 '
PPBRST: Buffers Ping-Pong Redefinir bit
1= Redefinir todos os ponteiros do buffer de pingue-pongue para o buffer Mesmo descritor (BD) os
bancos
0= Ping-Pong Ponteiros buffer no sendo redefinir
SE0: Vivo Single-Ended bit Flag Zero
1= Single-ended origem ativo no barramento USB
0= No detectado a zero single-ended
PKTDIS: Transferncia Packet Desativar bit
1= SIE token e processamento de pacotes desativado, definida automaticamente quando um sinal recebido
CONFIGURAO
0= SIE token e processamento de pacotes habilitado
USBEN: Mdulo USB Habilitar bit
1= Mdulo USB e circuitos de apoio habilitada (dispositivo anexado)
0= Mdulo USB e suporte deficientes circuitos (dispositivo independente)
RESUMO: Retomar sinalizao permitem bit
1= Retomar sinalizao ativado
0= Retomar sinalizao desativado
SUSPND: Suspender bit USB
1= Mdulo USB e circuitos de apoio em modo de economizar energia, SIE relgio inativo
0= Mdulo USB e os circuitos de suporte durante o funcionamento normal, o relgio SIE cronometrado taxa
configurado
Unimplemented: Leia como '0 '
v 2009 Microchip Technology Inc.
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
DS39632E pgina 166
PIC18F2455/2550/4455/4550
O bit PPBRST (UCON <6>) que controla o status reset
quando o modo de Double-Buffer (ping-pong buffer)
utilizado. Quando o bit PPBRST est definido, tudo Ping-Pong Buf-
fer ponteiros so definidas para os buffers Mesmo. PPBRST tem
ser apuradas pelo firmware. Este bit ignorado em tampo
modos ing no usar buffer ping-pong.
O bit PKTDIS (UCON <4>) uma bandeira que indica que o
SIE desativou a transmisso e recepo de pacotes.
Este bit definido pelo SIE quando um smbolo de configurao
recebida para permitir que a instalao de processamento. Este bit
no pode ser
definida pelo microcontrolador, apenas limpou; limp-lo
permite a SIE continuar transmisso e / ou
recepo. Quaisquer eventos pendentes dentro do buffer
Tabela descritor ainda estar disponvel, indicado no
buffer FIFO do USTAT registo.
O bit RESUME (UCON <2>) permite que o perifrico para
realizar um controle remoto wake-up, executando Retomar
sinalizao. Para gerar um wake-up remoto vlido
firmware deve definir currculo para 10 ms e, em seguida, claro
o bit. Para mais informaes sobre Resume sinalizao, ver
Sees 7.1.7.5, 11.4.4 e 11.9 do USB 2.0
especificao.
O bit SUSPND (UCON <1>) e coloca o mdulo
circuitos de suporte (ou seja, o regulador de tenso) numa
modo de baixa energia. O relgio de entrada para o SIE tambm
desativada. Este bit deve ser definida pelo software em
resposta a uma interrupo IDLEIF. Ele deve ser reposto por
o firmware do microcontrolador depois de uma interrupo ACTVIF
observado. Quando este bit estiver ativo, o dispositivo permanece
anexado ao nibus, mas as sadas transceptor permanecer
Espera. A tenso no pino VUSB podem variar
sobre o valor deste bit. Definir este pouco antes de um IDLEIF
pedido vai resultar em um comportamento imprevisvel nibus.
Nota: Enquanto estiver no modo de suspenso, um nibus
tpico
dispositivo USB limitado a 2,5 mA
de corrente. Cuidados devem ser tomados para
garantir a
trao mnima de corrente quando o dispositivo
entra em modo de suspenso.
O registo UCFG tambm contm dois bits que ajuda na
mdulo de teste, depurao e certificaes USB.
Estes sada de controle pedaos permitir a monitorizao do estado
e
gerao de padro de olho.
Nota: A velocidade do USB, transceptor e puxe-up
s deve ser configurado durante o mod-
fase de instalao ULE. No recomendado para
alterar essas configuraes, enquanto o mdulo
ativado.
17.2.2.1 Transceiver Interno
O perifrico USB tem um built-in, USB 2.0, full-speed
e transceptor compatvel com a baixa velocidade, internamente con-
esteja conectado ao SIE. Esse recurso til para o baixo custo
aplicaes de chip nico. O bit UTRDIS (UCFG <3>)
controla o rdio, que ativado por padro
(UTRDIS = 0). O bit FSEN (UCFG <2>) controla o
Velocidade transceptor, definindo o bit permite full-speed
operao.
O on-chip USB resistores pull-up so controlados pelo
UPUEN bits (UCFG <4>). Eles s podem ser selecionados
quando o transceptor on-chip ativado.
A especificao USB requer operao 3.3V para
comunicaes, no entanto, o resto do chip pode ser
funcionando com uma tenso maior. Assim, o transceptor est
energia de uma fonte independente, VUSB fornecido.
17.2.2.2 Transceiver externo
Este mdulo fornece suporte para utilizao com uma off-chip
transceptor. O transceptor fora do chip destinado
aplicaes onde as condies fsicas determinam o
localizao do transceptor para se afastar do SIE.
Operao transceptor externo ativado, definindo o
UTRDIS bit.
FIGURA 17-2: TPICA EXTERNO
Transceptor com
ISOLAMENTO
VDD isolada
a partir de USB
3.3V derivadas
a partir de USB
17.2.2 USB de configurao de registro
(UCFG)
PIC
Microcontrolador
VDD
VUSB
VM
VP
VN
VMO
VPO
UOE
Antes de se comunicar atravs de USB, o mdulo de
associado interna e / ou hardware externo deve ser
configurado. A maior parte da configurao realizada com
o registo UCFG (Register 17-2). O USB separado
regulador de tenso (ver Seo 17.2.2.8 "Internal
Regulador ") controlado atravs da configurao
registra.
O registo UFCG contm a maioria dos bits que
controlar o comportamento do mdulo USB nvel do sistema.
Estes incluem:




Velocidade do barramento (velocidade mxima
versus baixa velocidade)
On-Chip resistor de pull-up Ativar
Transceiver On-Chip Ativar
Ping-Pong Uso de buffer
Nota:
1,5 kW
Isolamento Transceiver
D +
D-
A definio acima mostra um esquema simplificado
para uma configurao de velocidade mxima usando um
externo
transceptor com isolamento.
v 2009 Microchip Technology Inc. DS39632E pgina 167
PIC18F2455/2550/4455/4550
CADASTRE-SE 17-2:
R/W-0
UTEYE
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
UCFG: USB de configurao de registro
R/W-0 U-0
(1)
R/W-0
UPUEN
(2,3)
R/W-0
UTRDIS
(2)
R/W-0
FSEN
(2)
R/W-0
PPB1
R/W-0
PPB0
bit 0
UOEMON -
UTEYE: USB Eye Test Pattern Habilitar bit
1= Teste padro Eye habilitado
0= Teste padro Eye desativado
UOEMON: USB OE monitor Habilitar bit(1)
1= UOE sinal ativo, indica intervalos durante os quais os D + / D-linhas esto impulsionando
0= Sinal UOE inativo
Unimplemented: Leia como '0 '
UPUEN: USB On-Chip Pull-up Ativar bit(2,3)
1= On-chip de pull-up habilitado (pull-up em D + com FSEN = 1ou D-com FSEN = 0)
0= On-chip de pull-up com deficincia
UTRDIS: Transceiver On-Chip Disable bit(2)
1= Transceptor On-chip com deficincia, interface transceptor digitais habilitado
0= Transceptor On-chip ativo
FSEN: Bit Ativar Full-Speed(2)
1= Dispositivo Full-speed: as taxas de ponta transceptor controles; exige relgio de entrada de 48
MHz
0= Dispositivo de baixa velocidade: as taxas de ponta transceptor controles; exige relgio de entrada
de 6 MHz PPB1: PPB0: Ping-Pong Buffers bits de configurao
11 = Mesmo / buffers ping-pong Odd habilitado para Endpoints 1-15
10 = Mesmo / buffers ping-pong Odd habilitado para todos os endpoints
01 = Mesmo / buffer de ping-pong Odd habilitado para OUT Endpoint 0
00 = Mesmo / buffers ping-pong Odd desativado
Se UTRDIS est definido, o sinal UOE estar ativa independente da configurao UOEMON bit.
Os UPUEN, UTRDIS e FSEN pedaos nunca deve ser alterado enquanto o mdulo USB est ativada. Estes
valores devem ser pr-configurado antes de ativar o mdulo.
Este bit s vlida quando o transceptor on-chip est ativo (UTRDIS = 0); caso contrrio, ele ser ignorado.
Os sinais de VPO e VMO so sadas do SIE para
o transceptor externo. O sinal de sada o VN
do transceptor externo ao SIE, representa
os sinais diferenciais do barramento serial traduzido
em um nico trem de pulsos. Os sinais de VM e VP so
usado para relatar as condies no barramento serial para o SIE
que no pode ser capturada com o sinal de VN. O
combinaes de estados de estes sinais e os seus
interpretao so listadas na Tabela 17-1 e na Tabela 17-2.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1-0
Nota 1:
2:
3:
Existem seis sinais provenientes do mdulo de comunicao
com e controlar um transceptor externo:






VM: Entrada para o single-ended D-line
VP: Entrada do single-ended D + linha
VN: Entrada do receptor diferencial
VMO: Sada para o motorista linha diferencial
VPO: Sada para o motorista linha diferencial
UOE: Output enable
DS39632E pgina 168 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 17-1:
VPO
0
0
1
1
VMO
0
1
0
1
SADAS diferencial
TRANSCEIVER
Estado Bus
Zero Single-Ended
Diferencial '0 '
Diferencial '1 '
Condio ilegal
17.2.2.5 Configurao de buffer Ping-Pong
O uso de buffers ping-pong configurado usando o
PPB1: PPB0 bits. Consulte Seo 17.4.4 "Ping-Pong
Buffering " Para uma explicao completa do ping-pong
tampes.
17.2.2.6 Ativar o Monitor USB Output
TABELA 17-2:
VP
0
0
1
1
VM
0
1
0
1
Entradas simples
DE TRANSCEIVER
Estado Bus
Zero Single-Ended
Low Speed
Alta Velocidade
Erro
O monitor OE USB fornece indicao sobre se
o SIE est ouvindo o nibus ou dirigir ativamente o nibus.
Isso ativado por padro quando usar um externo
transceptor ou quando UCFG <6> = 1.
O monitoramento USB OE til para o sistema inicial
depurao, bem como escopo provocando durante olho
testes de gerao de padres.
17.2.2.7 Eye Test Pattern Ativar
O sinal UOE alterna o estado do externo trans-
ceptor. Esta linha puxado para baixo pelo dispositivo, para permitir
a transmisso de dados a partir de um dispositivo externo para SIE
dispositivo.
Um padro de teste automtico de olho pode ser gerado pela
mdulo quando o UCFG <7> bit definido. O padro de olho
sada ser observvel com base nas configuraes do mdulo,
o que significa que o usurio o primeiro responsvel pela
configurao
as definies do relgio SIE, resistor pull-up e Transceiver
modo. Alm disso, o mdulo tem de ser activado.
Uma vez UTEYE est definido, o mdulo simula uma mudana de
a receber a transmisso do estado e vai comear a transmitir a
Sequncia de bits J-K-J-K (K-K-J-J para a velocidade mxima). O
seqncia ser repetida indefinidamente, enquanto o Olho
Modo de teste padro habilitado.
Note-se que este bit nunca deve ser definida enquanto o mdulo
est ligado a um sistema USB real. Este modo de teste
destina-se a verificao bordo para ajudar com USB certi-
testes ficao. Pretende-se mostrar um desenvolvedor do sistema
a integridade dos sinais de rudo que pode ser USB
afetado por traos de tabuleiro, incompatibilidades de impedncia e
proximidade com outros componentes do sistema. No faz
testar adequadamente a transio de uma para receber uma
transmisso
Estado. Embora o padro de olho no se destina a substituir
o teste de certificao USB mais complexo, que deve ajudar
durante a primeira depurao do sistema ordem.
17.2.2.3 Internos resistores pull-up
Os dispositivos PIC18FX455/X550 tem built-in pull-up
resistores projetados para atender aos requisitos de
baixa velocidade e USB full-speed. O bit UPUEN
(UCFG <4>) permite que os internos pull-ups. Figura 17-1
mostra os pull-ups e seu controle.
17.2.2.4 Externas resistores pull-up
Pull-up externa tambm pode ser usada se a resis-
tores no so utilizados. O pino VUSB pode ser usado para puxar
para cima
D + ou D-. O resistor de pull-up deve ser de 1,5 kW ( 5%) como
exigido pelas especificaes USB. Figura 17-3 mostra
um exemplo.
FIGURA 17-3:
PIC
Microcontrolador
Circuito externo
Hospedeiro
Controller / HUB
VUSB
1,5 kW
D +
D-
Nota: A definio acima mostra uma conexo tpica
para uma configurao de velocidade mxima usando um on-
chip
regulador e um resistor de pull-up externo.
v 2009 Microchip Technology Inc. DS39632E pgina 169
PIC18F2455/2550/4455/4550
17.2.2.8 Regulador Interno
Os dispositivos PIC18FX455/X550 tem um built-in 3.3V reg-
ulator para fornecer energia para o transmissor-receptor interno e
fornecer uma fonte para os internos / externos pull-ups. Um
nF externo 220 ( 20%) do condensador necessria para a
estabilidade.
Nota: A unidade de VUSB suficiente para apenas
dirigir um pull-up externa, alm do
transceptor interno.
SIE processa terminais adicionais (Figura 17-4).
Quando o SIE completa usando um buffer para leitura ou
gravao de dados, atualiza o cadastro USTAT. Se outro
Transferncia USB realizada antes de uma transao
interrupo completa atendido, a SIE ir armazenar a
estado da transferncia seguinte na FIFO de estado.
Limpando a transferncia completa bit bandeira, TRNIF, causa
o SIE para fazer avanar o FIFO. Se os dados seguintes no
FIFO registo da explorao vlida, o SIE vai reafirmar a
interromper a 5 TCY de compensao TRNIF. Se nenhum adicional
dados se referem, TRNIF permanecer claro, os dados USTAT
no ser mais fivel.
Nota: Se um pedido de ponto de extremidade recebida
enquanto a
USTAT FIFO estiver cheio, o SIE vontade
emitir automaticamente um NAK de volta para a
host.
O regulador pode ser ativado ou desativado atravs da
VREGEN bit de configurao. Quando ativado, a tenso
visvel no pino VUSB quando o bit tambm USBEN
definido. Quando o regulador estiver desabilitado (VREGEN = 0),
um
Fonte 3.3V deve ser fornecida atravs do pino VUSB para
o transceptor interno.
Nota 1: No permitir que o regulador interno se um
regulador externo est ligado ao VUSB.
2: VDD deve ser igual ou superior a
VUSB em todos os momentos, mesmo com o regulador
desativada.
FIGURA 17-4: USTAT FIFO
USTAT do SIE
17.2.3 USB registrador de status (USTAT)
4-byte FIFO
para USTAT
Clearing TRNIF
Avanos FIFO
O registo Estado USB relata o status da transao
dentro do SIE. Quando as questes SIE uma transferncia USB
interrupo completa, USTAT deve ser lido para determinar
o estado da transferncia. USTAT contm a transferncia
nmero de endpoint, direo e Ping-Pong Tampo
Valor do ponteiro (se utilizado).
Nota: Os dados do registrador de status USB vlido
apenas quando o flag de interrupo TRNIF
afirmou.
Barramento de
dados
O registo USTAT na verdade uma janela de leitura em um
estado de quatro bytes FIFO, mantida pelo SIE. Ele permite
o microcontrolador para processar uma transferncia enquanto o
DS39632E pgina 170 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
CADASTRE-SE 17-3:
U-0
-
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
bit 6-3
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
USTAT: USB registrador de status
R-x R-x
ENDP2
R-x
ENDP1
R-x
ENDP0
R-x
DIR
R-x
PPBI
(1)
U-0
-
bit 0
ENDP3
Unimplemented: Leia como '0 '
ENDP3: ENDP0: Codificado Nmero da ltima Endpoint Atividade pedaos
(Representa o nmero da BDT actualizada pela ltima transferncia USB)
1111 = Endpoint 15
1110 = Endpoint 14
....
0001 = Endpoint 1
0000 = Endpoint 0
DIR: ltima BD Direo bit Indicator
1= A ltima operao foi um em sinal
0= A ltima operao foi um OUT ou smbolo CONFIGURAO
PPBI: Ping-Pong BD Pointer bit Indicator(1)
1= A ltima operao foi para o banco BD Odd
0= A ltima operao foi para o banco Mesmo BD
Unimplemented: Leia como '0 '
Este bit s vlida para endpoints disponveis com pares e mpares registros de BD.
bit 2
bit 1
bit 0
Nota 1:
v 2009 Microchip Technology Inc. DS39632E pgina 171
PIC18F2455/2550/4455/4550
17.2.4 CONTROLE ENDPOINT USB
Cada um dos possveis pontos de extremidade 16 tem a sua
bidireccionais
prprio registrador de controle independente, UEPn (onde 'n' rep-
ressente-se o nmero endpoint). Cada registro tem um
complemento idntico de bits de controlo. O prottipo
mostrado na Register 17-4.
O bit EPHSHK (UEPn <4>) controles aperto de mo para
o ponto final; definir este bit permite aperto de mo USB.
Normalmente, este bit sempre definido, exceto quando se usa
endpoints iscronos.
O bit EPCONDIS (UEPn <3>) usado para ativar ou
desativar as operaes de controle USB (SETUP), atravs da
endpoint. Limpando este bit permite CONFIGURAO tran-
es. Note-se que o correspondente e EPINEN
EPOUTEN bits devem ser definidas para permitir IN e OUT
operaes. Para Endpoint 0, este bit deve ser sempre
apuradas desde as especificaes USB identificar
Endpoint 0 como o parmetro de controle padro.
O bit EPOUTEN (UEPn <2>) usado para ativar ou dis-
USB capaz de operaes do host. A definio deste
bit permite que as transaes. Do mesmo modo, o bit EPINEN
(UEPn <1>) habilita ou desabilita o USB em transaes
do host.
O bit EPSTALL (UEPn <0>) usado para indicar um
Condio de bloqueio para o terminal. Se uma barraca emitido
num determinado ponto de extremidade, o bit EPSTALL para esse
fim-
par de pontos ser definida pelo SIE. Este bit permanece definida
at que sejam retirados atravs de firmware, ou at que o SIE
reajustados.
CADASTRE-SE 17-4:
U-0
-
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7-5
4 bits
UEPn: USB ENDPOINT n registrador de controle (UEP0 ATRAVS UEP15)
U-0
-
U-0
-
R/W-0
EPHSHK
R/W-0
EPCONDIS
R/W-0
EPOUTEN
R/W-0
EPINEN
R/W-0
EPSTALL
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
Unimplemented: Leia como '0 '
EPHSHK: Handshake Endpoint Habilitar bit
1= Handshake Endpoint habilitado
0= Handshake Endpoint desativado (normalmente usado para endpoints iscronos)
EPCONDIS: Bidirecional Endpoint pouco controle
Se EPOUTEN = 1e EPINEN = 1:
1= Desativar Endpoint n de transferncias de controle, apenas IN e OUT transferncias permitido
0= Ativar Endpoint n para o controle de transferncias (SETUP); IN e OUT transferncias tambm
permitiu
EPOUTEN: Sada Endpoint Habilitar bit
1= Endpoint n sada habilitado
0= Endpoint n sada deficientes
EPINEN: Entrada Endpoint Habilitar bit
1= Endpoint n entrada habilitado
0= Endpoint n entrada com deficincia
EPSTALL: Endpoint Stall bit Indicator
1= Endpoint n emitiu um ou mais pacotes STALL
0N = Endpoint no emitiu quaisquer pacotes STALL
bit 3
bit 2
bit 1
bit 0
DS39632E pgina 172 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
17.2.5 USB endereo de registro
(UADDR)
FIGURA 17-5:
O registo Endereo USB contm a nica USB
endereo que o perifrico ir decodificar quando ativo.
UADDR redefinido para 00h quando um Reincio de USB
recebido,
indicado por URSTIF, ou quando recebido uma reiniciao de
o microcontrolador. O endereo USB deve ser escrito
pelo microcontrolador, durante a fase de instalao USB
(Enumerao), como parte da Microchip firmware USB
apoiar.
IMPLEMENTAO DO
RAM USB DE DADOS
Espao de memria
000h
Bancos 0
a 3
Dados do Usurio
17.2.6 NMERO DO CHASSI USB REGISTOS
(UFRMH: UFRML)
Banks 4
a 7
RAM (USB)
Descritores de buffer,
Dados USB ou Dados do usurio
3FFh
400h
4FFh
500h
O nmero de registros do quadro contm a estrutura de 11 bits
nmero. O byte de ordem est contida em UFRML,
enquanto que os trs bits de ordem alta esto contidos
UFRMH. A par de registro atualizado com o atual
nmero do quadro SOF sempre que um sinal recebido. Para
o microcontrolador, estes registos so somente leitura. O
Registo nmero do quadro usado principalmente para
transferncias iscronos.
USB de Dados ou
Dados do Usurio
7FFh
800h
17,3 RAM USB
Dados USB move entre o ncleo e o microcontrolador
a SIE atravs de um espao de memria conhecido como o USB
RAM. Esta uma memria de acesso duplo que especial
mapeado no espao de memria de dados normal em quatro bancos
a 7 (400h para 7FFh) para um total de 1 Kbyte
(Figura 17-5).
Bank 4 (400h atravs 4FFh) usado especificamente para
controle tampo endpoint, enquanto Banks 5 a 7 so
disponvel para dados USB. Dependendo do tipo de
buffer a ser utilizado, mas todos os 8 bytes de Banco 04 de maio
tambm
estar disponveis para utilizao como espao tampo USB.
Embora RAM USB est disponvel para o microcontrolador
como a memria de dados, as sees que esto sendo acessados
pelo SIE no devem ser acessados pelo
microcontrolador. Um mecanismo de sinal usado para
determinar o acesso a um tampo particular, em qualquer dado
tempo. Isto discutido em Seo 17.4.1.1 "Buffer
Propriedade ".
Banks 8
a 14
No usado
Bank15
SFRs
F00h
F60h
FFFh
v 2009 Microchip Technology Inc. DS39632E pgina 173
PIC18F2455/2550/4455/4550
17,4 Descritores de buffer eo buffer
Descriptor Table
FIGURA 17-6:
Endereo
400h
Tampo
Descritor
401h
402H
403H
500h
Exemplo de um buffer
DESCRIPTOR
Registra
BD0STAT
BD0CNT
BD0ADRL
BD0ADRH
(Xxh)
40h
00h
05h
Tamanho do Bloco
Comeando
Endereo
Contedo
Os registros no Banco 4 so usados especificamente para o fim de
controlo de tampo ponto numa estrutura conhecida como o buffer
Descriptor Table (BDT). Isto proporciona um mtodo flexvel
para usurios de construir e controlar buffers de terminais de
vrios comprimentos e configurao.
A BDT composto de Descritores de buffer (BD), que
so usados para definir e controlar os buffers reais no
Espao USB RAM. Cada BD, por sua vez, constitudo por quatro
regis-
isters, onde n representa um dos 64 possveis BD
(Intervalo de 0 a 63):




BDnSTAT: BD Estado registo
BDnCNT: BD Byte Count registo
BDnADRL: BD Endereo registo Baixo
BDnADRH: BD Endereo alta registo
Tampo
De dados USB
53Fh
Nota: Regies de memria no escala.
BDs sempre ocorrem como um bloco de quatro bytes na seqncia,
BDnSTAT: BDnCNT: BDnADRL: BDnADRH. O endereo
de BDnSTAT sempre um deslocamento de (4n - 1) (em hexa-
decimal) de 400h, com n sendo o descritor de reserva
nmero.
Dependendo da configurao do buffer utilizado
(Seo 17.4.4 "Ping-Pong Buffering"), h at
a 32, 33 ou 64 conjuntos de descritores de buffer. No mnimo,
o BDT deve ser de pelo menos 8 bytes de comprimento. Isto
porque
os mandatos de especificao USB que cada dispositivo deve
ter Endpoint 0 com entrada e sada para inicial
setup. Dependendo do terminal e colocar em buffer
configurao, a BDT pode ser to longo como 256 bytes.
Embora possam ser pensados como funes especiais
Registros, o buffer Descriptor Estado e Endereo
registos de hardware no so mapeados, como convencional
SFRs microcontrolador em Banco 15 so. Se o terminal cor-
respondendo a uma BD em particular no for ativada, seus registros
no so utilizados. Em vez de aparecer como unimplemented
endereos, no entanto, eles aparecem como RAM disponvel.
Somente quando um endpoint est habilitado, definindo o
UEPn <1> bit faz a memria a esses endereos
tornar-se funcional como BD registros. Como acontece com
qualquer endereo
no espao de memria de dados, os registos de BD tem uma
valor indeterminado em qualquer redefinio do dispositivo.
Um exemplo de um BD para um tampo de 64 bytes, comeando
500h, mostrado na Figura 17-6. Um conjunto especfico de BD
registros s vlida se o endpoint correspondente tem
sido ativado usando o registo UEPn. Todos BD registra
esto disponveis na memria RAM de USB. O BD para cada
endpoint
deve ser criado antes da ativao do terminal.
Ao contrrio de outros registradores de controle, a configurao de
bits para
o registo BDnSTAT sensvel ao contexto. Tem
duas configuraes distintas, dependendo se a
microcontrolador ou o mdulo USB est modificando o BD
e tampo em um momento particular. Apenas trs definies dos
bits
so partilhados entre os dois.
17.4.1.1 Propriedade tampo
Porque os tampes e os seus BDs so partilhadas entre
o CPU eo mdulo USB, um semforo simples
mecanismo utilizado para distinguir o que permitido
atualizar o BD e buffers associados na memria.
Isto feito usando o bit UOWN (BDnSTAT <7>) como
um semforo para distinguir o que permitido para actualizar
o BD e buffers associados na memria. UOWN o
nico bit que compartilhada entre as duas configuraes
de BDnSTAT.
Quando UOWN claro, a entrada BD "propriedade" do
ncleo microcontrolador. Quando o bit UOWN est definido, o BD
entrada ea memria buffer so "propriedade" pela USB
perifrico. O ncleo no deve modificar o BD ou o seu
buffer de dados correspondente durante este tempo. Note-se que
ncleo do microcontrolador pode ainda ler BDnSTAT enquanto
a SIE possui o tampo e vice-versa.
Os descritores de buffer tem um significado diferente, baseada
na fonte da actualizao de registo. Antes de colocar
propriedade com o perifrico USB, o usurio pode con-
entender o funcionamento bsico do perifrico, atravs da
BDnSTAT bits. Durante este tempo, a contagem de octetos e buf-
fer localizao registros tambm podem ser definidos.
Quando UOWN est definido, o usurio no pode mais depender
Os valores que foram escritas para os BDs. A partir deste ponto,
As atualizaes SIE os BDs, se necessrio, substituindo o
valores BD originais. O cadastro atualizado BDnSTAT
pelo SIE com o PID token e a contagem de transferncia,
BDnCNT, atualizado.
17.4.1 BD estado e configurao
Descritores de buffer no s definir o tamanho de um fim-
tampo ponto, mas tambm determinar a sua configurao e
controlar. A maior parte da configurao feita com o BD
Estado registo, BDnSTAT. Cada BD tem o seu prprio e nico
e, correspondentemente numeradas BDnSTAT registo.
DS39632E pgina 174 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
O byte BDnSTAT do BDT deve ser sempre o
ltimo byte atualizado quando se preparando para armar um ponto
final.
O SIE ir limpar o bit UOWN quando uma transao
foi concluda. A nica exceo a isso quando KEN
est habilitado e / ou BSTALL est habilitado.
No existe mecanismo de hardware para bloquear o acesso ao
o bit UOWN est definido. Assim, um comportamento inesperado
pode
ocorrer se o microcontrolador tenta modificar memria
quando o SIE o dono. Da mesma forma, a leitura de tal memria
pode produzir dados imprecisos at o perifrico USB
retorna a propriedade para o microcontrolador.
o SIE. Quando ativado, ele verifica par-do pacote de dados
dade em relao ao valor de DTS (BDnSTAT <6>). Se um pacote
chega com uma sincronizao incorreta, os dados sero
essencialmente ser ignorado. No vai ser escrito para o USB
RAM ea transferncia da bandeira de interrupo completa USB
no ser definido. O SIE ir enviar um sinal ACK de volta para o
sede de acusar a recepo, no entanto. Os efeitos da
o bit DTSEN no SIE esto resumidos na
Tabela 17-3.
O bit Stall tampo, BSTALL (BDnSTAT <2>), fornece
suporte para transferncias de controle, geralmente um tempo de
barracas no
Endpoint 0. Ele tambm fornece suporte para o
SET_FEATURE / CLEAR_FEATURE comandos es-
cadas no captulo 9 da especificao USB, normalmente,
barracas contnuas para qualquer desfecho que no seja a
endpoint de controle padro.
O bit BSTALL permite barracas de buffer. Definir BSTALL
faz com que o SIE para retornar um token de barraca para o anfitrio
se um
sinal recebido usaria o BD no local. O
EPSTALL pouco no controle UEPn correspondente regis-
ter est definido e uma interrupo STALL gerado quando um
BLOQUEIO emitido para o host. O bit UOWN permanece definida
e os BDs no so alterados a menos que um sinal de configurao
recebido. Neste caso, o estado de bloqueio eliminado
ea posse da BD devolvido ao
ncleo microcontrolador.
O BD9: BD8 pedaos (BDnSTAT <01:00>) loja os dois mais
algarismos significativos da contagem de bytes SIE; abaixo de 8
dgitos
so armazenadas no registo BDnCNT correspondente. Ver
Seo 17.4.2 "BD Byte Count" Para mais
informao.
17.4.1.2 BDnSTAT Register (CPU Mode)
Quando UOWN = 0, ncleo microcontrolador possui o
BD. Neste ponto, os outros sete bits do registo
assumir funes de controle.
The Keep Habilitar bit, KEN (BDnSTAT <5>), determina
se um BD fica habilitado. Se o bit for definido, uma vez que o UOWN
bit definido, ele permanecer detida pelo SIE independente
da atividade de endpoint. Isto impede que o USTAT FIFO
de ser actualizadas, bem como a operao
completar interrupo de ser definido para o ponto final. Este
recurso s deve ser ativado quando a Transmisso
Porta Paralela selecionado como o I / O canal de dados em vez
de RAM USB.
O incremento Endereo Desativar bit, INCDIS
(BDnSTAT <4>), controla automtica de endereos do SIE
incrementar funo. Definir INCDIS desativa o
auto-incremento do endereo do buffer pelo SIE para
cada byte transmitido ou recebido. Este recurso deve
s pode ser ativado quando usando o Parallel Transmisso
Porto, onde cada byte de dados processado para ou a partir da
mesmo local de memria.
O Data Toggle sincronizao Ativar bit, DTSEN
(BDnSTAT <3>), controla dados alternncia verificao de paridade.
Definir DTSEN permite a sincronizao de dados por comutao
TABELA 17-3:
OUT Packet
do Host
DATA0
DATA1
DATA1
DATA0
Ou
Ou, com erro
EFEITO DA DTSEN pouco ODD / EVEN (DATA0/DATA1) RECEPO DE PACOTES
Configuraes BDnSTAT
DTSEN
1
1
1
1
0
x
DTS
0
0
1
1
x
x
Aperto de mo
ACK
ACK
ACK
ACK
ACK
NAK
Resposta dispositivo aps receber um pacote
UOWN
0
1
0
1
0
1
TRNIF
1
0
1
0
1
0
BDnSTAT e USTAT Estado
Atualizado
No Atualizado
Atualizado
No Atualizado
Atualizado
No Atualizado
Legenda: x= No se importam
v 2009 Microchip Technology Inc. DS39632E pgina 175
PIC18F2455/2550/4455/4550
CADASTRE-SE 17-5:
R / W-x
UOWN(1)
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
bit 6
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
BDnSTAT: Buffer DESCRIPTOR n registrador de status (BD0STAT ATRAVS
BD63STAT), CPU MODE (os dados so gravados ao lado)
R / W-x
DTS(2)
R / W-x
KEN
R / W-x
INCDIS
R / W-x
DTSEN
R / W-x
BSTALL
R / W-x
BC9
R / W-x
BC8
bit 0
UOWN: USB prprio bit(1)
0= O ncleo microcontrolador possui o BD e seu buffer correspondente
DTS: Data Toggle bit de sincronizao(2)
1= Dados 1 pacote
0= Dados 0 pacote
KEN: BD Mantenha Habilitar bit
1= USB vai manter o BD indefinidamente uma vez UOWN est definido (necessrio para a configurao do endpoint
SPP)
0= USB vai devolver o BD uma vez que um smbolo tenha sido processada
INCDIS: Incremento endereo Disable bit
1= Incremento Endereo desativado (necessrio para a configurao do endpoint SPP)
0= Incremento Endereo habilitado
DTSEN: Data Toggle sincronizao Ativar bit
1= Sincronizao de dados alternncia est habilitado; pacotes de dados com valor de sincronizao incorreta sero
ignoradas
com exceo de uma transao de configurao, que aceito, mesmo que os bits de dados alternncia no
corresponderem
0= Sem sincronizao de dados alternncia realizada BSTALL: Stall tampo Habilitar bit
1= Buffer tenda habilitado; handshake STALL emitido se um sinal recebido que usaria o BD no
determinado local (UOWN bit permanece definido, valor BD inalterado)
0= Buffer tenda desativado
BC9: BC8: Byte Conte 9 e de 8 bits
Os bits de contagem de bytes representam o nmero de bytes que sero transmitidos para um em sinal ou recebidos
durante um token OUT. Juntamente com BC <07:00>, as contagens de bytes vlidos so 0-1023.
Este bit deve ser inicializado pelo usurio para o valor desejado antes de ativar o mdulo USB.
Este bit ignorado a menos que DTSEN = 1.
bit 5
4 bits
bit 3
bit 2
bit 1-0
Nota 1:
2:
DS39632E pgina 176 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
17.4.1.3 BDnSTAT Register (Modo SIE)
Quando o BD e seu buffer so de propriedade do SIE, a maioria
dos bits em BDnSTAT assumir um significado diferente. O
configurao mostrada na Register 17-6. Uma vez UOWN
estiver definido, todos os dados ou configuraes de controle escrito
anteriormente
h pelo usurio sero substitudos com os dados da
SIE.
O registo BDnSTAT atualizado pelo SIE com o
sinal identificador de pacote (PID), que armazenada na
BDnSTAT <5:03>. A contagem de transferncia para o correspon-
ing BDnCNT registro atualizado. Valores que transbordam
o registo de 8 bits transitar para os dois mais significativos
dgitos da contagem, armazenados em BDnSTAT <1:00>.
A contagem de bytes de 10 bits distribuda ao longo de dois
registros.
Os menores de 8 bits da contagem residir no BDnCNT
registrar. Os dois bits superiores residir em BDnSTAT <1:00>.
Isso representa um intervalo de bytes vlido de 0 a 1023.
17.4.3 BD ADDRESS VALIDAO
O BD Endereo par registo contm a RAM de partida
endereo de localizao para o buffer de endpoint correspondente.
Para uma localizao inicial endpoint para ser vlido, deve cair
na gama da RAM USB, 400h para 7FFh. No
mecanismo est disponvel em hardware para validar o BD
endereo.
Se o valor do endereo BD no apontam para uma
abordar na RAM USB, ou se ele aponta para um endereo
no tampo de outra extremidade, os dados so susceptveis de
serem perdidos
ou substitudo. Da mesma forma, sobrepondo-se um buffer de
recepo
(OUT endpoint), com uma localizao BD em uso pode render
unexpectedresults.WhendevelopingUSB
aplicativos, o usurio pode querer considerar a
incluso de validao de endereos baseado em software em seu
cdigo.
17.4.2 BD BYTE COUNT
A contagem de byte representa o nmero total de bytes
que ser transmitido durante uma transferncia IN. Depois de um IN
transferncia, o SIE ir retornar o nmero de bytes enviados para
o host.
Para uma transferncia para fora, a contagem de byte representa o
Nmero mximo de bytes que podem ser recebidos e
armazenada na memria RAM USB. Depois de uma transferncia
para fora, o SIE vontade
retornar o nmero real de bytes recebidos. Se o
nmero de bytes recebidos exceder o correspondente
contagem de byte, o pacote de dados, sero rejeitados e um NAK
handshake ser gerado. Quando isso acontece, o
contagem de bytes no ser atualizado.
CADASTRE-SE 17-6: BDnSTAT: Buffer DESCRIPTOR n registrador de status (BD0STAT ATRAVS
BD63STAT), SIE MODE (dados retornados pelo lado da
MICROCONTROLLER)
U-x
-
R / W-x
PID3
R / W-x
PID2
R / W-x
PID1
R / W-x
PID0
R / W-x
BC9
R / W-x
BC8
bit 0
R / W-x
UOWN
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
bit 6
bit 5-2
bit 1-0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
UOWN: USB prprio bit
1= O SIE dono do BD e seu buffer correspondente
Reservados: No escrito pelo SIE
PID3: PID0: Pacote pedaos Identificador
O valor recebido PID smbolo da ltima transferncia (IN, OUT ou apenas as operaes de
configurao).
BC9: BC8: Byte Conte 9 e de 8 bits
Estes bits so atualizados pelo SIE para refletir o nmero real de bytes recebidos em uma transferncia para fora
e o nmero real de bytes transmitidos em uma transferncia IN.
v 2009 Microchip Technology Inc. DS39632E pgina 177
PIC18F2455/2550/4455/4550
17.4.4 BUFFERING PING-PONG
Um ponto final definido para ter um buffer ping-pong quando
ele tem dois conjuntos de entradas BD: um conjunto para um
mesmo
transferir e um conjunto para uma transferncia Odd. Isto permite
que o
CPU para processar um BD, enquanto o processamento est a SIE
outro BD. BDs buffer duplo, desta forma permite
taxa de transferncia mxima de / para o USB.
O mdulo USB suporta quatro modos de operao:




No h suporte a ping-pong
Apoio buffer de ping-pong para OUT Endpoint 0 s
Apoio buffer de ping-pong em todos os endpoints
Apoio buffer de ping-pong para todos os outros pontos de
extremidade
exceto Endpoint 0
a concluso de uma transao (UOWN apuradas pela
SIE), o ponteiro alternado para o BD Odd. Aps o
concluso da transaco seguinte, o ponteiro est
alternado de volta para o mesmo BD e assim por diante.
O Par / mpar status da ltima operao armazenado em
o bit PPBI do registo USTAT. O usurio pode redefinir
todos os ponteiros de pingue-pongue para Mesmo com o pouco
PPBRST.
A Figura 17-7 mostra os quatro modos diferentes de
operao e como RAM USB preenchido com os BDs.
BDs ter um relacionamento fixo para um determinado parmetro,
dependendo da configurao do tampo. O mapeamento
de BDs para endpoints detalhado na Tabela 17-4. Este
relao tambm significa que as diferenas podem ocorrer no
BDT se os terminais no esto habilitados de forma contgua. Este
significa, teoricamente, que os BDs para endpoints com deficincia
pode ser usado como espao tampo. Na prtica, os usurios
deve evitar o uso desses espaos na BDT menos um
mtodo de validar endereos BD implementado.
As configuraes de buffer ping-pong so configurados usando o
PPB1: PPB0 bits no registrador UCFG.
O mdulo USB mantm o controle do ponteiro Ping-Pong
individualmente para cada terminal. Todos os ponteiros so
inicialmente
redefinir a Mesmo BD quando o mdulo ativado. Depois
FIGURA 17-7:
PPB1: PPB0 = 00
No Ping-Pong
Buffers
400h
BUFFER DESCRIPTOR mapeamento da tabela para buffer de MODOS
PPB1: PPB0 = 01
Ping-Pong Tampo
em EP0 OUT
400h
EP0 OUT
Descritor
EP0 IN
Descritor
EP1 OUT
Descritor
EP1 IN
Descritor
PPB1: PPB0 = 10
Buffers de pingue-pongue
em todos os LPs
EP0 OUT Mesmo
Descritor
EP0 OUT Odd
Descritor
EP0 EM Mesmo
Descritor
EP0 IN Odd
Descritor
EP1 OUT Mesmo
Descritor
EP1 OUT Odd
Descritor
EP1 EM Mesmo
Descritor
EP1 IN Odd
Descritor
PPB1: PPB0 = 11
Buffers de pingue-pongue
em todos os outros LPs
exceto EP0
400h
EP0 OUT
Descritor
EP0 IN
Descritor
EP1 OUT Mesmo
Descritor
EP1 OUT Odd
Descritor
EP1 EM Mesmo
Descritor
EP1 IN Odd
Descritor
400h
EP0 OUT Mesmo
Descritor
EP0 OUT Odd
Descritor
EP0 IN
Descritor
EP1 OUT
Descritor
EP1 IN
Descritor
47Fh
EP15 IN
Descritor
EP15 IN
Descritor
483h
Disponvel
como
RAM de dados
Disponvel
como
RAM de dados
4F7h
Disponvel
como
RAM de dados
4FFh
EP15 IN Odd
Descritor
4FFh
Memria Mxima
Utilizados: 128 bytes
BDs mximas:
32 (BD0 para BD31)
4FFh
Memria Mxima
Usado: 132 bytes
BDs mximas:
33 (BD0 para BD32)
4FFh
Memria Mxima
Utilizados: 256 bytes
BDs mximas:
64 (BD0 para BD63)
EP15 IN Odd
Descritor
Memria Mxima
Utilizados: 248 bytes
BDs mximas:
62 (BD0 para BD61)
Nota: rea de memria no mostrado em escala.
DS39632E pgina 178 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 17-4: CESSO DE Descritores de buffer para os diferentes
BUFFERING MODOS
BDs atribudos a Endpoint
Endpoint
Modo 0
(Sem Ping-Pong)
Fora
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Legenda:
0
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
Em
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
Modo 1
(Ping-Pong em EP0 OUT)
Fora
0 (E), 1 (S)
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
Em
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
Modo 2
(Ping-Pong em todos os EPs)
Fora
0 (E), 1 (S)
4 (E), 5 (S)
8 (E), 9 (O)
12 (E), 13 (S)
16 (E), 17 (O)
20 (E), 21 (S)
24 (E), 25 (S)
28 (E), 29 (S)
32 (E), 33 (S)
36 (E), 37 (S)
40 (E), 41 (S)
44 (E), 45 (S)
48 (E), 49 (O)
52 (E), 53 (S)
56 (E), 57 (S)
60 (E), 61 (S)
Em
2 (E), 3 (S)
6 (E), 7 (S)
10 (E), 11 (S)
14 (E), 15 (S)
18 (E), 19 (S)
22 (E), 23 (S)
26 (E), 27 (S)
34 (E), 35 (S)
38 (E), 39 (S)
42 (E), 43 (O)
46 (E), 47 (S)
50 (E), 51 (S)
54 (E), 55 (S)
58 (E), 59 (S)
62 (E), 63 (O)
Modo 3
(Ping-Pong em todos os outros EPs,
exceto EP0)
Fora
0
2 (E), 3 (S)
6 (E), 7 (S)
10 (E), 11 (S)
Em
1
4 (E), 5 (S)
8 (E), 9 (O)
12 (E), 13 (S)
14 (E), 15 (S) 16 (E), 17 (S)
18 (E), 19 (S) 20 (E), 21 (S)
22 (E), 23 (S), 24 (E), 25 (S)
30 (E), 31 (S) 32 (E), 33 (S)
34 (E), 35 (S) 36 (E), 37 (S)
38 (E), 39 (S) 40 (E), 41 (S)
42 (E), 43 (S) 44 (E), 45 (S)
46 (E), 47 (S) 48 (E), 49 (S)
50 (E), 51 (S), 52 (E), 53 (S)
54 (E), 55 (S) 56 (E), 57 (S)
58 (E), 59 (S), 60 (E), 61 (S)
30 (E), 31 (S) 26 (E), 27 (S) 28 (E), 29 (S)
(E) = Mesmo tampo transao, (O) = buffer de transao Odd
TABELA 17-5:
Nome
BDnSTAT(1)
BDnCNT(1)
BDnADRL
Nota 1:
2:
(1)
(1)
RESUMO DAS Buffer USB Descriptor Table REGISTOS
Bit 7
UOWN
Contagem de bytes
Endereo de buffer Baixa
Tampo Endereo alta
Bit 6
DTS(4)
Bit 5
PID3(2)
KEN(3)
Bit 4
PID2(2)
INCDIS(3)
Bit 3
PID1(2)
DTSEN(3)
Bit 2
PID0(2)
BSTALL(3)
O bit 1
BC9
Bit 0
BC8
BDnADRH
3:
4:
Para registos-tampo descritor, n pode ter um valor de 0 a 63. Por uma questo de brevidade, todos os 64 registradores
so
mostrado como um prottipo genrico. Todos os registros tm valores Redefinir indeterminados (xxxx xxxx).
Bits 5 a 2 do registo BDnSTAT so usados pelo SIE para retornar PID3: PID0 valores uma vez que o registo
entregue ao SIE (UOWN bit definido). Uma vez que os registros esto sob controle SIE, os valores
escrito por KEN, INCDIS, DTSEN e BSTALL no so mais vlidas.
Antes de se tornar o descritor reserva para o SIE (UOWN bit desmarcado), os bits de 5 a 2 do
BDnSTAT registo so utilizados para configurar o KEN, INCDIS, DTSEN e configuraes BSTALL.
Este bit ignorado a menos que DTSEN = 1.
v 2009 Microchip Technology Inc. DS39632E pgina 179
PIC18F2455/2550/4455/4550
17,5 Interrupes USB
O mdulo USB pode gerar mltiplas con-interrupo
condies. Para acomodar todas essas fontes de interrupo,
o mdulo equipado com a sua prpria lgica de interrupo
estrutura, semelhante ao do microcontrolador. USB
interrupes so ativados com um conjunto de registros de controle
e preso com um conjunto separado de registros de bandeira. Tudo
fontes so canalizados para uma nica interrupo USB
pedido, USBIF (PIR2 <5>), em que o microcontrolador do
interromper a lgica.
A Figura 17-8 mostra a lgica de interrupo para o USB
mdulo. Existem duas camadas de registos de interrupo em
o mdulo USB. O nvel superior composto por USB geral
interrupes de estado, que so habilitados e sinalizado no
UIE e UIR registra, respectivamente. O segundo nvel
consiste de condies de erro USB, que so ativados
e sinalizada nos registos UEIR e UEIE. Um
condio de interrupo em qualquer um destes provoca um erro de
USB
Interromper Flag (UERRIF) no nvel superior.
As interrupes podem ser utilizados para prender os eventos de
rotina num USB
transao. A Figura 17-9 mostra alguns eventos comuns
dentro de um quadro USB e suas interrupes correspondentes.
FIGURA 17-8: USB INTERRUPO FUNIL LOGIC
Segundo Nvel Interrupes USB
(Condies de erro USB)
UEIR (Flag) e UEIE (Ativar) Registra
Nvel Superior Interrupes USB
(Interrompe estado USB)
UIR (Flag) e UIE (Ativar) Registra
SOFIF
SOFIE
TRNIF
TRNIE
IDLEIF
IDLEIE
UERRIF
UERRIE
STALLIF
STALLIE
ACTVIF
ACTVIE
URSTIF
URSTIE
USBIF
BTSEF
BTSEE
BTOEF
BTOEE
DFN8EF
DFN8EE
CRC16EF
CRC16EE
CRC5EF
CRC5EE
PIDEF
PIDEE
FIGURA 17-9: Exemplo de uma operao de USB E EVENTOS INTERRUPO
De Anfitrio
Smbolo CONFIGURAO
De Anfitrio
De Anfitrio
Dados
Para Hospedar
Dados
De Anfitrio
Dados vazio
Transao
Transao
Completar
Para Hospedar
ACK
De Anfitrio
ACK
Para Hospedar
ACK Definir TRNIF
Definir TRNIF
Definir TRNIF
USB Reiniciar
URSTIF
Start-Of-Frame
SOFIF
Em sinal
De Anfitrio
OUT token
REAJUSTE
Dados diferenciais
SOF CONFIGURAO DATA STATUS SOF
Transfer Control(1)
Quadro 1 ms
Nota 1: A transferncia do controle mostrado aqui apenas um exemplo que mostra eventos que podem ocorrer para cada transao. Transferncias de controle
tpicos
vai se espalhar em vrios quadros.
DS39632E pgina 180 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
17.5.1 USB INTERRUPO STATUS
CADASTRE-SE (UIR)
O USB interrupo Estado de registro (Register 17-7) con-
tm os bits para cada bandeira do estado de interrupo USB
fontes. Cada uma destas fontes tem uma correspondente
interromper permitir bit no registo UIE. Todo o USB
sinalizadores de status so ORed juntos para gerar o USBIF
interromper bandeira para funil de interrupo do microcontrolador.
Uma vez que um bit de interrupo foi definido pelo SIE, deve
afastada pelo software por escrever um '0 '. Os bits de bandeira
tambm pode ser definido no software que pode ajudar no firmware
depurao.
Quando o mdulo USB est no Low-Power Suspender
modo (UCON <1> = 1), o SIE no se cronometrado.
Quando neste estado, o SIE no pode processar os pacotes,
e, por conseguinte, no possvel detectar novas condies de
interrupo
diferente da Atividade Deteco de interrupo, ACTVIF. O
ACTVIF bit normalmente usado por firmware USB para detectar
quando o microcontrolador deve trazer o mdulo USB
fora do Low-Power no modo de suspenso (UCON <1> = 0).
CADASTRE-SE 17-7:
U-0
-
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
bit 6
UIR: USB INTERRUPO registrador de status
R/W-0
SOFIF
R/W-0
STALLIF
R/W-0
IDLEIF(1)
R/W-0
TRNIF(2)
R/W-0
ACTVIF(3)
R-0
UERRIF(4)
R/W-0
URSTIF
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
Unimplemented: Leia como '0 '
SOFIF: Start-Of-Frame token bit de interrupo
1= Um token Start-Of-Frame recebido pelo SIE
0= Sem sinal Start-Of-Frame recebido pelo SIE
STALLIF: A TENDA Handshake bit de interrupo
1= Um aperto de mo com box foi enviado pelo SIE
0= Um aperto de mo BLOQUEIO no foi enviada
IDLEIF: Ocioso Detectar bit de interrupo(1)
1= Condio de inativo detectado (constante estado ocioso de 3 ms ou mais)
0= No estado inativo detectado
TRNIF: Transao completa bit de interrupo(2)
1= Processamento de transao pendente completa; leitura USTAT registrar para obter informaes endpoint
0= Processamento de transao pendente no est completa ou nenhuma transao est pendente
ACTVIF: Atividade Bus Detectar bit de interrupo(3)
1= Atividade na D + / D-linhas foi detectado
0= Sem atividade detectada no D + / D-linhas
UERRIF: USB Condio de erro bit de interrupo(4)
1= Uma condio de erro ocorreu desmascarado
0= No ocorreu condio de erro desmascarado.
URSTIF: USB Reiniciar bit de interrupo
1= Valid Reiniciar USB ocorreu; 00h carregado em UADDR registo
0= No Reiniciar USB ocorreu
Uma vez que detectado um estado de espera, o usurio pode querer colocar o mdulo USB em modo de suspenso.
Desmarcar esta pouco far com que o FIFO USTAT para avanar (vlido somente para os tokens CONFIGURAO IN,
OUT e).
Este bit normalmente desmascarado somente aps a deteco de um caso de interrupo UIDLE.
Somente as condies de erro ativados atravs do registo UEIE ir definir este bit. Este bit apenas um pouco e status
no pode ser definido ou cancelado pelo usurio.
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
2:
3:
4:
v 2009 Microchip Technology Inc. DS39632E pgina 181
PIC18F2455/2550/4455/4550
17.5.1.1 Atividade Bus Detectar Bit Interrupo
(ACTVIF)
O bit ACTVIF no pode ser apagada imediatamente depois
o mdulo USB acorda de suspender ou enquanto o
Mdulo USB est suspenso. Alguns ciclos de clock so
necessrio para sincronizar o estado de hardware interno
mquina antes do bit ACTVIF podem ser apagadas
firmware. Limpar o bit ACTVIF antes do interno
hardware est sincronizado no pode ter um efeito sobre o
o valor de ACTVIF. Alm disso, se o mdulo USB
usa o relgio a partir do PLL 96 MHz fonte, depois
limpando o bit SUSPND, o mdulo USB pode no estar
imediatamente operacional enquanto aguarda a 96 MHz
PLL para bloquear. O cdigo do aplicativo deve limpar o
ACTVIF marcar como mostrado no Exemplo 17-1.
Nota: Apenas uma interrupo gerada ACTVIF
ao retomar a partir do barramento USB Ocioso
condio. Se o firmware usurio cancela a
ACTVIF bit, o bit no imediatamente
se ajustar novamente, mesmo quando no h
trfego de nibus contnua. Trfego de nibus deve
deixa tempo suficiente para gerar outra
Condio IDLEIF antes de outra ACTVIF
de interrupo pode ser gerado.
Exemplo 17-1:
Assemblia:
BCF
COMPENSAO ACTVIF BIT (UIR <2>)
UCON, SUSPND
Loop:
BCFUIR, ACTVIF
BTFSC UIR, ACTVIF
BRALoop
Feito:
C:
UCONbits.SUSPND = 0;
while (UIRbits.ACTVIF) {UIRbits.ACTVIF = 0; }
DS39632E pgina 182 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
17.5.2 INTERRUPO USB ATIVAR
CADASTRE-SE (UIE)
O USB interrupo Ativar registro (Register 17-8)
contm os bits de habilitao para a interrupo estado USB
fontes. A configurao de qualquer desses bits permitir a
respectiva fonte de interrupo no registo UIR.
Os valores neste registo s afetam a propagao
de uma condio de interrupo para o microcontrolador do inter-
corrupta lgica. Os bits de bandeira ainda so definidas por sua
interrupo
condies, permitindo-lhes a ser buscado e manuteno
sem realmente gerar uma interrupo.
CADASTRE-SE 17-8:
U-0
-
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
bit 6
UIE: INTERRUPO USB ATIVAR REGISTRAR
R/W-0
SOFIE
R/W-0
STALLIE
R/W-0
IDLEIE
R/W-0
TRNIE
R/W-0
ACTVIE
R/W-0
UERRIE
R/W-0
URSTIE
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
Unimplemented: Leia como '0 '
SOFIE: Start-Of-Frame token interrupo Habilitar bit
1= Start-Of-Frame sinal de interrupo habilitado
0= Start-Of-Frame sinal de interrupo desativado
STALLIE: BLOQUEIO Handshake interrupo Habilitar bit
1= Interrupo BLOQUEIO habilitado
0= BLOQUEIO interrupo desativado
IDLEIE: Ocioso Detectar Interrupo Ativar bit
1= IDLE detectar interromper habilitado
0= IDLE detectar interromper desativado
TRNIE: Transao interrupo completa Ativar bit
1= Interrupo de transaes habilitado
0= Operao de interrupo desativado
ACTVIE: Atividade Bus Detectar Interrupo Ativar bit
1= Atividade Bus detectar interromper habilitado
0= Atividade Bus detectar interromper desativado
UERRIE: Erro de interrupo USB Habilitar bit
1= Interrupo de erro USB ativado
0= Interrupo de erro USB desativado
URSTIE: Redefinio de interrupo USB Habilitar bit
1= Reiniciar interrupo USB ativado
0= Reiniciar interrupo USB desativado
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
v 2009 Microchip Technology Inc. DS39632E pgina 183
PIC18F2455/2550/4455/4550
17.5.3 USB ERROR INTERRUPO STATUS
REGISTRO (UEIR)
O USB de erro de interrupo Estado de registro (Register 17-9)
contm os bits bandeira para cada uma das fontes de erro
no perifrico USB. Cada uma destas fontes est
controlada por um interruptor correspondente permitir bit em
o UEIE registar. Todos os sinalizadores de erro USB so ORed
em conjunto para gerar a interrupo da bandeira de erro USB
(UERRIF) no nvel superior da lgica de interrupo.
Cada bit de erro definido assim que a condio de erro
detectado. Assim, a interrupo no ir tipicamente
correspondem com o fim de um sinal a ser processado.
Uma vez que um bit de interrupo foi definido pelo SIE, deve
afastada pelo software por escrever um '0 '.
CADASTRE-SE 17-9:
R/C-0
BTSEF
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
UEIR: USB ERROR INTERRUPO registrador de status
U-0
-
U-0
-
R/C-0
BTOEF
R/C-0
DFN8EF
R/C-0
CRC16EF
R/C-0
CRC5EF
R/C-0
PIDEF
bit 0
C = bit Apagvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
BTSEF: Bit Coisas erro Flag bit
1= Um erro de material pouco tem sido detectada
0= Nenhum erro material bit
Unimplemented: Leia como '0 '
BTOEF: Bus Turnaround Time-out erro Flag bit
1Ocorreu = reviravolta Bus time-out (vezes mais do que 16 bits do ociosa de EOP anterior decorrido)
0= No nibus turnaround time-out
DFN8EF: Campo de dados Tamanho erro Flag bit
1= O campo de dados no um nmero inteiro de bytes
0= O campo de dados um nmero inteiro de bytes
CRC16EF: CRC16 falha Flag bit
1= O CRC16 falhou
0= O CRC16 passou
CRC5EF: CRC5 Anfitrio erro Flag bit
1= O pacote smbolo foi rejeitado devido a um erro CRC5
0= O pacote simblico foi aceito
PIDEF: PID Verificar falha Flag bit
1= Cheque PID no
0= PID cheque passado
bit 6-5
4 bits
bit 3
bit 2
bit 1
bit 0
DS39632E pgina 184 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
17.5.4 INTERRUPO DE ERRO USB ATIVAR
CADASTRE-SE (UEIE)
TheUSBErrorInterruptEnableregister
(Registrar 17-10) contm os bits de habilitao para cada um dos
as fontes de interrupo de erro USB. Definir qualquer um destes
bocados permitir a respectiva fonte de interrupo de erro no
o UEIR registar para propagar para o bit UERR em
o nvel mais alto da lgica de interrupo.
Tal como acontece com o registo UIE, os bits de habilitao afeta
apenas o
de propagao de uma condio de interrupo para o micro-
lgica de interrupo do controlador. Os bits de bandeira ainda so
definidas por
suas condies de interrupo, permitindo-lhes a ser buscado
e servidos sem realmente gerar uma interrupo.
CADASTRE-SE 17-10: UEIE: INTERRUPO DE ERRO USB ATIVAR REGISTRAR
R/W-0
BTSEE
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
U-0
-
U-0
-
R/W-0
BTOEE
R/W-0
DFN8EE
R/W-0
CRC16EE
R/W-0
CRC5EE
R/W-0
PIDEE
bit 0
BTSEE: Bit Coisas de erro de interrupo Habilitar bit
1= Bit coisas interrupo erro habilitado
0= Bit coisas interrupo erro desativado
Unimplemented: Leia como '0 '
BTOEE: Bus Turnaround Time-out de erro de interrupo Habilitar bit
1= Bus turnaround time-out interrupo erro habilitado
0= Bus turnaround time-out interrupo erro desativado
DFN8EE: Campo de dados Tamanho Erro de interrupo
Habilitar bit
1= Dados de campo de tamanho interrupo erro habilitado
0= Dados de campo de tamanho erro de interrupo desativado
CRC16EE: CRC16 falha Interrupo Ativar bit
1= CRC16 interrupo falha habilitado
0= CRC16 falha de interrupo desativado
CRC5EE: CRC5 Anfitrio Erro de interrupo Habilitar bit
1= CRC5 interrupo erro anfitrio habilitado
0= Interrupo erro CRC5 anfitrio desativado
PIDEE: PID Verificar falha de interrupo Habilitar bit
1= PID verificao de interrupo falha habilitado
0= Falha de verificao PID interromper desativado
bit 6-5
4 bits
bit 3
bit 2
bit 1
bit 0
v 2009 Microchip Technology Inc. DS39632E pgina 185
PIC18F2455/2550/4455/4550
17,6 Modos de alimentao USB
Muitas aplicaes USB provavelmente ter vrios diferente
conjuntos de requisitos de energia e configurao. O
modos de energia mais comuns encontrados so Bus
S poder, auto-Power Only e Dual Power com
Dominance auto-Power. Os casos mais comuns so
aqui apresentada.
O aplicativo deve nunca qualquer fonte de corrente para
o VBUS pino 5V do cabo USB.
FIGURA 17-11:
VBUS
~ 5V
VSELF
~ 5V
100 kW
AUTO-POWER ONLY
Pino de I / O
100 kW
VDD
Anexar Sense
17.6.1 PODER nibus s
Apenas no modo de energia Bus, todo o poder para a aplicao
desenhado a partir da USB (Figura 17-10). Isto
eficazmente o mtodo mais simples de energia para o dispositivo.
A fim de atender s exigncias atuais de irrupo do
Especificaes do USB 2.0, a capacidade efetiva total
aparecendo em VBUS e terra no devem ter mais
de 10 u . Se no, algum tipo de energizao limitante
necessria. Para mais detalhes, consulte a seo 7.2.4 do
Especificao USB 2.0.
De acordo com a especificao USB 2.0, todos os dispositivos USB
tambm deve suportar um modo de suspenso Low-Power. No
Suspender o modo USB, os dispositivos devem consumir mais
de 2,5 mA a partir da linha de 5V VBUS do cabo USB.
O anfitrio sinaliza o dispositivo USB para inserir os Suspender
modo, parando todo o trfego USB para que o dispositivo para obter
mais
de 3 ms. Isto far com que a condio de bits em IDLEIF
a UIR registrar para se tornar definido.
Durante o modo de suspenso USB, o D + ou D-pull-up
resistor deve permanecer ativo, que vai consumir algum
do permitido suspender atual: oramento de 2,5 mA.
VUSB
VSS
17.6.3 PODER DUAL COM AUTO-POWER
DOMINANCE
Algumas aplicaes podem exigir uma opo de poder dual.
Isso permite que o aplicativo para usar o poder interno pri-
Marily, mas mudar a alimentao da USB quando no inter-
poder nal est disponvel. Figura 17-12 mostra um simples
Dual Power com o exemplo Dominance Auto-Power,
que alterna automaticamente entre Auto-Power Only
e USB Bus poder s modos.
Dispositivos de alimentao dupla tambm deve atender toda a
especial
requisitos para o modo atual e suspender inrush
atual e no deve permitir que o mdulo USB at
VPH aumentado. Para obter descries de quem exigem-
mentos, ver Seo 17.6.1 "Power Bus Only" e
Seo 17.6.2 "Auto-Power Only".
Alm disso, os dispositivos de alimentao duplas nunca devem
fonte
atual para o VBUS pinos do cabo USB de 5V.
FIGURA 17-10: PODER nibus s
VBUS
~ 5V
VDD
FIGURA 17-12:
VUSB
VSS
VBUS
~ 5V
100 kW
VSELF
~ 5V
EXEMPLO DE ALIMENTAO DUAL
Pino de I / O
VDD
100 kW Anexar Sense
17.6.2 AUTO-POWER ONLY
VUSB
VSS
No modo S Auto-Power, a aplicao USB fornece
seu prprio poder, com muito pouco poder ser retirado
o USB. A Figura 17-11 mostra um exemplo. Note-se que um
anexar indicao adicionado para indicar quando o USB
foi ligado eo anfitrio est ativamente alimentar
VBUS.
A fim de atender s especificaes de conformidade, o USB
mdulo (e do resistor D + ou D-pull-up) no deve
ser ativado at que o anfitrio impulsiona ativamente VBUS alta. Um
dos pinos de I / O podem ser utilizados para esta finalidade.
Nota: Os usurios devem ter em mente os limites para
dispositivos de desenho de alimentao da USB.
De acordo com a especificao USB 2.0, este
no pode exceder 100 mA por baixo consumo de
energia
dispositivo ou 500 mA por dispositivo de alta potncia.
DS39632E pgina 186 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
17,7 Transmisso da Porta Paralela
A Transmisso de porta paralela (SPP) uma rota alternativa
opo para a RAM de dados alm USB. Usando a SPP, uma
endpoint pode ser configurado para enviar dados para ou receber
dados diretamente de hardware externo.
Esta metodologia apresenta possibilidades de design, onde
o microcontrolador atua como um gerenciador de dados, permitindo
a SPP para passar grandes blocos de dados sem o micro-
controlador realmente process-lo. Uma aplicao
exemplo pode incluir um sistema de aquisio de dados,
onde os dados so transmitidos a partir de um FIFO externo atravs
USB para o computador host. Neste caso, o ponto de extremidade
controle gerenciado pelo microcontrolador e dados brutos
movimento tratado externamente.
A SPP ativada como uma porta USB atravs de endpoint
o descritor reserva endpoint associados. O endpoint
deve ser activado da seguinte forma:
1.
2.
3.
Definir BDnADRL: BDnADRH para apontar para FFFFh.
Definir o bit KEN (BDnSTAT <5>) para deixar SIE manter
controlo de tampo.
Definir o bit INCDIS (BDnSTAT <4>) para desativar
incremento endereo automtico.
Consulte Seo 18,0 "streaming de porta paralela" para
mais informaes sobre o SPP.
Nota 1: Se um terminal est configurado para usar a
SPP SPP o mdulo deve ser tambm
configurado para usar o mdulo USB.
Caso contrrio, a operao inesperada pode
ocorrer.
2: Alm disso, se um terminal configurado para
utilizar a SPP, o tipo de transferncia de dados que
endpoint deve ser apenas isochronous.
17,8 Oscilador
O mdulo USB tem requisitos especficos de clock. Para
operao full-speed, a fonte do relgio deve ser 48 MHz.
Mesmo assim, o ncleo microcontrolador e outros perifricos
no so obrigados a correr naquela velocidade de clock ou mesmo
de
a mesma fonte do relgio. Opes de clock disponveis so
descrito em detalhe no Seo 2.3 "Configuraes oscilador
para USB ".
TABELA 17-6:
Nome
INTCON
IPR2
PIR2
Legenda:
Nota 1:
Ficheiros associados com o mdulo OPERAO USB (1)
Bit 7 Bit 6
PEIE / giel
CMIP
CMIF
Bit 5
TMR0IE
USBIP
USBIF
Bit 4
INT0IE
EEIP
EEIF
Bit 3
RBIE
BCLIP
BCLIF
Bit 2
TMR0IF
HLVDIP
HLVDIF
O bit 1
INT0IF
TMR3IP
TMR3IF
Bit 0
RBIF
CCP2IP
CCP2IF
Detalhes sobre o
pgina
53
56
56
GIE / GIEH
OSCFIP
OSCFIF
- = No implementado, ler como '0 '. Clulas sombreadas no so utilizados pelo mdulo USB.
Esta tabela inclui apenas os SFRs mapeados hardware localizados no Banco 15 do espao de memria de dados. O buffer
Registradores descritor, que so mapeados em Bank 4 e no so verdadeiros SFRs, so listados separadamente na Tabela 17-5.
v 2009 Microchip Technology Inc. DS39632E pgina 187
PIC18F2455/2550/4455/4550
Nome
PIE2
UCON
UCFG
USTAT
UADDR
UFRML
UFRMH
UIR
UIE
UEIR
UEIE
UEP0
UEP1
UEP2
UEP3
UEP4
UEP5
UEP6
UEP7
UEP8
UEP9
UEP10
UEP11
UEP12
UEP13
UEP14
UEP15
Legenda:
Nota 1:
Bit 7
OSCFIE
-
UTEYE
-
-
FRM7
-
-
-
BTSEF
BTSEE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Bit 6
CMIE
PPBRST
UOEMON
ENDP3
ADDR6
FRM6
-
SOFIF
SOFIE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Bit 5
USBIE
SE0
-
ENDP2
ADDR5
FRM5
-
STALLIF
STALLIE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Bit 4
EEIE
PKTDIS
UPUEN
ENDP1
ADDR4
FRM4
-
IDLEIF
IDLEIE
BTOEF
BTOEE
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
EPHSHK
Bit 3
BCLIE
USBEN
UTRDIS
ENDP0
Addr3
FRM3
-
TRNIF
TRNIE
DFN8EF
DFN8EE
Bit 2
HLVDIE
RESUMO
FSEN
DIR
Addr2
FRM2
FRM10
ACTVIF
ACTVIE
CRC16EF
CRC16EE
O bit 1
TMR3IE
SUSPND
PPB1
PPBI
Addr1
FRM1
FRM9
UERRIF
UERRIE
CRC5EF
CRC5EE
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
EPINEN
Bit 0
CCP2IE
-
PPB0
-
ADDR0
FRM0
FRM8
URSTIF
URSTIE
PIDEF
PIDEE
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
EPSTALL
Detalhes sobre o
pgina
56
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
EPCONDIS EPOUTEN
- = No implementado, ler como '0 '. Clulas sombreadas no so utilizados pelo mdulo USB.
Esta tabela inclui apenas os SFRs mapeados hardware localizados no Banco 15 do espao de memria de dados. O buffer
Registradores descritor, que so mapeados em Bank 4 e no so verdadeiros SFRs, so listados separadamente na Tabela 17-5.
DS39632E pgina 188 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
17,10 Viso de USB
Esta seo apresenta alguns dos conceitos bsicos USB
e informao til necessria para projetar um USB
dispositivo. Embora a quantidade de informaes fornecidas neste
seco, existe uma multiplicidade de informaes fornecidas
dentro das especificaes do USB e especificaes de classe.
Assim, o leitor convidado para se referir a uma porta USB
especificaes para obter mais informaes (www.usb.org). Se
voc est muito familiarizado com os detalhes do USB, ento este
seo serve como uma reciclagem bsica de alto nvel da USB.
17.10.3 TRANSFERNCIAS
Existem quatro tipos de transferncia definidos na USB
especificao.
Isochronous: Isto proporciona um tipo de transferncia
Mtodo para grandes quantidades de dados (at
1023 bytes), com prazo de entrega garantido;
Contudo, a integridade dos dados no assegurada. Isto
bom para aplicaes de streaming onde pequenos dados
perda no crtico, tais como udio.
Massa: Este tipo de mtodo de transferncia permite grande
quantidades de dados a serem transferidas com assegurada
integridade dos dados, no entanto, a pontualidade de entrega
no assegurada.
Interrupo: Este tipo de transferncia prev
entrega oportuna garantida para os pequenos blocos de dados,
acrescida garantida a integridade dos dados.
Controle: Este tipo fornece para configurao do dispositivo
controlar.
Enquanto dispositivos de velocidade total suportar todos os tipos de
transferncia,
dispositivos de baixa velocidade so limitadas a interromper e
controlar
apenas transferncias.
17.10.1 QUADRO LAYERED
Funcionalidade do dispositivo USB est estruturado em camadas
quadro graficamente mostrado na Figura 17-13. Cada
nvel est associado a um nvel funcional dentro do
dispositivo. A camada mais elevada, diferente do dispositivo, o
configurao. Um dispositivo pode ter vrias configura-
es. Por exemplo, um dispositivo em particular podem ter
vrios requisitos de energia com base na auto-Power Only
ou nibus poder s modos.
Para cada configurao, pode haver mltiplas
interfaces. Cada interface poderia apoiar um determinado
de modo que a configurao.
Abaixo da interface o ponto de extremidade (s). Os dados so
diretamente
movido a este nvel. Podem existir tantos quanto
16 terminais bidirecionais. Endpoint 0 sempre um
controlar o ponto final e, por padro, quando o dispositivo est
ligado
o nibus, Endpoint 0 devem estar disponveis para configurar o
dispositivo.
17.10.4 PODER
Poder est disponvel a partir da Universal Serial Bus. O
Especificao USB define os requisitos de energia de nibus.
Os dispositivos podem ser tanto auto-alimentado ou nibus
powered.
Dispositivos de auto-alimentado extrair energia de um provedor
externo
fonte, enquanto os dispositivos alimentados por barramento usar
energia fornecida
do nibus.
17.10.2 FRAMES
Informaes comunicadas no nibus so agrupadas em
1 ms intervalos de tempo, referidos como quadros. Cada quadro
pode
contm muitas transaes para vrios dispositivos e
endpoints. A Figura 17-9 mostra um exemplo de um
transao dentro de um quadro.
FIGURA 17-13: CAMADAS USB
Dispositivo
Para outras configuraes (se houver)
Configurao
Para outras interfaces (se houver)
Interface Interface
Endpoint Endpoint Endpoint Endpoint Endpoint
v 2009 Microchip Technology Inc. DS39632E pgina 189
PIC18F2455/2550/4455/4550
A especificao USB limita a alimentao feita a partir do
nibus. Cada dispositivo assegurada a aproximadamente 100 mA
5V (uma unidade de carga). Energia adicional poder ser solicitada,
, at um mximo de 500 mA. Note-se que o poder acima
uma unidade de carga um pedido eo host ou hub no
obrigado a fornecer a corrente extra. Assim, um dispositivo
capazes de consumir mais do que uma unidade de carga deve ser
capaz de manter a configurao de um baixo consumo de energia
de uma unidade de uma
carregar ou menos, se necessrio.
A especificao USB tambm define um modo de suspenso.
Nesta situao, a corrente deve ser limitada a 2,5 mA,
uma mdia de mais de 1 segundo. Um dispositivo deve digitar um
Suspender estado aps 3 ms de inatividade (ou seja, no SOF
tokens para 3 ms). Um dispositivo entrar em modo de suspenso
deve cair o consumo de corrente dentro de 10 ms aps
Suspender. Da mesma forma, quando a sinalizao de um wake-up,
o
dispositivo deve sinalizar um wake-up dentro de 10 ms de desenho
corrente acima do limite de suspenso.
17.10.6.2 Configurao Descriptor
O descritor de configurao fornece informaes sobre
os requisitos de energia do dispositivo e quantos
diferentes interfaces so suportados quando nesta confi-
rao. Pode haver mais do que uma configurao de um
dispositivo (ou seja, de baixa potncia e configuraes de alta
potncia).
17.10.6.3 Interface Descriptor
A interface descritor detalha o nmero de finais
pontos utilizados nesta interface, bem como a classe do
interface. Pode haver mais do que uma interface para uma
configurao.
17.10.6.4 Endpoint Descriptor
17.10.5 ENUMERATION
O descritor de endpoint identifica o tipo de transferncia
(Seo 17.10.3 "Transferncias") e direco, bem
como alguns outros detalhes para o desfecho. Pode haver
muitos pontos de extremidade de uma extremidade do dispositivo e
pode ser
compartilhado em diferentes configuraes.
Quando o dispositivo inicialmente ligado ao bus, o hospedeiro
entra em um processo de enumerao, na tentativa de identificar
o dispositivo. Essencialmente, o hospedeiro interroga o dispositivo
coleta de informaes, tais como o consumo de energia, os dados
taxas e tamanhos, protocolo e outro descritivo
informao; descritores conter esta informao. A
enumerao processo tpico seria como se segue:
1. USB Reiniciar: Reinicie o dispositivo. Assim, o dispositivo
no est configurado e no tem um endereo
(Endereo 0).
Obter descritor de dispositivo: O host solicita um
pequena poro do descritor de dispositivo.
USB Reiniciar: Reinicie o dispositivo novamente.
Definir Endereo: O host atribui um endereo para o
dispositivo.
Obter descritor de dispositivo: O host recupera o
descritor de dispositivo, coleta de informaes, tais como
fabricante, tipo de dispositivo, o mximo controle
tamanho do pacote.
Obter descritores de configurao.
Obter quaisquer outros descritores.
Defina uma configurao.
17.10.6.5 Cordas Descriptor
Muitos dos descritores anterior referncia um ou
mais descritores de corda. Descritores corda fornecer
informao legvel sobre a camada
(Seo 17.10.1 "Layered-Quadro") eles
descrever. Muitas vezes, essas seqncias aparecem no host
ajudar a identificar o utilizador do dispositivo. Descritores de corda
so
geralmente opcionais para poupar memria e so codificados em
um formato unicode.
2.
3.
4.
5.
17.10.7 Velocidade do
barramento
Cada dispositivo USB deve indicar a sua presena e nibus
acelerar para o anfitrio. Isto conseguido atravs de um
Resistor de 1,5 kW, que conectado ao barramento no
hora do evento anexo.
Dependendo da velocidade do dispositivo, a resistncia
ou pega o D + ou D-line para 3.3V. Para um
dispositivos de baixa velocidade, o resistor de pull-up est ligado a
a linha D. Para um dispositivo full-speed, o resistor de pull-up
ligada linha D +.
6.
7.
8.
17.10.8
O processo de enumerao exata depende do host.
ESPECIFICAES classe e
MOTORISTAS
17.10.6 DESCRITORES
H oito diferentes tipos descritores padro de
quais cinco so os mais importantes para este dispositivo.
17.10.6.1 Descritor de dispositivo
O descritor de dispositivo fornece informaes gerais,
como fabricante, nmero do produto, nmero de srie
a classe de dispositivo e o nmero de configuraes.
Existe apenas um descritor de dispositivo.
Especificaes USB incluem especificaes de classe que
fornecedores de sistemas operacionais opcionalmente suportar.
Exemplos de classes incluem udio, armazenamento em massa,
Comunicaes e interface humana (HID). Na maioria
casos, um motorista exigido no lado do host para 'falar' com o
Dispositivo USB. Em aplicaes personalizadas, um motorista pode
precisar
a ser desenvolvido. Felizmente, os drivers esto disponveis para
sistemas hospedeiros mais comuns para o mais comum
as classes de dispositivos. Assim, esses drivers podem ser
reutilizados.
DS39632E pgina 190 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
18,0
Nota:
STREAMING PORTO PARALELO
A Transmisso de porta paralela apenas
disponvel em dispositivos 40/44-pin.
PIC18F4455/4550 dispositivos USB fornecem uma transmisso
Porta Paralela como uma interface de alta velocidade para dados
mveis
e a partir de um sistema externo. Este porta paralela
funciona como uma porta mestre, com chip de escolha
e as sadas de relgio para controlar o movimento de dados para
dispositivos escravos. Os dados podem ser canalizados quer
directamente a
o USB SIE ou ao ncleo do microprocessador. Figura 18-1
mostra uma vista em bloco do caminho de dados spp.
Alm disso, o SPP pode proporcionar um tempo multiplexado
informaes de endereamento, juntamente com os dados usando o
segunda sada de strobe. Assim, o nmero de ponto de extremidade
USB
pode ser escrita em conjunto com os dados para aquele
endpoint.
18,1 SPP Configurao
FIGURA 18-1: SPP DATA PATH
PIC18F4455/4550
A operao do SPP controlada por dois registos:
SPPCON e SPPCFG. O registo SPPCON
(Registo 18-1) controla o funcionamento geral do
porta paralela e determina se ele opera com USB ou
controle microcontrolador. O registo SPPCFG
(Registrar 18-2) controla a configurao de tempo e pin
sadas.
18.1.1 Ativando o SPP
USB
SIE
SPP
Lgica
CPU
CK1SPP
CK2SPP
OESPP
CSSPP
SPP <7:00>
Para ativar o SPP, defina o bit SPPEN (SPPCON <0>).
Alm disso, os bits de TRIS para o correspondente SPP
pinos devem ser configurados corretamente. No mnimo:
Bits TRISD <07:00> deve ser definido (= 1)
Bits TRISE <02:01> devem ser apuradas (= 0)
CK1SPP Se para ser usado:
Bit TRISE <0> devem ser apuradas (= 0)
CSPP Se para ser usado:
Bit TRISB <4> devem ser apuradas (= 0)
CADASTRE-SE 18-1:
U-0
-
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7-2
bit 1
SPPCON: SPP registro de controle
U-0
-
U-0
-
U-0
-
U-0
-
U-0
-
R/W-0
SPPOWN
R/W-0
SPPEN
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
Unimplemented: Leia como '0 '
SPPOWN: SPP bit propriedade
1= USB perifrico controla o SPP
0= Microcontrolador controla diretamente o SPP
SPPEN: SPP Habilitar bit
1= SPP est habilitado
0= SPP est desativado
bit 0
v 2009 Microchip Technology Inc. DS39632E-pgina 191
PIC18F2455/2550/4455/4550
CADASTRE-SE 18-2:
R/W-0
CLKCFG1
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7-6
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
SPPCFG: SPP configurao de registro
R/W-0 R/W-0
CSEN
R/W-0
CLK1EN
R/W-0
WS3
R/W-0
WS2
R/W-0
WS1
R/W-0
WS0
bit 0
CLKCFG0
CLKCFG1: CLKCFG0: Bits de configurao de clock SPP
1x = CLK1 alterna em ler ou escrever de um endereo de endpoint Odd;
Clk2 alterna em ler ou escrever de um endereo de endpoint Mesmo
01 = CLK1 alterna na gravao; clk2 alterna em ler
00 = CLK1 alterna somente em escrever o endereo endpoint; clk2 alterna em dados ler ou escrever
CSEN: SPP Chip Select Pin Habilitar bit
1= Pino RB4 controlado pelo mdulo e funes como sada CS SPP SPP
0= RB4 funciona como uma porta de E / S digital
CLK1EN: SPP CLK1 Pin Habilitar bit
1= Pino RE0 controlado pelo mdulo e funes SPP SPP como sada CLK1
0= RE0 funciona como uma porta de E / S digital
WS3: WS0: SPP Espere Unidos pedaos
1111 = 30 estados de espera adicionais
1110 = 28 estados de espera adicionais


0001 = 2 estados de espera adicionais
0000 = 0 estados de espera adicionais
bit 5
4 bits
bit 3-0
18.1.2 Overclock DATA 18.1.3 Estados de espera
A SPP tem quatro sadas de controle:
Duas sadas de clock separado (CK1SPP e
CK2SPP)
Output enable (OESPP)
Chip select (CSSPP)
Juntos, eles permitem vrias configuraes diferentes
para controlar o fluxo de dados para os dispositivos escravos.
Quando
todas as sadas de controle so usados, as trs principais opes
so: CLK1 relgios endpoint informaes de endereo enquanto
Clk2 relgios de dados
CLK1 relgios escrever operaes enquanto clk2 relgios
l
CLK1 relgios de dados endereo mpar enquanto clk2 relgios
Mesmo o envio de dados
Opes de controle adicionais so derivadas por desativar o
CK1SPP e sadas CSSPP. Estes so ativados ou
desativada com o CLK1EN e CSEN pedaos, respectivamente,
localizado na Register 18-2.
A SPP projetado com a capacidade de adicionar espera
estados a ler e escrever operaes. Isto permite o acesso
em paralelo dispositivos que necessitam de tempo extra para
acesso.
Estado de espera clocking baseia-se na fonte de dados de relgio.
Se o SPP est configurado para operar como um terminal USB,
aguarde estados so baseados no relgio USB. Da mesma forma,
se a SPP est configurado para operar a partir do micro-
controlador, e depois esperar estados so baseados na instruo
taxa (FOSC / 4).
O WS3: WS0 bits definidos os estados de espera utilizados pelo
SPP,
com uma gama de estados de espera no para 30 estados de
espera, em multi-
pios de dois. Os estados de espera so adicionados de forma
simtrica para
todas as operaes, com um meio adicionado seguindo cada um
dos
dois ciclos de clock normalmente exigido para a transao.
Figura 18-3 ea Figura 18-4 mostram exemplos de sinalizao
com 4 estados de espera adicionados a cada transao.
18.1.4 SPP PULL-UPS
As linhas de dados SPP (SPP <07:00>) esto equipados com
interna pull-ups para aplicaes que podem deixar o porto
num estado de alta impedncia. O pull-ups so
ativado usando o bit de controle, RDPU (PORTE <7>).
DS39632E pgina 192 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
FIGURA 18-2: CALENDRIO PARA MICROCONTROLLER escrever o endereo, ESCREVER DE DADOS E
Ler dados (NO estados de espera)
FOSC / 4
OESPP
CSSPP
CK1SPP
CK2SPP
SPP <7:00> ADDR DATA DATA
Escrever Endereo
MOVWF SPPEPS
Gravar dados
MOVWF SPPDATA
Ler dados
MOVF SPPDATA, W
FIGURA 18-3:
USB Relgio
OESPP
CSSPP
CK1SPP
CK2SPP
SPP <7:00>
Tempo para escrever endereo USB E DATA (4 estados de espera)
Escrever Endereo
2 Aguarde Unidos
Gravar dados
2 Aguarde Unidos 2 Aguarde Unidos 2 Aguarde Unidos
FIGURA 18-4:
USB Relgio
OESPP
CSSPP
CK1SPP
CK2SPP
SPP <7:00>
CALENDRIO PARA USB escrever o endereo e ler dados (4 estados de espera)
Escrever Endereo Ler dados
2 Aguarde Unidos 2 Aguarde Unidos
2 Aguarde Unidos 2 Aguarde Unidos
v 2009 Microchip Technology Inc. DS39632E pgina 193
PIC18F2455/2550/4455/4550
18,2 Configurao para Controle USB
18.3.1 SPP INTERRUPTS
Quando o SPP est configurado para operao USB, os dados
pode ser cronometrado directamente para e do perifrico USB
sem a interveno do microcontrolador, assim, nenhuma
necessrio um tempo de processo. Os dados so cronometrados
dentro ou para fora
da SPP com endpoint (endereo) informao em primeiro lugar,
seguido de um ou mais bytes de dados, como mostrado na
Figura 18-5. Este ideal para aplicaes que requerem
iscrono, grande movimentao de dados de volume.
Os passos a seguir so necessrios para configurar o SPP para
Controle USB:
1.
2.
3.
4.
5.
6.
Configure a SPP como desejado, incluindo espera
estados e relgios.
Definir o bit SPPOWN para a posse USB.
Definir o descritor de endereo inicial do buffer
(BDnADRL: BDnADRH) a FFFFh.
Definir o bit KEN (BDnSTAT <5>) para o buffer
descritor mantido indefinidamente pelo SIE.
Definir o bit INCDIS (BDnSTAT <4>) para desativar
buffer de incremento automtico de endereo.
Definir o bit SPPEN de ativar o mdulo.
Nota: Se um terminal USB est configurado para usar a
SPP, do tipo de que a transferncia de dados
endpoint deve ser apenas isochronous.
Quando possudo pelo ncleo do microcontrolador, o controle pode
gerar uma interrupo para notificar o aplicativo quando
cada um ler e escrever operao for concluda. O
interrupo bit bandeira SPPIF (PIR1 <7>) e ativado por
o bit SPPIE (PIE1 <7>). Como todos os outros microcontroladores
interrompe nvel, que pode ser definido como uma prioridade baixa
ou elevada.
Isto feito com o bit SPPIP (IPR1 <7>).
18.3.2 Escrito ao SPP
Uma vez configurado, por escrito, ao SPP realizada por
escrevendo aos registos SPPEPS e SPPDATA. Se o
SPP est configurado para relgio fora endpoint endereo infor-
mao com os dados, escrevendo para o registo SPPEPS
inicia o ciclo de escrita de endereo. Caso contrrio, a escrita
comeou por escrever os dados para o registo SPPDATA.
O bit SPPBUSY indica o estado do endereo
e os ciclos de escrita de dados.
O seguinte uma seqncia de gravao exemplo:
1. Escreva o endereo de 4 bits para o registo SPPEPS.
A SPP iniciado automaticamente escrever o
endereo. Se o endereo de gravao no usado, ento
pule
ao passo 3.
Monitorizar o bit SPPBUSY para determinar quando o
endereo foi enviada. A durao depende
nos estados de espera.
Anote os dados para o registo SPPDATA. O
SPP inicia automaticamente a gravao dos dados.
Monitorizar o bit SPPBUSY para determinar quando o
dados foram enviados. A durao depende
os estados de espera.
Volte para as etapas 1 ou 3 a escrever um novo endereo
ou dados.
Nota: O bit SPPBUSY devem ser entrevistados para
a certeza de que sucessivas escreve para o
SPPEPS ou SPPDATA registros no
superado o tempo de espera, devido ao estado de
espera
criao.
2.
18,3 Configurao de Controle de microcontrolador
3.
4.
A SPP tambm pode atuar como uma porta paralela para o
microcontrolador. Neste modo, os SPPEPS registar
(Registrar 18-3) fornece gravao de status e endereo
controlar. Os dados so gravados e lidos a partir do SPPDATA
registrar. Quando a SPP de propriedade da
microcontrolador, o relgio SPP impulsionado pela
relgio instruo (FOSC / 4).
Os passos a seguir so necessrios para configurar o SPP para
operao microcontrolador:
1.
2.
3.
Configure a SPP como desejado, incluindo espera
estados e relgios.
Limpar o bit SPPOWN.
Conjunto SPPEN para permitir que o mdulo.
5.
FIGURA 18-5: Transferncia de dados entre SIE USB E SPP
Escreva o nmero de endpoint USB para SPP
Escreve dados USB sada para SPP ou
ler dados USB de entrada de SPP
Endpoint
Endereo
Byte 0 Byte 1 Byte 2 Byte 3 Byte n
DS39632E pgina 194 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
18.3.3 Leitura do SPP 3.
Leitura do SPP envolve a leitura do SPPDATA
registrar. Lendo a registar a primeira vez que inicia o
operao de leitura. Quando a leitura est terminada, indicado pela
o bit SPPBUSY, o SPPDATA sero carregados com o
dados atuais.
O seguinte um exemplo ler seqncia:
1. Escreva o endereo de 4 bits para o registo SPPEPS.
A SPP iniciado automaticamente escrever o
endereo. Se o endereo de gravao no usado, em
seguida, pular para
o passo 3.
Monitorizar o bit SPPBUSY para determinar quando o
endereo foi enviada. A durao depende
nos estados de espera.
Leia os dados do registo SPPDATA, o
os dados da operao de leitura anterior
retornado. A SPP iniciado automaticamente a leitura
para o prximo ciclo de leitura.
Monitorizar o bit SPPBUSY para determinar quando o
de dados tenha sido lida. A durao depende
os estados de espera.
Volte para a etapa 3 para ler o byte atual
o SPP e iniciar o prximo ciclo de leitura.
4.
5.
2.
CADASTRE-SE 18-3:
R-0
RDSPP
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
SPPEPS: SPP ENDEREO terminais e registrador de status
R-0 U-0
-
R-0
SPPBUSY
R/W-0
Addr3
R/W-0
Addr2
R/W-0
Addr1
R/W-0
ADDR0
bit 0
WRSPP
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
RDSPP: SPP Leia bit Estado (Vlido quando SPPCON <SPPOWN> = 1, USB)
1= A ltima operao foi uma leitura a partir da SPP
0= A ltima operao no foi uma leitura a partir da SPP
WRSPP: SPP Escrever bit Estado (Vlido quando SPPCON <SPPOWN> = 1, USB)
1= A ltima operao foi a escrever para o SPP
0= A ltima transao no foi a escrever para o SPP
Unimplemented: Leia como '0 '
SPPBUSY: SPP Handshaking bit Override
1= O SPP est ocupado
0= O SPP est pronto para aceitar um outro pedido de leitura ou gravao
Addr3: ADDR0: Endpoint bits de endereo SPP
1111 = Endpoint Endereo 15


0001
0000 = Endpoint Address 0
bit 6
bit 5
4 bits
bit 3-0
v 2009 Microchip Technology Inc. DS39632E pgina 195
PIC18F2455/2550/4455/4550
TABELA 18-1:
Nome
SPPCON(3)
SPPCFG(3)
SPPEPS(3)
SPPDATA(3)
PIR1
PIE1
IPR1
PORTE
Ficheiros associados com a porta paralela STREAMING
Bit 7
-
RDSPP
Dados7
SPPIF
(3)
Bit 6
-
WRSPP
Dados6
ADIF
ADIE
ADIP
-
Bit 5
-
CSEN
-
DATA5
RCIF
RCIE
RCIP
-
Bit 4
-
CLK1EN
SPPBUSY
Data4
TXIF
TXIE
TXIP
-
Bit 3
-
WS3
Addr3
DATA3
SSPIF
SSPIE
SSPIP
RE3(1,2)
Bit 2
-
WS2
Addr2
DATA2
CCP1IF
CCP1IE
CCP1IP
RE2(3)
O bit 1
SPPOWN
WS1
Addr1
DATA1
TMR2IF
TMR2IE
TMR2IP
RE1(3)
Bit 0
SPPEN
WS0
ADDR0
DATA0
TMR1IF
TMR1IE
TMR1IP
RE0(3)
Restabelecer
Valores
na pgina
57
57
57
57
56
56
56
56
CLKCFG1 CLKCFG0
SPPIE(3)
SPPIP(3)
RDPU(3)
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados para a porta paralela de streaming.
Nota 1: Implementado somente quando Master Clear funcionalidade desativada (bit Configurao MCLRE = 0).
2: RE3 o nico bit PORTE implementado em ambos os 28 pinos e dispositivos 40/44-pin. Todos os outros bits so
implementado somente quando PORTE implementado (ou seja, dispositivos 40/44-pin).
3: Estes registos e / ou bits so no implementado em dispositivos de 28 pinos.
DS39632E pgina 196 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
19,0 MESTRE SNCRONO
PORTA SERIAL (MSSP)
MDULO
Mestre SSP Module (MSSP)
Viso global
19,3 SPI Modo
O modo SPI permite oito bits de dados a ser sincronizadamente
transmitidos e recebidos simultaneamente. Todos os quatro
modos da SPI so suportados. Para realizar
comunicao, so tipicamente utilizados trs pinos:
Fora de srie de dados (SDO) - RC7/RX/DT/SDO
Dados de srie no (SDI) - RB0/AN12/INT0/FLT0/SDI/SDA
Serial Clock (SCK) - RB1/AN10/INT1/SCK/SCL
Alm disso, um quarto pino pode ser utilizado, quando em um
escravo
modo de operao:
Slave Select (SS) - RA5/AN4/SS/HLVDIN/C2OUT
A Figura 19-1 mostra o diagrama de blocos do MSSP
mdulo quando operando em modo SPI.
19,1
O mdulo de porta serial sncrona Master (MSSP)
uma interface serial, til para se comunicar com outro
dispositivos perifricos ou microcontrolador. Estes perifricos
dispositivos podem ser EEPROMs seriais, registradores de
deslocamento,
drivers de vdeo, conversores A / D, etc O mdulo MSSP
pode operar em um dos dois modos:
Serial Peripheral Interface (SPI)
Circuito Inter-integrado (I2C )
- Modo Master completa
- Modo Slave (com chamada endereo geral)
A interface I2C suporta os seguintes modos de
Equipamento:
modo Master
Modo Multi-Master
Modo Slave
FIGURA 19-1: MSSP DIAGRAMA DE BLOCO
(SPI MODE)
Interno
Barramento de
dados
Ler
SSPBUF reg
Escrever
19.2 Controle de Registros
SSPSR reg
SDI
bit0 Mudana
Relgio
O mdulo tem trs MSSP controle associado regis-
ters. Estes incluem um registrador de status (SSPSTAT) e
dois registradores de controle (SSPCON1 e SSPCON2). O
o uso desses registros e sua configurao individual
pedaos diferem significativamente dependendo se o MSSP
mdulo operado em modo I2C ou SPI.
Detalhes adicionais so fornecidos sob o indivduo
sees.
SDO
SS Controle
Permitir
SS
Borda
Selecionar
2
Relgio Selecione
SSPM3: SSPM0
SMP: CKE
4
TMR2 Output
2
2
Borda
Selecionar
Prescaler tosc
4, 16, 64
( )
SCK
Dados para TX / RX em SSPSR
TRIS bit
Nota: Apenas as funes relevantes para pino SPI
operao so mostrados aqui.
v 2009 Microchip Technology Inc. DS39632E pgina 197
PIC18F2455/2550/4455/4550
19.3.1 REGISTOS
O mdulo MSSP tem quatro registros para o modo SPI
operao. Estes so os seguintes:
MSSP Controle Register 1 (SSPCON1)
MSSP Estado Register (SSPSTAT)
Serial recepo / transmisso do buffer Registrar
(SSPBUF)
MSSP Shift (SSPSR) - No diretamente
acessvel
SSPCON1 e SSPSTAT so o controle e status
registra em SPI modo de operao. O SSPCON1
registo legvel e gravvel. Os seis bits mais baixos de
o SSPSTAT so somente leitura. Os dois bits superiores do
SSPSTAT so de leitura / gravao.
SSPSR a mudana de registo usado para transferir dados ou
para fora. SSPBUF o buffer de registro a que os dados bytes
so escritos ou lidos.
Em operaes de recebimento, SSPSR e SSPBUF juntos
criar um receptor de buffer duplo. Quando SSPSR
recebe um byte completo, ele transferido para SSPBUF
ea interrupo SSPIF est definido.
Durante a transmisso, o SSPBUF no duplo
tamponado. A gravao para SSPBUF ir gravar tanto SSPBUF
e SSPSR.
CADASTRE-SE 19-1:
R/W-0
SMP
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
SSPSTAT: MSSP registrador de status (SPI MODE)
R/W-0
CKE(1)
R-0
D / D
R-0
P
R-0
S
R-0
R / W
R-0
UA
R-0
BF
bit 0
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
SMP: Bit Sample
Modo Master SPI:
1= Dados de entrada amostrado no final do tempo de sada de dados
0= Dados de entrada amostrado a meio do tempo de sada de dados
Modo Slave SPI:
SMP deve ser limpo quando SPI usado no modo Slave.
CKE: SPI Relgio Selecione bit(1)
1= Transmisso ocorre em transio de ativo para o estado do relgio Ocioso
0= Transmisso ocorre em transio de inativo para o estado do relgio ativo
D / D: Bits de dados / Address
Usado apenas no modo I2C.
P: Pare bit
Usado apenas no modo I2C. Este bit apagado quando o mdulo MSSP est desativado, SSPEN est
desmarcada.
S: Comece bit
Usado apenas no modo I2C.
R / W: Read / Write bit Informao
Usado apenas no modo I2C.
UA: Atualize bit Endereo
Usado apenas no modo I2C.
BF: Buffer cheio bit Estado (Modo de recepo apenas)
1= Receber completa, SSPBUF est cheio
0= Receber no est completa, SSPBUF est vazia
Polaridade de Estado relgio definido pelo bit CKP (SSPCON1 <4>).
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
DS39632E pgina 198 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
CADASTRE-SE 19-2:
R/W-0
WCOL
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
SSPCON1: MSSP registro de controle 1 (SPI MODE)
R/W-0 R/W-0
SSPEN
R/W-0
CKP
R/W-0
SSPM3
R/W-0
SSPM2
R/W-0
SSPM1
R/W-0
SSPM0
bit 0
(1)
SSPOV
WCOL: Escrever Collision Detect bit (modo de transmisso apenas)
1= O SSPBUF est escrito enquanto ele ainda est transmitindo a palavra anterior
(Deve ser limpo por software)
0= No coliso
SSPOV: Receba Overflow bit Indicator(1)
Modo Slave SPI:
1= Um novo byte recebido enquanto o SSPBUF ainda est segurando os dados anteriores. Em caso de excesso de
fluxo, os dados no SSPSR perdida. Overflow s pode ocorrer em modo Slave. O usurio deve ler o
SSPBUF, mesmo que apenas a transmisso de dados, para evitar a configurao de overflow (deve ser limpo por
software).
0N = transbordamento
SSPEN: Mestre Synchronous Serial Port Ativar bit
1= Ativa porta serial e configura SCK, SDO, SDI e SS como pinos da porta serial(2)
0= Desabilita a porta serial e configura esses pinos como I / O pinos da porta(2)
CKP: Relgio Polaridade Selecione bit
1= Estado ocioso para o relgio um alto nvel
0= Estado ocioso para o relgio um nvel baixo
SSPM3: SSPM0: Mestre Synchronous Serial Port Mode Select pedaos
0101 = Modo Slave SPI, clock = pino SCK, controle SS pin desativado, SS pode ser usado como eu O pin /(3)
0100 = Modo Slave SPI, clock = SCK pino, SS controle pin habilitado(3)
0011 = SPI modo Master, clock = TMR2 sada / 2(3,4)
0010 = SPI modo Master, clock = FOSC/64(3)
0001 = SPI modo Master, clock = FOSC/16(3)
0000 = SPI modo Master, clock = FOSC / 4(3)
No modo Master, o bit de overflow no est definido, pois cada nova recepo (e transmisso) iniciada por
escrito ao SSPBUF.
Quando ativado, estes pinos devem estar devidamente configurado como entrada ou sada.
Combinaes de bits no especificamente listados aqui ou so reservados ou implementadas no modo I2C s.
PR2 = 0x00 no suportada durante a execuo do mdulo SPI em TMR2 sada / modo 2.
bit 6
bit 5
4 bits
bit 3-0
Nota 1:
2:
3:
4:
v 2009 Microchip Technology Inc. DS39632E pgina 199
PIC18F2455/2550/4455/4550
19.3.2 OPERAO
Ao inicializar o SPI, vrias opes precisam ser
especificada. Isto feito atravs da programao do apropriada
bits de controle (SSPCON1 <05:00> e SSPSTAT <07:06>).
Estes bits de controle permitem o seguinte a ser especificado:
Modo Master (SCK a sada do relgio)
Modo Slave (SCK a entrada de clock)
Polaridade Clock (estado ocioso de SCK)
Exemplo de dados de fase de entrada (no meio ou no final de
dados
tempo de sada)
Borda do Relgio (sada de dados sobre o aumento / queda
borda
SCK)
Taxa de relgio (apenas modo Master)
Selecione o modo Slave (somente no modo Slave)
O mdulo consiste num MSSP transmitir / receber turno
registo (SSPSR) e um registo tampo (SSPBUF). O
SSPSR transfere os dados para dentro e para fora do dispositivo,
MSb
em primeiro lugar. O SSPBUF detm os dados que foram gravados
no
SSPSR at que os dados recebidos imediata. Uma vez que o oito
bits de dados foram recebidos, esse byte transferido para
o SSPBUF. Em seguida, o buffer cheio detectar bit,
BF (SSPSTAT <0>) eo bit de flag de interrupo, SSPIF, so
definido. Este duplo-buffering dos dados recebidos
(SSPBUF) permite que o prximo byte para iniciar a recepo antes
a leitura dos dados que acabou de ser recebidos. Qualquer escrever
para o
SSPBUF durante a transmisso / recepo de dados
ser ignorada ea Write Collision detectar bit, WCOL
(SSPCON1 <7>), ser definido. Software usurio deve desmarcar




o bit WCOL de modo que possa ser determinado se o seguimento
o de escrita (s) SSPBUF concluda
com xito.
Nota: Quando o software de aplicao de esperar-
o para receber dados vlidos, o SSPBUF
deve ser lido antes do prximo byte de
dados a serem transferidos so gravados no SSPBUF.
Software aplicativo deve seguir este
processar, mesmo quando o contedo atual
SSPBUF no so importantes.
O buffer bit completa, BF (SSPSTAT <0>), indica quando
SSPBUF tenha sido carregado com os dados recebidos
(Transmisso est completa). Quando o SSPBUF lido,
o bit BF est desmarcada. Estes dados podem ser irrelevante se o
SPI apenas um transmissor. Geralmente, a interrupo MSSP
usada para determinar quando a transmisso / recepo
foi concluda. Se o mtodo de interrupo no vai
ser usado, ento polling software pode ser feito para garantir
que no ocorra uma coliso de gravao. Exemplo 19-1
mostra o carregamento da SSPBUF (SSPSR) para dados
transmisso.
O SSPSR no diretamente lidos ou escritos e pode
s pode ser acessado por abordar a SSPBUF.
Alm disso, o Estado registo MSSP (SSPSTAT)
indica as vrias condies de status.
Nota: O SSPBUF no pode ser utilizado com
ler-modificar-escrever instrues, como
BCF, BTFSC e COMF.
Exemplo 19-1: CARREGANDO O SSPBUF (SSPSR) registrar
, Certifique-se bandeira de interrupo claro (pode ter sido definido a partir de
anterior
transmisso).
, Executam a leitura, mesmo se os dados no SSPBUF no importante
, Salvar byte recebido anteriormente em user RAM, se os dados so significativos
, WREG = ndice de TxDados (dados do usurio para enviar)
, Os dados de carga para enviar para buffer de transmisso
, Repetir at terminar a transmisso de dados
, Bandeira de interrupo definido quando a transmisso
est completa
TransmitSPI:
BCFPIR1, SSPIF
MOVF
MOVWF
MOVF
MOVWF
SSPBUF, W
RxData
TxDados, W
SSPBUF
WaitComplete:
BTFSSPIR1, SSPIF
BRAWaitComplete
DS39632E pgina 200 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
19.3.3 HABILITAO SPI I / O
Para ativar a porta serial, MSSP Habilitar bit, SSPEN
(SSPCON1 <5>), deve ser definido. Para repor ou reconfigurar
Modo SPI, limpar o bit SSPEN, reinicializar o SSPCON
registros e, em seguida, definir o bit SSPEN. Isto configura
os pinos SDI, SDO, SCK e SS como os pinos da porta serial. Para
os pinos de comportar-se como a funo da porta serial, alguns
devem
tem seus bits de direo de dados (no registo TRIS)
devidamente programado como se segue:
SDI deve ter TRISB <0> set bit (configurar como
digital no ADCON1)
SDO deve ter TRISC <7> pouco apagada
SCK (modo Master) deve ter TRISB <1> bit
apuradas
SCK (modo escravo) deve ter TRISB <1> conjunto de bits
(Configurar como digital ADCON1)
SS deve ter TRISA <5> set bit (configurar como
digital no ADCON1)
Qualquer funo de porta serial que no desejada pode ser
substitudo por programar os dados correspondentes
direo (TRIS) registrar o valor oposto. Entrada
funes que no sero utilizados no precisa ser
configurados como entradas digitais.
19.3.4 Conexo tpica
A Figura 19-2 mostra uma conexo normal entre dois
microcontroladores. O controlador mestre (processador 1)
inicia a transferncia de dados, enviando o sinal de SCK.
Os dados so deslocados para fora de ambos os registos de
deslocamento no seu
clock programado e agarrou o oposto
borda do relgio. Ambos os processadores devem ser pro-
programado para a mesma polaridade do Relgio (CKP), ambos
controladores iria enviar e receber dados ao mesmo
tempo. Se os dados so significativos (ou dados fictcios)
depende do software aplicativo. Isto leva a
trs cenrios para a transmisso de dados:
Mestre envia dados - Escravo envia dados fictcios
Mestre envia dados - Escravo envia dados
Mestre envia dados fictcios - Escravo envia dados
FIGURA 19-2: SPI ligao mestre / escravo
SPI Mestre SSPM3: SSPM0 = 00xxb
SDO SDI
SPI Slave SSPM3: SSPM0 = 010xb
Buffer de entrada serial
(SSPBUF)
Buffer de entrada serial
(SSPBUF)
Shift Register
(SSPSR)
MSb LSB
SDI SDO
Shift Register
(SSPSR)
MSb LSB
SCK
Processador de 1
Relgio Serial
SCK
PROCESSADOR 2
v 2009 Microchip Technology Inc. DS39632E pgina 201
PIC18F2455/2550/4455/4550
19.3.5 MODO DE MESTRE
O mestre pode iniciar a transferncia de dados a qualquer momento
porque controla a SCK. O mestre determina
quando o slave (processador 2, A Figura 19-2)
transmitir dados pelo protocolo de software.
No modo Master, os dados so transmitidos / recebidos como
Assim que a SSPBUF est escrito. Se o SPI
s vai receber, a sada SDO poderia ser dis-
abled (programada como entrada). O registo SSPSR
continuar a deslocar no sinal presente no pino de SDI
a uma taxa programada de relgio. medida que cada byte
recebido, ser carregado para a SSPBUF quanto
Se um byte normais recebidos (interrompe e pedaos de status
adequadamente definido). Isto poderia ser til no receptor
aplicaes como um modo de "Linha Activity Monitor".
A polaridade do relgio selecionado por adequadamente
programar o bit CKP (SSPCON1 <4>). Isto, ento,
daria formas de onda para a comunicao como SPI
mostrado na Figura 19-3, A Figura 19-5 e Figura 19-6,
onde o MSB transmitido em primeiro lugar. No modo Mestre, o
SPI clock rate (taxa de bits) programvel pelo usurio para ser um
o seguinte:




FOSC / 4 (ou TCY)
FOSC/16 (ou 4 TCY)
FOSC/64 (ou 16 TCY)
Timer2 sada / 2
Isto permite uma taxa de dados mxima (a 48 MHz)
12,00 Mbps.
Quando usado em Timer2 sada / modo 2, a taxa de bits pode
ser configurado atravs do registo Perodo PR2 ea
Timer2 prescaler. No entanto, escrever para SSPBUF faz
no est claro o valor atual TMR2 em hardware. Dependem-
o sobre o valor atual de TMR2 quando firma de o usurio
Ware grava SSPBUF, isto pode resultar numa
imprevisvel largura MSb bits, a no ser que o processo de
Exemplo 19-2 usado.
A Figura 19-3 mostra as formas de onda para o modo Mestre.
Quando o bit CKE est definido, os dados do SDO vlido antes
existe uma borda relgio em SCK. A mudana das entradas
amostra mostrado com base no estado do bit de PMS. O
momento em que a SSPBUF carregado com o recebido
de dados mostrado.
Exemplo 19-2: CARREGANDO SSPBUF com o modo TEMP2 / 2 CLOCK
, Certifique-se bandeira de interrupo claro (pode ter sido definido a partir de
anterior
transmisso)
, Executam a leitura, mesmo se os dados no SSPBUF no importante
, Salvar byte recebido anteriormente em user RAM, se os dados so significativos
, Desligue o temporizador ao carregar SSPBUF
, Ajustar o temporizador para um estado conhecido
, WREG = ndice de TxDados (dados do usurio para enviar)
, Os dados de carga para enviar para buffer de transmisso
, Comear temporizador para iniciar a transmisso
, Repetir at terminar a transmisso de dados
, Bandeira de interrupo definido quando a transmisso
est completa
TransmitSPI:
BCFPIR1, SSPIF
MOVF
MOVWF
BCF
CLRF
MOVF
MOVWF
BSF
SSPBUF, W
RxData
T2CON, TMR2ON
TMR2
TxDados, W
SSPBUF
T2CON, TMR2ON
WaitComplete:
BTFSSPIR1, SSPIF
BRAWaitComplete
DS39632E pgina 202 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
FIGURA 19-3:
Escreva para
SSPBUF
SCK
(CKP = 0
CKE = 0)
SCK
(CKP = 1
CKE = 0)
SCK
(CKP = 0
CKE = 1)
SCK
(CKP = 1
CKE = 1)
SDO
(CKE = 0)
SDO
(CKE = 1)
SDI
(SMP = 0)
Entrada
Amostra
(SMP = 0)
SDI
(SMP = 1)
Entrada
Amostra
(SMP = 1)
SSPIF
SSPSR para
SSPBUF
Prximo Ciclo Q4
depois Q2
bit 7 bit 0
bit 7
bit 7
bit 6
bit 6
bit 5
bit 5
4 bits
4 bits
bit 3
bit 3
bit 2
bit 2
bit 1
bit 1
bit 0
bit 0
SPI MODO DE ONDA (MASTER MODE)
4 Relgio
Modos
bit 7 bit 0
v 2009 Microchip Technology Inc. DS39632E pgina 203
PIC18F2455/2550/4455/4550
19.3.6 Modo Slave
No modo escravo, os dados so transmitidos e recebidos,
os pulsos de clock externo aparecem SCK. Quando o
ltimo bit fechada, o SSPIF interrupo bandeira bit definido.
Enquanto estiver no modo escravo, o relgio externo fornecido
pelo
a fonte de relgio externo no pino SCK. Este externo
relgio deve atender s vezes altos e baixos mnimos como
nas especificaes eltricas.
Enquanto estiver no modo de espera, o escravo pode transmitir /
receber
dados. Quando um byte recebido, o dispositivo pode ser con-
figurado para acordar de sono.
transmitida byte e torna-se uma separao de potencial. Exter-
resistores pull-up/pull-down nal pode ser desejvel
dependendo da aplicao.
Nota 1: Quando o mdulo est no modo SPI Escravo
pincontrolenabledwithSS
(SSPCON1 <3:00> = 0100), o mdulo SPI
ir repor se o pino SS est definido para VDD.
2: Se o SPI usado no modo Slave com CKE
definido, ento o controle pino SS deve ser
ativado.
Quando o mdulo de SPI repe o contador de bit forado
em '0 '. Isto pode ser feito por qualquer forando o pino SS
um nvel elevado ou limpando o bit SSPEN.
Para emular a comunicao de dois fios, o pino SDO pode
estar ligado ao pino de SDI. Quando o SPI precisa
operar como um receptor, o pino pode ser configurado SDO
como uma entrada. Isso desativa as transmisses do SDO.
A SDI sempre pode ser deixado como uma entrada (funo SDI)
uma vez que no pode criar um conflito de nibus.
19.3.7 SLAVE SELECIONE
SINCRONIZAO
O pino SS permite um modo Slave Synchronous. O
SPI deve estar no modo Slave com o controle SS pin
ativado (SSPCON1 <3:00> = 04h). Quando o pino SS
baixa, a transmisso ea recepo so ativados eo
SDO pin conduzido. Quando o pino SS vai alto, o
SDO pino j no conduzido, mesmo no meio de um
FIGURA 19-4:
SS
SCK
(CKP = 0
CKE = 0)
SCK
(CKP = 1
CKE = 0)
SLAVE SINCRONIZAO ONDA
Escreva para
SSPBUF
SDO bit 7 bit 6 bit 7 bit 0
SDI
(SMP = 0)
Entrada
Amostra
(SMP = 0)
SSPIF
Interromper
Bandeira
SSPSR para
SSPBUF
bit 0
bit 7 bit 7
Prximo Ciclo Q4
depois Q2
DS39632E pgina 204 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
FIGURA 19-5:
SS
Opcional
SCK
(CKP = 0
CKE = 0)
SCK
(CKP = 1
CKE = 0)
Escreva para
SSPBUF
SDO
SDI
(SMP = 0)
Entrada
Amostra
(SMP = 0)
SSPIF
Interromper
Bandeira
SSPSR para
SSPBUF
Prximo Ciclo Q4
depois Q2
bit 7 bit 6 bit 5 4 bits bit 3 bit 2 bit 1 bit 0
SPI MODO DE ONDA (slave com CKE = 0)
bit 7 bit 0
FIGURA 19-6:
SS
No Opcional
SCK
(CKP = 0
CKE = 1)
SCK
(CKP = 1
CKE = 1)
Escreva para
SSPBUF
SDO
SDI
(SMP = 0)
Entrada
Amostra
(SMP = 0)
SSPIF
Interromper
Bandeira
SSPSR para
SSPBUF
SPI MODO DE ONDA (slave com CKE = 1)
bit 7 bit 6 bit 5 4 bits bit 3 bit 2 bit 1 bit 0
bit 7 bit 0
Prximo Ciclo Q4
depois Q2
v 2009 Microchip Technology Inc. DS39632E pgina 205
PIC18F2455/2550/4455/4550
19.3.8 OPERAO NO PODER de gesto
MODOS
19.3.9 EFEITOS DE UM REAJUSTE
No modo Master SPI, relgios de mdulos podem estar operando
a uma velocidade diferente do que quando em modo Full-Power, em
o caso do modo de suspenso, todos os relgios so interrompidas.
Na maioria dos modos de inactividade, um relgio fornecido ao
perif-
als. O relgio deve ser a partir do relgio principal
fonte, o relgio secundrio (Timer1 oscilador) ou
Fonte INTOSC. Ver Seo 2.4 "fontes de relgio
e oscilador de comutao " para obter informaes adicionais.
Na maioria dos casos, a velocidade que o mestre temporiza SPI
dados no importante, contudo, este deve ser
avaliada para cada sistema.
Se MSSP interrupes so ativados, eles podem acordar o con-
troller do modo de suspenso ou de um dos modos ocioso quando
o mestre completar o envio de dados. Se uma sada do
Dormir ou modo de espera no desejada, interrompe MSSP
deve ser desativada.
Se o modo de suspenso selecionado, todos os relgios do
mdulo so
parou e a transmisso / recepo, permanecer no
nesse estado at que os dispositivos acorda. Aps o dispositivo
retorna ao modo Run, o mdulo ser retomada
transmitir e receber dados.
No modo Slave SPI, o SPI transmisso / recepo de Mudana
registo funciona de forma assncrona para o dispositivo. Este
permite que o dispositivo seja colocado em qualquer poder de
gesto
modo de dados e a ser deslocada para dentro da SPI Transmit /
Receba registrador de deslocamento. Quando todos os oito bits
foram
recebido, o MSSP interrupo bit flag ser definido e se
ativado, vai acordar o dispositivo.
A Redefinir desativa o mdulo MSSP e termina a
transferncia atual.
19.3.10 BUS modo de compatibilidade
A Tabela 19-1 mostra o grau de compatibilidade entre o
modos SPI padro e os estados do CKP e
Bits de controle CKE.
TABELA 19-1: SPI MODOS DE NIBUS
Controle do Estado Bits
CKP
0
0
1
1
CKE
1
0
1
0
SPI Standard Mode
Terminologia
0, 0
0, 1
1, 0
1, 1
H tambm um pouco SMP que controla quando os dados
amostrado.
TABELA 19-2:
Nome
INTCON
PIR1
PIE1
IPR1
TRISA
TRISB
TRISC
SSPBUF
SSPCON1
SSPSTAT
REGISTOS ASSOCIADO SPI OPERAO
Bit 7 Bit 6 Bit 5 Bit 4
INT0IE
TXIF
TXIE
TXIP
TRISA4
TRISB4
-
CKP
P
Bit 3
RBIE
SSPIF
SSPIE
SSPIP
TRISA3
TRISB3
-
SSPM3
S
Bit 2
TMR0IF
CCP1IF
CCP1IE
CCP1IP
TRISA2
TRISB2
TRISC2
SSPM2
R / W
O bit 1
INT0IF
TMR2IF
TMR2IE
TMR2IP
TRISA1
TRISB1
TRISC1
SSPM1
UA
Bit 0
RBIF
TMR1IF
TMR1IE
TMR1IP
TRISA0
TRISB0
TRISC0
SSPM0
BF
Restabelecer
Valores
na pgina
53
56
56
56
56
56
56
54
54
54
GIE / GIEH PEIE / giel TMR0IE
SPPIF(1)
SPPIE(1)
SPPIP(1)
-
TRISB7
TRISC7
WCOL
SMP
ADIF
ADIE
ADIP
TRISA6(2)
TRISB6
TRISC6
SSPOV
CKE
RCIF
RCIE
RCIP
TRISA5
TRISB5
-
SSPEN
D / D
MSSP buffer de recepo / transmisso Registrar
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados pela MSSP no modo SPI.
Nota 1: Estes bits so no implementado em dispositivos de 28 pinos; sempre manter esses bits claras.
2: RA6 est configurado como um pino de porta com base em vrios modos de oscilador primrios. Quando o pino porta est
desativada,
todos os bits associados ler '0 '.
DS39632E pgina 206 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
19,4
Modo I2C
19.4.1 REGISTOS
O mdulo MSSP no modo 2C I implementa completamente todas
funes de mestre e escravo (incluindo chamada geral
de apoio) e fornece interrupes em iniciar e parar os bits
em hardware para determinar um autocarro gratuito (multi-master
funo). O mdulo MSSP implementa o padro
especificaes do modo, assim como de 7 bits e 10 bits
endereamento.
Dois dos pinos so utilizados para a
transferncia de dados:
relgio de srie (SCL) - RB1/AN10/INT1/SCK/SCL
dados seriais (SDA) - RB0/AN12/INT0/FLT0/SDI/SDA
O usurio deve configurar esses pinos como entradas, definindo
os TRIS pedaos associados.
O mdulo MSSP tem seis registros de operao I2C.
Estes so os seguintes:




MSSP Controle Register 1 (SSPCON1)
MSSP Controle Register 2 (SSPCON2)
MSSP Estado Register (SSPSTAT)
Serial recepo / transmisso do buffer Registrar
(SSPBUF)
MSSP Shift (SSPSR) - No diretamente
acessvel
MSSP Address Register (SSPADD)
SSPCON1, SSPCON2 e SSPSTAT so o controle
eo estado registra em operao no modo I2C. O
SSPCON1 e SSPCON2 registros so legveis e
gravvel. Os seis bits mais baixos do SSPSTAT so somente leitura.
Os dois bits superiores do SSPSTAT so de leitura / gravao.
SSPSR a mudana de registo usado para transferir dados ou
para fora. SSPBUF o buffer de registro a que os dados bytes
so escritos ou lidos.
SSPADD registo contm o endereo do dispositivo escravo quando
o MSSP est configurado no modo Slave I2C. Quando o
MSSP est configurado no modo Master, menor de sete
pedaos de ato SSPADD como o Baud Rate Generator recarga
valor.
Em operaes de recebimento, SSPSR e SSPBUF juntos
criar um receptor de buffer duplo. Quando SSPSR
recebe um byte completo, ele transferido para SSPBUF
ea interrupo SSPIF est definido.
Durante a transmisso, o SSPBUF no duplo
tamponado. A gravao para SSPBUF ir gravar tanto SSPBUF
e SSPSR.
FIGURA 19-7: MSSP DIAGRAMA DE BLOCO
(I2C MODO )
Interno
Barramento de
dados
Ler
SCL
Mudana
Relgio
SSPSR reg
SDA
MSb
SSPBUF reg
Escrever
LSB
End. jogo Combinar Detectar
Mscara de endereo
SSPADD reg
Iniciar e
Pare bit Detectar
Definir, Reset
S, P bocados
(SSPSTAT reg)
Nota: Apenas os nomes de portas de E / S so usados neste diagrama
para
razes de brevidade. Consulte o texto para uma lista completa
de
funes multiplexado.
v 2009 Microchip Technology Inc. DS39632E pgina 207
PIC18F2455/2550/4455/4550
CADASTRE-SE 19-3:
R/W-0
SMP
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
SSPSTAT: MSSP registrador de status (I2C MODO )
R/W-0
CKE
R-0
D / D
R-0
P(1)
R-0
S(1)
R-0
R / W(2,3)
R-0
UA
R-0
BF
bit 0
SMP: Taxa de excurso pouco controle
No modo Master ou Slave:
1= Controle da taxa de Slew desabilitado para o modo de velocidade padro (100 kHz e 1
MHz)
0= Controle da taxa de rotao habilitado para o modo de alta velocidade (400 kHz)
CKE: SMBus Selecione bit
No modo Master ou Slave:
1= Ativar entradas especficas SMBus
0= Desativar entradas especficas SMBus
D / D: Bits de dados / Address
No modo Master:
Reservados.
No modo Slave:
1= Indica que o ltimo byte recebido ou transmitido havia dados
0= Indica que o ltimo byte recebido ou transmitido estava endereo
P: Pare bit(1)
1= Indica que um bit de parada foi detectado pela ltima vez
0= Bit de parada no foi detectada ltima
S: Comece bit(1)
1= Indica que um bit de incio foi detectado ltima
0= Bit de incio no foi detectada ltima
R / W: Read / Write bit Informao(2,3)
No modo Slave:
1= Leia
0= Escrever
No modo Master:
1= Transmisso est em andamento
0= Transmit no est em andamento
UA: Atualize bit Endereo (somente no modo Slave 10-Bit)
1= Indica que o usurio precisa atualizar o endereo no cadastro SSPADD
0= Endereo no precisa ser atualizado
BF: Buffer cheio bit Estado
No modo de transmisso:
1= SSPBUF est cheio
0= SSPBUF est vazia
: No modo Receber
1= SSPBUF est cheio (no inclui os bits ACK e Stop)
0= SSPBUF est vazia (no inclui os bits ACK e Stop)
Este bit cancelado em Reiniciar e quando SSPEN est desmarcada.
Este bit tem a informao de bit R / W aps o ltimo jogo endereo. Este bit s vlida a partir da
abordar combinar para o prximo bit Start, Stop bit ou no bit ACK.
ORing este bit com NEE, RSEN, PEN, RCEN ou ACKEN vai indicar se o MSSP est no modo ativo.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
2:
3:
DS39632E pgina 208 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
CADASTRE-SE 19-4:
R/W-0
WCOL
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
SSPCON1: MSSP registro de controle 1 (I2C MODO )
R/W-0 R/W-0
SSPEN
R/W-0
CKP
R/W-0
SSPM3
R/W-0
SSPM2
R/W-0
SSPM1
R/W-0
SSPM0
bit 0
SSPOV
WCOL: Escrever Collision Detect bit
Mestre em modo de transmisso:
1= A gravao para o SSPBUF foi tentada quando as condies I2C no eram vlidos para a
transmisso a ser iniciado (deve ser limpo por software)
0= No coliso
No Slave modo de transmisso:
1= O SSPBUF est escrito enquanto ele ainda est transmitindo a palavra anterior (devem ser apuradas em
software)
0= No coliso
: No modo (modos de mestre ou escravo) Receber
Este um "no me importo" bit.
SSPOV: Receba Overflow bit Indicator
: No modo Receber
1= Um byte recebido enquanto o SSPBUF ainda est segurando o byte anterior (devem ser apuradas em
software)
0N = transbordamento
No modo de transmisso:
Este um "no me importo" bit em modo de transmisso.
SSPEN: Mestre Synchronous Serial Port Ativar bit
1= Permite que a porta serial e configura os pinos SDA e SCL como os pinos da porta serial(1)
0= Desabilita a porta serial e configura esses pinos como I / O pinos da porta(1)
CKP: SCK Lanamento bit Controle
No modo Slave:
1= Relgio Lanamento
0= Possui relgio baixa (trecho do relgio), utilizado para garantir o tempo de
configurao de dados
No modo Master:
No utilizado neste modo.
SSPM3: SSPM0: Mestre Synchronous Serial Port Mode Select pedaos
1111 = Modo Slave I2C, o endereo de 10 bits com Start e Stop interrompe bit habilitado(2)
1110 = Modo Slave I2C, endereo de 7 bits com Start e Stop interrompe bit habilitado(2)
1011 = Modo Master Controlled Firmware I2C (escravo ociosa)(2)
1000 = I2C modo Mestre, o relgio FOSC = / (4 * (SSPADD + 1))(2,3)
0111 = Modo Slave I2C, o endereo de 10 bits(2)
0110 = Modo Slave I2C, endereo de 7 bits(2)
Quando ativado, os pinos SDA e SCL deve estar devidamente configurado como entrada ou sada.
Combinaes de bits no especificamente listados aqui so reservados ou seja implementado apenas no modo SPI.
Orientao s; taxa de transmisso exata ligeiramente dependente das condies do circuito, mas a maior taxa de
relgio
no deve exceder essa frmula. SSPADD valores de '0 'e '1' no so suportados.
bit 6
bit 5
4 bits
bit 3-0
Nota 1:
2:
3:
v 2009 Microchip Technology Inc. DS39632E pgina 209
PIC18F2455/2550/4455/4550
CADASTRE-SE 19-5:
R/W-0
GCEN
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
bit 6
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
SSPCON2: MSSP controle Register 2 (I2C MESTRE MODE)
R/W-0 R/W-0
ACKDT(1)
R/W-0
ACKEN(2)
R/W-0
RCEN(2)
R/W-0
PEN(2)
R/W-0
RSEN(2)
R/W-0
SEN(2)
bit 0
ACKSTAT
GCEN: Chamada Geral Ativar (somente no modo Slave) bit
No utilizado em modo Master.
ACKSTAT: Reconhea bit Estado (modo Master transmisso apenas)
1= Reconhea no foi recebida de escravo
0= Reconhecer foi recebida escravo
ACKDT: Reconhea bit de dados (modo Master Receber apenas)(1)
1= No reconhecem
0= Reconhecer
ACKEN: Reconhea Sequence Habilitar bit(2)
1= Iniciar Reconhea seqncia em SDA e SCL pinos e transmitir ACKDT bit de dados. Automaticamente
apuradas por hardware.
0= Reconhecer seqncia Ocioso
RCEN: Receba Habilitar bit (modo Master Receber apenas)(2)
1= Ativa o modo de recebimento de I2C
0= Receber Ocioso
PENA: Condio de Parada Habilitar bit(2)
1= Iniciar condio de parada em SDA e SCL pinos. Apagadas automaticamente por hardware.
0= Pare condio Ocioso
RSEN: Repetiu Iniciar Condio Habilitar bit(2)
1= Iniciado repetida Comece condio em SDA e SCL pinos. Apagadas automaticamente por hardware.
0= Repetida condio Iniciar Ocioso
SEN: Comece Condio Ativa / Estende Habilitar bit(2)
1= Iniciar condio Iniciar na SDA e SCL pinos. Apagadas automaticamente por hardware.
0= Comece condio de inativo
Valor que ser transmitido quando o utilizador inicia uma sequncia Reconhecer no final de um receber.
Se o mdulo I2C est ativo, esses bits no pode ser definido (sem spool) eo SSPBUF no pode ser escrito (ou
escreve para o SSPBUF esto desativados).
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
2:
DS39632E pgina 210 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
CADASTRE-SE 19-6:
R/W-0
GCEN
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
SSPCON2: MSSP controle Register 2 (I2C MODO SLAVE)
R/W-0 R/W-0
ADMSK5
R/W-0
ADMSK4
R/W-0
ADMSK3
R/W-0
ADMSK2
R/W-0
ADMSK1
R/W-0
SEN(1)
bit 0
ACKSTAT
GCEN: Chamada Geral Ativar (somente no modo Slave) bit
1= Ativar interromper quando um endereo de chamada geral (0000h) recebida no SSPSR
0= Endereo chamada geral desativado
ACKSTAT: Reconhea bit Estado
No utilizado no modo Slave.
ADMSK5: ADMSK2: Slave Address Mask Escolha pedaos
1= Mscara de bits correspondentes de SSPADD habilitado
0= Mscara de bits correspondentes de SSPADD desativado
ADMSK1: Slave Address Mask Selecione bit
Em 7-Bit Modo de endereamento:
1= Mscara de SPADD <1> apenas habilitado
0= Mscara de SPADD <1> apenas desativado
Em 10-Bit Modo de endereamento:
1= Mscara de SSPADD <01:00> habilitado
0= Mscara de SSPADD <01:00> desativado
SEN: Estique Habilitar bit(1)
1= Relgio alongamento est habilitado tanto para transmisso de escravos e escravos receber (trecho
ativado)
0= Relgio alongamento desativado
Se o mdulo I2C est activo, este bit no pode ser definido (sem spool) eo SSPBUF no pode ser escrito (ou
escreve para o SSPBUF esto desativados).
bit 6
bit 5-2
bit 1
bit 0
Nota 1:
v 2009 Microchip Technology Inc. DS39632E pgina 211
PIC18F2455/2550/4455/4550
19.4.2 OPERAO 19.4.3.1 Dirigindo-se
As funes do mdulo MSSP so ativados atravs da criao
MSSP Habilitar bit, SSPEN (SSPCON1 <5>).
O registo SSPCON1 permite o controle da I2C
operao. Quatro bits de seleco de modo (SSPCON1 <3:00>)
permitir que um dos seguintes modos de I2C ser seleccionados:




I2C Mestre modo, o relgio
Eu modo Slave 2C (endereo de 7 bits)
Modo Slave 2C I (endereo 10-bit)
Eu modo Slave 2C (endereo de 7 bits), com incio e
Parar interrompe bit habilitado
Modo Slave I 2C (endereo 10-bit), com incio e
Parar interrompe bit habilitado
I modo Master 2C Firmware controlada, escravo
Ocioso
Seleo de qualquer modo 2C I com o conjunto de bits SSPEN
obriga os pinos SCL e SDA ser open-dreno,
desde que estes pinos so programadas como entradas por
definindo o TRISC apropriado ou pedaos TRISD. Para garantir
o bom funcionamento do mdulo, resistores pull-up deve
ser fornecidos externamente aos pinos de SCL e SDA.
Uma vez que o mdulo MSSP foi ativado, ele aguarda
uma condio comeam a ocorrer. Aps a condio em Iniciar,
os 8 bits so deslocados para o registro SSPSR. Tudo
bits de entrada so coletados com a borda de subida do
relgio line (SCL). O valor do registo SSPSR <07:01>
em comparao com o valor do registo SSPADD. O
endereo comparado com o bordo descendente do oitavo
relgio de pulso (SCL). Se o jogo endereos eo BF
e SSPOV bits so claras, ocorrem os seguintes eventos:
1.
2.
3.
4.
O valor SSPSR registo carregado para o
SSPBUF.
O buffer bit completa, BF, est definido.
Um sinal ACK gerado.
O MSSP interrupo bit Bandeira, SSPIF, est definido (e
interrupo gerada, se habilitado) na queda
aresta da nona SCL pulso.
19.4.3 Modo Slave
No modo Slave, os pinos SCL e SDA deve ser
configurados como entradas (TRISC <04:03> set). O MSSP
mdulo ir substituir o estado de entrada com os dados de sada
quando necessrio (slave-transmissor).
Hardware modo Slave sempre ir gerar anthe I
interromper em um jogo de endereo. Mascaramento de endereo
ser
permitir que o equipamento para gerar uma interrupo para mais
de um endereo (at 31 em 7 bits de endereamento e at
em 10 a 63 bits de endereamento). Atravs do modo de escolha
pedaos, o usurio tambm pode optar por interromper em Iniciar e
Pare de bits.
Quando um endereo correspondido, ou a transferncia de dados
aps
um endereo de partida recebido, o equipamento automtico
automaticamente ir gerar a Reconhecer (ACK) de pulso
e carregar o SSPBUF com o valor recebido
atualmente no registo SSPSR.
Qualquer combinao das seguintes condies causaro
o mdulo MSSP no dar este pulso ACK:
O buffer bit completa, BF (SSPSTAT <0>), foi criado
antes da transferncia foi recebida.
O bit overflow, SSPOV (SSPCON1 <6>), foi
definido antes da transferncia foi recebida.
Neste caso, o valor SSPSR registo no carregado
no SSPBUF, mas pouco, SSPIF, est definido. O bit BF
apuradas pela leitura do SSPBUF, enquanto bit,
SSPOV, eliminado atravs de software.
A entrada de relgio SCL deve ter um elevado valor e
baixo para uma operao adequada. Os tempos de alta e baixa do
Especificao I2C, bem como o requisito de o
Mdulo MSSP, so mostrados no parmetro de temporizao 100 e
parmetro 101.
2C
Em 10-Bit Modo de endereamento, dois bytes de endereo precisa
ser recebida pelo escravo. Os cinco bits mais significativos
(MSB) do primeiro byte de endereo especifica se este um 10-bit
endereo. Bit R / W (SSPSTAT <2>) deve especificar um
escrever para o dispositivo escravo vai receber a segunda
endereo de byte. Para um endereo de 10 bits, o primeiro byte
seria igual a '11110 A8 A9 0 ', onde 'A9' e 'A8'
so os dois MSBs do endereo. A seqncia de
eventos para endereamento de 10 bits como se segue, com as
etapas
7 a 9 para o escravo-transmissor:
1. Receba primeiro byte (alto) de endereo (bits SSPIF,
BF e UA (SSPSTAT <1>) so definidas no endereo
combinar).
Atualizar o cadastro SSPADD com o segundo (baixo)
byte de endereo (limpa bit, UA, e libera o
Linha SCL).
Leia o SSPBUF (limpa bit, BF) e
claro bit bandeira, SSPIF.
Receba segundo byte (baixo) de endereo (bits,
SSPIF, BF e UA, so definidos).
Atualizar o cadastro SSPADD com o primeiro (alto)
byte de endereo. Se o jogo libera linha SCL, este
vai limpar bit, UA.
Leia o SSPBUF (limpa bit, BF) e
claro bit bandeira, SSPIF.
Receba repetida condio Start.
Receba primeiro byte (alto) de endereo (bits, SSPIF
e BF, so definidos).
Leia o SSPBUF (limpa bit, BF) e
claro bit bandeira, SSPIF.
2.
3.
4.
5.
6.
7.
8.
9.
DS39632E pgina 212 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
19.4.3.2 Masking endereo
Mascarando um pouco o endereo faz com que esse pouco para se
tornar um
"No me importo". Quando um bit endereo mascarado, dois
endereos ser reconhecido e causar um
interromper. possvel mascarar mais de um endereo
bit de cada vez, o que torna possvel reconhecer
at 31 endereos no modo de 7 bits e at
63 endereos no modo 10-bit (ver Exemplo 19-3).
O Slave I2C se comporta da mesma maneira se o endereo
mascaramento usado ou no. No entanto, quando o endereo
mascaramento usado, o escravo pode I2C Reconhecer
mltiplos endereos e causar interrupes. Quando esta
ocorre, necessrio determinar qual o endereo
causou a interrupo, verificando SSPBUF.
No modo Endereo 7-Bit, abordar os bits da mscara
ADMSK <5:01> (SSPCON2 <05:01>) mascarar o corre-
correspondentes bits de endereo no cadastro SSPADD. Para
quaisquer
Pedaos ADMSK que so definidas (ADMSK <n> = 1), o
correspondingaddressbitisignored
(SSPADD <n> = x). Para o mdulo de emitir um endereo
Reconhecer, suficiente para corresponder apenas
endereos que no tm uma mscara de endereo ativo.
No modo Endereo 10-Bit, bits ADMSK <05:02> mscara
bits de endereo correspondentes no registo SSPADD. Em
adio, ADMSK1 simultaneamente as duas mscaras LSBs
do endereo (SSPADD <01:00>). Para qualquer pedaos ADMSK
que esto ativos (ADMSK <n> = 1), o correspondente
bit endereo ignorado (SSPADD <n> = x). Alm disso, observe
que, embora no modo de endereamento de 10 bits, a parte superior
bits de endereo reutilizar parte dos bits de registro SSPADD, os
endereo de bits da mscara no interagem com esses bits. Eles
afetam apenas os bits de endereo mais baixos.
Nota 1: ADMSK1 mscaras os dois menos significativos
bits do endereo.
2: Os dois bits mais significativos dos
abordar no so afetados por endereo
mascaramento.
Exemplo 19-3:
7-bit de endereamento:
ENDEREO EXEMPLOS MASCARANTES
SSPADD <7:01> = A0h (1010000) (SSPADD <0> assumido ser '0 ')
ADMSK <5:01>
10-bit de endereamento:
SSPADD <7:00> = A0h (10100000) (os dois MSBs do endereo so ignorados neste exemplo, desde
eles no so afetados por mascaramento)
ADMSK <5:01> =00111
Reconhecido endereos: A0h, A1h, A2h, A3H, A4h, A5H, A6H, A7h, A8h, A9h, AAh, ABh, ACh, ADh,
AEH, AFh
=00111
Reconhecido endereos: A0h, A2h, A4h, A6H, A8h, AAh, ACh, AEH
v 2009 Microchip Technology Inc. DS39632E pgina 213
PIC18F2455/2550/4455/4550
19.4.3.3 Recepo 19.4.3.4 Transmisso
Quando o bit de R / W do byte de endereo clara e uma
endereo de correspondncia, o bit de R / W do SSPSTAT
registo cancelado. O endereo recebido carregado na
o SSPBUF ea linha SDA mantido baixo
(ACK).
Quando o endereo condio de estouro de byte existe, ento
a no Reconhea (ACK) de pulso dada. Um estouro
condio definida como qualquer um pouco, BF (SSPSTAT <0>),
definido, ou bit, SSPOV (SSPCON1 <6>), est definido.
Uma interrupo MSSP gerado para cada transferncia de dados
byte. O bit de flag de interrupo, SSPIF, devem ser apuradas em
software. O registo SSPSTAT usado para determinar
o estado do byte.
Se SEN est habilitado (SSPCON2 <0> = 1), RB1/AN10 /
INT1/SCK/SCL ser realizada baixa (trecho relgio) aps
cada transferncia de dados. O relgio deve ser lanado pela
definindo bit, CKP (SSPCON1 <4>). Ver Seo 19.4.4
"Clock estica" para mais detalhes.
Quando o bit de R / W do byte de endereo de entrada definida
e um endereo de partida ocorre, o bit R / W do
SSPSTAT registo est definido. O endereo recebido
carregado no SSPBUF. O pulso ACK vontade
ser enviado no nono bit e pin RB1/AN10/INT1/SCK /
SCL mantida baixa, independentemente da SEN (ver Seo 19.4.4
"Clock estica" para mais detalhes). Ao esticar o
relgio, o mestre no ser capaz de afirmar um outro relgio
pulso at que o escravo feita a preparao da transmisso
dados. Os dados de transmisso tem de ser carregado para o
SSPBUF que tambm carrega o registo SSPSR.
Em seguida, o pino deve ser RB1/AN10/INT1/SCK/SCL
ativado com o bit, CKP (SSPCON1 <4>). Os oito
bits de dados so deslocados para fora na borda de descida do SCL
entrada. Isto assegura que o sinal SDA vlido durante
o tempo de SCL (Figura 19-10).
O pulso ACK do receptor principal fechada em
a borda de subida do pulso de entrada SCL nono. Se o SDA
A linha alto (no ACK), em seguida, a transferncia de dados
completar. Neste caso, quando o ACK travada pela
escravo, a lgica escravo reset (reseta SSPSTAT regis-
ter) e os monitores de escravos para uma outra ocorrncia de
o bit de Start. Se a linha SDA foi baixo (ACK), o prximo
transmitir os dados devem ser carregados no SSPBUF.
Mais uma vez, o pino tem de ser RB1/AN10/INT1/SCK/SCL
ativado com o bit CKP (SSPCON1 <4>).
Uma interrupo MSSP gerado para cada transferncia de dados
byte. O bit SSPIF devem ser apuradas em software e
o registo SSPSTAT utilizado para determinar o estado
do byte. O bit SSPIF est situado na borda de descida
o relgio de pulso em nono.
DS39632E pgina 214 v 2009 Microchip Technology Inc.
FIGURA 19-8:
v 2009 Microchip Technology Inc.
Receber
Endereo
A5
ACK
D7
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
A4
A3
A2
A1
D3
R / W = 0
Recebendo dados
ACK
Recebendo dados
D2
D1
D0
ACK
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
P
Bus
masterterminatestransfe
r
Apuradas em
softwareSSPBUF
lido
SSPOV setbecause
SSPBUF isstill
completo. ACK no
enviado.
SDA
A7
A6
SCL
S
1
2
SSPIF (PIR1 <3>)
BF (SSPSTAT
<0>)
SSPOV
(SSPCON1 <6>)
I2C SLAVE TEMPO MODO com NEE = 0(Recepo, 7 bits de endereo)
PIC18F2455/2550/4455/4550
CKP
(CKP no repe a
'0 'quando SEN =
0)
DS39632E pgina 215
FIGURA 19-9:
DS39632E pgina 216
Receber
Endereo
A5
X
A3
X
X
ACK
D7
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
D3
D2
R / W = 0
Recebendo dados
ACK
Recebendo dados
D1
D0
ACK
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
P
Bus
masterterminatestransfe
r
Apuradas em
softwareSSPBUF
lido
SSPOV setbecause
SSPBUF isstill
completo. ACK no
enviado.
SDA
A7
A6
SCL
S
1
2
SSPIF (PIR1 <3>)
PIC18F2455/2550/4455/4550
BF (SSPSTAT
<0>)
SSPOV
(SSPCON1 <6>)
CKP
(CKP no repe a
'0 'quando SEN =
0)
Nota
1:
x= No me
importo (ou
seja, bits de
endereo pode
ser um '1 'ou
'0').
I2C SLAVE TEMPO MODO com NEE = 0E ADMSK <5:01> = 01011
(Recepo, 7 bits de endereo)
v 2009 Microchip Technology Inc.
2:
Neste exemplo,
um endereo
de igual
A7.A6.A5.X.A3.
XX ir ser
reconhecido e
provocar uma
interrupo.
FIGURA 19-10:
v 2009 Microchip Technology Inc.
R / W = 1
ACK
D1
D0
D4
D3
D5
D7
D6
D2
A1
D3
D2
ACK
D5
D4
D7
D6
Transmitindo
dados
Transmitindo
dados
D1
D0
ACK
A4
A2
A3
4
SCL realizada
CPUresponds lowwhile
para SSPIF
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
P
Apuradas em
software
SSPBUF escrito
em software
De SSPIF ISR
Apuradas em
software
SSPBUF escrito
em software
De SSPIF ISR
CKP est definido
em software
CKP est definido
em software
Receber
Endereo
SDA
A7
A6
A5
SCL
S
1
2
3
Dados insampled
SSPIF (PIR1 <3>)
BF (SSPSTAT
<0>)
I2C CALENDRIO modo escravo (TRANSMISSO, ENDEREO 7-BIT)
PIC18F2455/2550/4455/4550
CKP
DS39632E pgina 217
FIGURA 19-11:
DS39632E pgina 218
Relgio mantido baixo
untilupdate de SSPADD
lugar hastaken
R / W = 0
A8
D3 D2
ACK
A7
A6
A5
A4 A3
A2 A1
D7
D6 D5 D4
D3 D2
D1 D0 ACK D7 D6
D5 D4
A0 ACK
D1 D0
Receba segundo
byte de endereo
Receba Byte
Dados
Receba Byte
Dados
ACK
Relgio mantido baixo
untilupdate de SSPADD
lugar hastaken
0
A9
5
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
6
7
8
9
P
Bus
masterterminatestransfer
Apuradas em
software
Apuradas em
software
Apuradas em
software
Manequim ler de
SSPBUFto claro BF
bandeira
SSPOV setbecause
SSPBUF isstill
completo. ACK no
enviado.
Apuradas por
hardwarewhen SSPADD
updatedwith baixo
byte de endereo
UA definida indicando
necessidades
thatSSPADD para
beupdated
Apuradas por hardware
whenSSPADD
atualizado com highbyte
de endereo
Receba primeiro
byte do endereo
SDA
1
1
1
1
SCL
S
1
2
3
4
SSPIF (PIR1 <3>)
Apuradas em
software
BF (SSPSTAT
<0>)
SSPBUF escrito
withcontents de
SSPSR
PIC18F2455/2550/4455/4550
SSPOV
(SSPCON1 <6>)
UA (SSPSTAT
<1>)
UA definida indicando
thatthe necessidades
SSPADD para
beupdated
I2C SLAVE TEMPO MODO com NEE = 0(Recepo, 10-BIT ADDRESS)
v 2009 Microchip Technology Inc.
CKP
(CKP no repe a
'0 'quando SEN =
0)
FIGURA 19-12:
Relgio mantido baixo
untilupdate de SSPADD
lugar hastaken
R / W = 0
A8
D3 D2
ACK
A7
A6
A5
X
A3
A2
X
X
D7
D6 D5 D4
D3 D2
D1 D0 ACK D7 D6
D5 D4
ACK
Receba segundo
byte de endereo
Receba Byte
Dados
Receba Byte
Dados
D1 D0
ACK
Relgio mantido baixo
untilupdate de SSPADD
lugar hastaken
Receba primeiro
byte do endereo
v 2009 Microchip Technology Inc.
6
1
2
3
4
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
5
6
7
8
9
P
Bus
masterterminatestransfer
Apuradas em
software
Apuradas em
software
Apuradas em
software
Manequim ler de
SSPBUFto claro BF
bandeira
SSPOV setbecause
SSPBUF isstill
completo. ACK no
enviado.
Apuradas por
hardwarewhen SSPADD
updatedwith baixo
byte de endereo
UA definida indicando
necessidades
thatSSPADD para
beupdated
Apuradas por hardware
whenSSPADD
atualizado com highbyte
de endereo
SDA
1
1
1
1
0
A9
SCL
S
1
2
3
4
5
SSPIF (PIR1 <3>)
Apuradas em
software
BF (SSPSTAT
<0>)
SSPBUF escrito
withcontents de
SSPSR
SSPOV
(SSPCON1 <6>)
UA (SSPSTAT
<1>)
UA definida indicando
thatthe necessidades
SSPADD para
beupdated
CKP
(CKP no repe a
'0 'quando SEN =
0)
I2C SLAVE TEMPO MODO com NEE = 0E ADMSK <5:01> = 01001
(Recepo, 10-BIT ADDRESS)
Nota
1:
x= No me
importo (ou
seja, bits de
endereo pode
ser um '1 'ou
'0').
2:
Neste exemplo,
um endereo
de igual
A9.A8.A7.A6.A
5.X.A3.A2.XX
ir ser
reconhecido e
provocar uma
interrupo.
PIC18F2455/2550/4455/4550
DS39632E pgina 219
3:
Note-se que os
bits mais
significativos do
endereo no
so afectados
pelo
mascaramento
de bits.
FIGURA 19-13:
DS39632E pgina 220
Relgio mantido baixo
untilupdate de SSPADD
lugar hastaken
Relgio mantido
baixo untilCKP est
definido para '1 '
R / W = 1
ACK
Transmisso de
dados Byte
D7 D6 D5 D4 D3
D2 D1 D0
ACK
Receba segundo
byte de endereo
A7
A6 A5 A4 A3 A2
ACK
1
1
1
1
A9 A8
0
A1 A0
Receba primeiro
byte do endereo
Relgio mantido baixo
untilupdate de SSPADD
lugar hastaken
Bus
masterterminatestransfe
r
1
ACK
0
A9 A8
4
Sr
6
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
7
8
9
1
2
3
4
5
6
7
8
9
P
Apuradas em
software
Apuradas em
software
Apuradas em
software
Manequim ler de
SSPBUFto claro BF
bandeira
Manequim ler de
SSPBUFto claro BF
bandeira
Escrever
de SSPBUF
BF bandeira claro
inicia
transmisso
no final da sequncia de
endereo thethird
Concluso ofdata
transmissionclears BF
bandeira
Apuradas por hardware
whenSSPADD
atualizado com Lowbyte
de endereo
UA definida indicando
necessidades
thatSSPADD para
beupdated
Apuradas por hardware
whenSSPADD
atualizado com highbyte
de endereo.
CKP est definido
em software
CKP
automaticamente
cancelado em
hardware,
mantendo SCL
baixo
Receba primeiro
byte do endereo
R / W = 0
SDA
1
1
1
SCL
S
1
2
3
SSPIF (PIR1 <3>)
BF (SSPSTAT
<0>)
SSPBUF escrito
withcontents de
SSPSR
PIC18F2455/2550/4455/4550
UA (SSPSTAT
<1>)
UA definida indicando
thatthe necessidades
SSPADD para
beupdated
I2C CALENDRIO modo escravo (TRANSMISSO, ENDEREO 10-bit)
CKP (SSPCON1
<4>)
v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
19.4.4 CLOCK ESTICA 19.4.4.3
Ambos os modos Slave 7-bit e 10-Bit implementar
relgio automtico de alongamento durante uma sequncia de
transmisso.
O bit SEN (SSPCON2 <0>) permite relgio que se estende at
ser habilitado durante recebe. Definir SEN causar
o pino SCL ser mantidos baixos no final de cada um dos dados
receber seqncia.
Relgio Alongamento para 7-Bit Slave
Modo de transmisso
Modo de transmisso Slave 7-Bit implementa stretch-relgio
ing, limpando o bit CKP aps a borda de descida do
nono relgio se o bit BF clara. Isso ocorre independentemente
do estado do bit SEN.
ISR O usurio deve definir o bit CKP antes de transmis-
Sion permitido continuar. Mantendo a linha SCL
baixo, o usurio tem tempo para atender o ISR e carregar o
contedo do SSPBUF antes de o dispositivo mestre pode
iniciar outra sequncia de transmisso (ver Figura 19-10).
Nota 1: Se o utilizador carrega os contedos da SSPBUF,
definindo o bit BF antes da borda de descida
a nona relgio, o bit CKP no ser
apuradas e relgio alongamento no ocorrer.
2: O bit CKP pode ser definido no software
independentemente do estado do bit BF.
19.4.4.1 Relgio Alongamento para 7-Bit Slave
Modo de recepo (SEN = 1)
Em 7-Bit Slave Modo de recepo, na borda de descida do
nona relgio no final da sequncia de ACK se a BF
bit definido, o bit CKP no registo SSPCON1
automaticamente cancelado, forando a sada do SCL ser
realizada baixa. O bit CKP sendo liberado para '0 'afirmar
a linha SCL baixa. O bit CKP deve ser definido em que o usurio do
ISR antes da recepo permitido continuar. Mantendo
a linha SCL baixo, o usurio tem tempo para atender o ISR
e ler o contedo da SSPBUF antes da
dispositivo mestre pode iniciar outra sequncia de recepo.
Isso vai evitar estouros de buffer ocorra (ver
Figura 19-15).
Nota 1: Se o utilizador l o contedo da
SSPBUF antes da borda de descida do
nono relgio, abrindo, assim, o pouco BF, o
CKP bit no ser apagado e relgio
alongamento no ocorrer.
2: O bit CKP pode ser definido no software
independentemente do estado do bit BF. O
usurio deve ter o cuidado de limpar o bit BF
no ISR antes de receber a prxima
sequncia, a fim de evitar um transbordamento
condio.
19.4.4.4 Relgio Alongamento para Slave 10-Bit
Modo de transmisso
No modo de transmisso Slave 10-Bit, relgio alongamento
controlado durante as duas primeiras sequncias de endereos por
o estado do bit de AI, tal como o na 10-Bit Escravo
Modo de recepo. Os dois primeiros endereos so seguidas
por uma terceira sequncia de endereos que contm o maior
bits de ordem do endereo de 10 bits eo bit R / W definida para
'1 '. Aps a terceira sequncia de endereo realizado, o
UA bit no est definido, o mdulo est configurado em
Modo de transmisso e relgios de estiramento controlada pela
a bandeira BF como no modo de transmisso Slave 7-Bit (ver
Figura 19-13).
19.4.4.2 Relgio Alongamento para Slave 10-Bit
Modo de recepo (SEN = 1)
Em 10-Bit modo Slave recebe durante o endereo
seqncia, relgio alongamento ocorre automaticamente
mas CKP no est desmarcada. Durante este tempo, se o bit UA
definido aps a nona relgio, alongamento iniciada.
A UA bit definido depois de receber o byte superior do
Endereo de 10 bits e seguindo o recebimento da segunda
o byte de endereo de 10 bits com o bit R / W foi afastada para
'0 '. O lanamento da linha de clock ocorre aps a atualizao
SSPADD. Relgio alongamento ocorrer em cada um dos dados
receber sequncia como descrito no modo de 7 bits.
Nota: Se o usurio controla o bit UA e limpa-lo
atualizao do cadastro SSPADD antes do
flanco do nono relgio e se ocorre
o usurio no tenha esclarecido o bit BF pela leitura
o do SSPBUF antes desse tempo,
ento o bit CKP ainda no sero afirmou
baixa. Relgio de alongamento na base da
estado do bit BF s ocorre durante um
seqncia de dados, e no uma seqncia de
endereo.
v 2009 Microchip Technology Inc. DS39632E pgina 221
PIC18F2455/2550/4455/4550
19.4.4.5 Sincronizao de relgio e
o bit CKP
Quando o bit CKP estiver desmarcada, a sada SCL forado
em '0 '. No entanto, limpando o bit CKP no vai valer a
Sada SCL baixo at que a sada SCL j est
amostrados baixo. Portanto, o bit CKP no vai valer a
Linha SCL at que um dispositivo mestre I2C externo tem
j afirmado a linha SCL. A sada SCL vontade
permanecem baixos at o bit CKP est definido e todos os outros
dispositivos no barramento I2C ter inativa SCL. Este
garante que uma gravao para o bit CKP no violar o
exigncia de tempo mnimo elevado para SCL (ver
Figura 19-14).
FIGURA 19-14: Sincronizao do relgio CALENDRIO
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
SDA
DX DX - 1
SCL
CKP
Dispositivo mestre
afirma relgio
Dispositivo mestre
deasserts relgio
Escrever
SSPCON1
DS39632E pgina 222 v 2009 Microchip Technology Inc.
FIGURA 19-15:
v 2009 Microchip Technology Inc.
O relgio no realizada
lowbecause buffer cheio
(BF) bit isclear antes de
cair edgeof nono relgio
Relgio mantido
baixo untilCKP est
definido para '1 '
ACK
D2
D1
D0
D7
D6
D5
D4
Recebendo dados
D3
D2
D1
D0
Receber
Endereo
A5
D7
A4
A3
A2
A1
ACK
D6
D5
D4
D3
R / W = 0
Recebendo dados
O relgio no
realizada lowbecause
= ACK 1
ACK
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
P
Bus
masterterminatestransfe
r
Apuradas em
software
SSPBUF lido
SSPOV setbecause
SSPBUF isstill
completo. ACK no
enviado.
Se BF clearedprior ao
fallingedge da nona relgio, CKP
no ser resetto '0 'e no
ocorrer clockstretching
BF definido aps
fallingedge do nono relgio,
CKP reposto a '0
'andclock alongamento
ocorre
CKPwrittento '1 'insoftware
SDA
A7
A6
SCL
S
1
2
SSPIF (PIR1 <3>)
BF (SSPSTAT
<0>)
SSPOV
(SSPCON1 <6>)
I2C SLAVE TEMPO MODO com NEE = 1(Recepo, 7 bits de endereo)
PIC18F2455/2550/4455/4550
CKP
DS39632E pgina 223
FIGURA 19-16:
DS39632E pgina 224
Relgio mantido baixo
untilupdate de SSPADD
lugar hastaken
Relgio mantido
baixo untilCKP est
definido para '1 '
Receba Byte
Dados
D1 D0
ACK
D7 D6 D5
D4
D3 D2
D1 D0
R / W = 0 ACK
A7
A6
A5
A4
A3
A2 A1
A0
ACK
D7 D6 D5 D4
D3 D2
Receba segundo
byte de endereo
Receba Byte
Dados
ACK
Relgio mantido baixo
untilupdate de SSPADD
lugar hastaken
O relgio no
realizada lowbecause
= ACK 1
A9 A8
6
1
2
3
4
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
5
6
7
8
9
P
Apuradas em
software
Apuradas em
software
Apuradas em
software
Bus
masterterminatestransfer
Manequim ler de
SSPBUFto claro BF
bandeira
Manequim ler de
SSPBUFto claro BF
bandeira
SSPOV setbecause
SSPBUF isstill
completo. ACK no
enviado.
Apuradas por hardware
whenSSPADD atualizado
com Lowbyte de endereo
depois de cair edgeof nono
relgio
UA definida indicando
necessidades
thatSSPADD para
beupdated
Apuradas por hardware
whenSSPADD atualizado
com highbyte de endereo
depois de cair edgeof nono
relgio
Nota: Uma atualizao do
SSPADDregister antes do
fallingedge do nono relgio
willhave nenhum efeito sobre
andUA UA continuar a ser
definido.
Nota: Uma actualizao
do registo SSPADD
beforethe borda de
descida do nono relgio
haveno efeito sobre UA
e UA continuar a ser
definido.
Receba primeiro
byte do endereo
SDA
1
1
1
1
0
SCL
S
1
2
3
4
5
SSPIF (PIR1 <3>)
Apuradas em
software
BF (SSPSTAT
<0>)
SSPBUF escrito
withcontents de
SSPSR
PIC18F2455/2550/4455/4550
SSPOV
(SSPCON1 <6>)
UA (SSPSTAT
<1>)
UA definida indicando
thatthe necessidades
SSPADD para
beupdated
CKP
I2C SLAVE TEMPO MODO com NEE = 1(Recepo, 10-BIT ADDRESS)
v 2009 Microchip Technology Inc.
CKP escrito para '1
'em software
PIC18F2455/2550/4455/4550
19.4.5 GERAL endereo de chamada
APOIO
O procedimento de endereamento para o barramento I2C tal que
o primeiro byte aps a condio Iniciar normalmente
determina qual o dispositivo ser o escravo endereado pelo
o mestre. A exceo o endereo de chamada geral
que pode resolver todos os dispositivos. Quando este endereo
utilizado, todos os dispositivos devem, em teoria, responder com um
Reconhecer.
O endereo de chamada geral um dos oito endereos
reservados para fins especficos pelo protocolo I2C. Ele
consiste de todos '0 's com R / W = 0.
O endereo de chamada geral reconhecida quando o Gen-
eral chamada Ativar (GCEN) bit ativado (SSPCON2 <7>
definido). Aps um incio de deteco de bits, 8 bits so deslocados
para
o SSPSR e o endereo comparado com o
SSPADD. Tambm comparada chamada geral
endereo fixo e em hardware.
Se o endereo de chamada geral corresponde a SSPSR
transferido para o SSPBUF, a BF bit sinalizador est definido (oitavo
bits) e na borda de descida do nono bit (bit de ACK), o
SSPIF interrupo bandeira bit definido.
Quando a interrupo atendido, a fonte para o
de interrupo pode ser verificada atravs da leitura do contedo da
SSPBUF. O valor pode ser usado para determinar se o
endereo era de dispositivo especfico ou um endereo de chamada
geral.
No modo de 10 bits, o SSPADD necessrio para ser actualizado
para o segundo semestre do endereo para corresponder ea UA
bit definido (SSPSTAT <1>). Se o endereo de chamada geral
amostrados quando o bit GCEN est definida, enquanto o escravo
configurado no modo de endereamento de 10 bits, ento o segundo
metade do endereo no necessria, o bit de UC no vai
ser definido eo escravo vai comear a receber dados aps o
Reconhecer (Figura 19-17).
FIGURA 19-17: SLAVE MODO GERAL DE CHAMADAS ENDEREO SEQNCIA
(7 ou 10-bit modo de endereamento)
Endereo comparado ao de chamadas geral Endereo
depois ACK, definir interromper
R / W = 0
ACK D7
Recebendo dados
D6 D5 D4 D3 D2 D1 D0
ACK
SDA
SCL
S
SSPIF
BF (SSPSTAT <0>)
Chamada Geral Endereo
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
Apuradas em software
SSPBUF lido
SSPOV (SSPCON1 <6>)
GCEN (SSPCON2 <7>)
'1 '
'0 '
v 2009 Microchip Technology Inc. DS39632E pgina 225
PIC18F2455/2550/4455/4550
19.4.6 MODO DE MESTRE
Nota:
Modo master ativado atravs da criao e limpar o
pedaos SSPM apropriados SSPCON1 e definindo o
SSPEN bit. No modo mestre, o SCL e SDA linhas
so manipulados pelo hardware MSSP se os bits de TRIS
esto definidos.
Mestre modo de operao apoiada por interrupo
gerao na deteco do incio e parada
condies. O Stop (P) e comear a (s) bits so apagadas
de um reset ou quando o mdulo MSSP est desativado.
O controlo da I 2C barramento pode ser feita quando o bit P
definir ou o nibus est ocioso, tanto com o S e P bits claras.
No modo, o cdigo do usurio Firmware Controlled Mestre
realiza todas as operaes de nibus eu 2C baseadas em Iniciar e
Pare condies bits.
Uma vez que o modo Master ativado, o usurio tem seis
opes:
1.
2.
3.
4.
5.
6.
Afirmar uma condio de incio em SDA e SCL.
Afirmar uma condio de incio repetida em SDA e
SCL.
Escreva para o SSPBUF iniciar
transmisso de dados / endereo.
Configure a porta I2C para receber dados.
Gerar uma condio Reconhecer no final
de um byte dos dados recebidos.
Gerar uma condio de parada em SDA e SCL.
O mdulo MSSP, quando configurados em
Modo Master I2C, no permite filas
de eventos. Por exemplo, o utilizador no est
permitido iniciar uma condio de incio e
escreva imediatamente a SSPBUF para
iniciar a transmisso antes do incio
condio completa. Neste caso, o
SSPBUF no vai ser escrito eo
Bit WCOL ser definido, indicando que a gravao
ao SSPBUF no ocorreu.
Os seguintes eventos far com que a interrupo MSSP
Bit Bandeira, SSPIF, a ser definido (e interrupo MSSP, se
ativado):





Comece condio
Condio de parada
Byte de transferncia de dados transmitidos /
recebidos
Reconhea transmitir
Iniciar repetido
FIGURA 19-18:
MSSP ESQUEMA DE BLOCO (I2C MESTRE MODE)
Interno
Barramento de
dados
Ler
SSPBUF
Escrever
Baud
Taxa
Gerador
Relgio Arbitrar /
WCOL Detect
(Adiar fonte de
clock)
v 2009 Microchip Technology Inc.
Mudana
Relgio
SSPSR
Receba
Ativar
MSb LSB
SSPM3: SSPM0
SSPADD <6:00>
SDA
SDA Em
SCL
SCL In
Coliso de nibus
Comece bit Detectar
Pare bit Detectar
Escrever Collision Detect
Relgio de Arbitragem
Contador de Estado para
Fim da XMIT / VN
Set / reset S, P, WCOL (SSPSTAT, SSPCON1);
conjunto SSPIF, BCLIF;
redefinir ACKSTAT, PEN (SSPCON2)
DS39632E pgina 226
Relgio Cntl
Comece bit, bit de parada,
Reconhecer
Gerar
PIC18F2455/2550/4455/4550
19.4.6.1
I2C Mestre Modo de Operao
A seqncia de transmisso tpico iria da seguinte forma:
1. O usurio gera uma condio de incio, definindo
Iniciar Ativar bit, SEN (SSPCON2 <0>).
2. SSPIF est definido. O mdulo MSSP vai esperar o
necessrio tempo de incio antes de qualquer outra operao
ocorre.
3. O usurio carrega o SSPBUF com o escravo
abordar a transmitir.
4. Endereo deslocado para fora o pino SDA at que todos os
oito
bits so transmitidos.
5. O mdulo MSSP desloca no bit ACK do
dispositivo escravo e escreve seu valor para o
SSPCON2 registo (SSPCON2 <6>).
6. O mdulo MSSP gera uma interrupo na
fim do ciclo de relgio, definindo o nono SSPIF
bit.
7. O usurio carrega o SSPBUF com oito bits de
dados.
8. Os dados so deslocados para fora o pino SDA at que todos
os oito bits
so transmitidos.
9. O mdulo MSSP desloca no bit ACK do
dispositivo escravo e escreve seu valor para o
SSPCON2 registo (SSPCON2 <6>).
10. O mdulo MSSP gera uma interrupo na
fim do ciclo de relgio, definindo o nono SSPIF
bit.
11. O usurio gera uma condio de parada, definindo
Ative o Parar bit, PEN (SSPCON2 <2>).
12. Interrupo gerada uma vez que a condio de parada
completar.
O dispositivo mestre gera todo o relgio em srie
pulsos e no incio e condies de parar. Uma transferncia
terminou com uma condio de parada ou com um comeo repetida
condio. Como a condio de incio tambm repetida
o incio da prxima transferncia em srie, o barramento I2C
vontade
no ser liberado.
No modo Transmissor Mestre, os dados de srie a sada
atravs da SDA, enquanto SCL produz o relgio serial. O
primeiro byte transmitido contm o endereo escravo do
dispositivo de recepo (sete bits) e da leitura / escrita (R / W)
bit. Neste caso, o bit R / W ser lgica '0 '. Dados seriais
transmitida oito bits de cada vez. Depois de cada byte
transmitido, um bit Reconhecer recebido. Iniciar e
Condies de parada so a sada para indicar o incio
e no final de uma transferncia em srie.
Mestre em modo de recepo, o primeiro byte transmitido con-
tm o endereo do escravo do dispositivo de transmisso
(7 bits) e o bit R / W. Neste caso, o bit R / W ser
lgico '1 'Assim, o primeiro byte transmitido um 7 bits escravo
tratar seguido por um '1 'para indicar o bit de receber.
Dados seriais recebido via SDA enquanto SCL emite o
de relgio em srie. Dados seriais recebido oito bits de cada vez.
Depois de cada byte recebido, um pouco Reconhecer
transmitido. Iniciar e parar condies indicam a
incio e no final da transmisso.
O gerador de taxa de transmisso utilizada para o modo SPI
operao usado para definir a freqncia de clock SCL para
ou 100 kHz, 400 kHz ou uma operao I2C MHz. Ver
Seo 19.4.7 "Baud Rate" para mais detalhes.
v 2009 Microchip Technology Inc. DS39632E pgina 227
PIC18F2455/2550/4455/4550
19.4.7 TAXA DE
TRANSMISSO
No modo I2C Mestre, o Gerador de Baud Rate (BRG)
valor de recarga colocado nas sete bits inferiores do
SSPADD registo (Figura 19-19). Quando ocorre uma gravao
para SSPBUF, o Gerador de Baud Rate ser automaticamente
comear a contar. A BRG contagem regressiva para '0 'e pra
at que outra recarga tenha ocorrido. A contagem BRG
decrementado duas vezes por ciclo de instruo (TCY) sobre o
Relgios Q2 e Q4. No modo I2C Mestre, o BRG
recarregado automaticamente.
Uma vez que a determinada operao est completa (ou seja, trans-
o do ltimo bit de dados seguido por ACK), o interno
relgio parar automaticamente a contagem eo pino SCL
permanecer em seu ltimo estado.
Tabela 19-3 demonstra taxas de clock com base em
ciclos de instruo e do valor carregado em BRG
SSPADD. SSPADD valores inferiores a 2 no so
suportada. Devido necessidade de apoiar relgio I2C
alongamento capacidade, taxas de transmisso I2C so
parcialmente
dependente de parmetros do sistema, como a linha
capacitncia e resistncia pull-up. Os parmetros
fornecidos na Tabela 19-3 so diretrizes, eo real
taxa de transmisso pode ser um pouco mais lento do que o previsto
em
da tabela. A taxa de transmisso frmula mostrada no bit
descrio do Registro 19-4 define a taxa de transmisso mxima
taxa que pode ocorrer devido a um determinado valor SSPADD.
FIGURA 19-19: BAUDIOS GERADOR DE BLOCO DIAGRAMA
SSPM3: SSPM0 SSPADD <6:00>
SSPM3: SSPM0
SCL
Recarregar
Controle
CLKO
Recarregar
BRG Baixo Contador FOSC / 4
TABELA 19-3:
FCY
I2C Clock Rate W / BRG
* 2 FCY
20 MHz
20 MHz
20 MHz
8 MHz
8 MHz
8 MHz
2 MHz
2 MHz
BRG Valor
18h
1Fh
63h
09h
0Ch
27h
02h
09h
FSCL
(2 Sobreposies de BRG)
400 kHz(1)
312,5 kHz
100 kHz
400 kHz(1)
308 kHz
100 kHz
333 kHz(1)
100 kHz
10 MHz
10 MHz
10 MHz
4 MHz
4 MHz
4 MHz
1 MHz
1 MHz
Nota 1:
A interface I2C no se conforma com a especificao I2C 400 kHz (que se aplica a taxas superiores
100 kHz) em todos os detalhes, mas pode ser usado com cuidado onde as taxas mais altas so necessrias pela
aplicao.
DS39632E pgina 228 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
19.4.7.1 Relgio de Arbitragem
Arbitragem relgio ocorre quando o mestre, durante qualquer
receber, transmitir ou repetida Start / Stop condio,
deasserts o pino SCL (SCL autorizado a flutuar alto).
Quando o pino de SCL permitido flutuar elevado, a taxa de
transmisso
Taxa Gerador (RPP) suspenso a partir de contagem
at que o pino de SCL efectivamente amostrado elevada. Quando
o
SCL pino amostrado alta, o Gerador de taxa de transmisso
recarregado com o contedo do SSPADD <06:00> e
comea a contagem. Isto assegura que o elevado tempo de SCL
ser sempre pelo menos um BRG rollover contagem no
caso em que o relgio mantido baixo por um dispositivo externo
(Figura 19-20).
FIGURA 19-20:
SDA
BAUDIOS CALENDRIO COM GERADOR DE ARBITRAGEM CLOCK
DX DX - 1
SCL inativa, mas mantm escravo
SCL baixa (arbitragem relgio)
SCL deixada transio alta
SCL
BRG decrscimos em
Ciclos Q2 e Q4
BRG
Valor
03h 02h 01h 00h (adiar) 03h 02h
SCL amostrado alta, recarga leva
lugar e BRG inicia a sua contagem
BRG
Recarregar
v 2009 Microchip Technology Inc. DS39632E pgina 229
PIC18F2455/2550/4455/4550
19.4.8
I2C MESTRE MODO DE ARRANQUE
CALENDRIO CONDIO
Nota:
Para dar incio a uma condio de incio, o usurio define o incio
Ativar bit, SEN (SSPCON2 <0>). Se o SDA e SCL
pins so amostrados alta, o Gerador de taxa de transmisso
recarregado com o contedo do SSPADD <06:00> e comea a
sua contagem. Se SCL e SDA so ambos amostrados elevada
quando
o Baud Rate Generator vezes fora (TBRG), a SDA
pin impulsionado baixo. A ao da SDA sendo conduzido
baixo enquanto SCL est alto a condio inicial e provoca
o bit S (SSPSTAT <3>) a ser definido. Depois disso, o
Gerador de Baud Rate recarregado com o contedo do
SSPADD <06:00> e recomea a contagem. Quando o Baud
Taxa Generator vezes fora (TBRG), o bit SEN
(SSPCON2 <0>) ser apagada automaticamente pelo
hardware, o gerador de taxa de transmisso suspensa
deixando a linha SDA realizou baixo ea condio Start
completar.
Se, no incio da condio de incio,
os pinos SDA e SCL j esto sam-
confessou baixo, ou se durante a condio de partida,
o
Linha SCL amostrado baixo antes da SDA
linha impulsionada baixo, uma coliso de nibus
ocorre,
o Bus interrupo Bandeira Collision, BCLIF,
conjunto, a condio de Start abortada eo
Mdulo I2C reposto em seu estado inativo.
19.4.8.1 Bandeira Estado WCOL
Se o usurio escreve o SSPBUF quando uma seqncia Incio
est em andamento, o bit WCOL est definido e os contedos de
buffer mantm-se inalterados (a gravao no ocorre).
Nota: Porque filas de eventos no
permitiu, por escrito, s cinco bits mais baixos de
SSPCON2 est desativada at o incio
condio completa.
FIGURA 19-21: Primeira partida BIT CALENDRIO
Escreva-bit SEN ocorre aqui
Set S bit (SSPSTAT <3>)
SDA = 1,
SCL = 1
TBRG TBRG
Na concluso do Iniciar bit,
hardware limpa SEN bit
e define SSPIF bit
Escreva para SSPBUF ocorre aqui
1 bit
TBRG
TBRG
S
2 bit
SDA
SCL
DS39632E pgina 230 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
19.4.9
I2C modo Master REPETIDO
Iniciar a cronometragem CONDIO
Nota 1: Se estiver programado RSEN embora qualquer outra
evento est em andamento, no ter efeito.
2: A coliso de nibus durante a partida repetida
condio ocorre se:
SDA amostrado baixo quando SCL vai
de baixo para maior.
SCL vai baixa antes SDA
afirmou baixa. Isto pode indicar que
outro mestre est tentando
transmitir dados de um '1 '.
Imediatamente aps o bit SSPIF comeando o jogo, o usurio
podem escrever o SSPBUF com o endereo de 7-bit em 7 bits
o modo ou o primeiro endereo padro no modo 10-bit. Aps o
primeiros oito bits so transmitidos e recebido um ACK,
o utilizador pode, em seguida, transmitir um perodo adicional de oito
bits
endereo (modo 10 bits) ou oito bits de dados (modo 7 bits).
Uma condio de incio repetida ocorre quando o bit RSEN
(SSPCON2 <1>) programado elevada e a lgica I2C
mdulo est no estado inativo. Quando o bit RSEN est definido,
o pino SCL afirmado baixo. Quando o pino SCL sam-
confessou baixa, o Gerador de Baud Rate carregado com o
contedo de SSPADD <05:00> e comea a contar. O
SDA pino liberado (trazido alto) para uma taxa de transmisso
Gerador de contagem (TBRG). Quando a taxa de transmisso
Genera-
vezes tor fora, se SDA amostrado alta, o pino SCL vontade
ser desabilitados (trazido de altura). Quando SCL amostrado
alta, o Gerador de Baud Rate recarregado com o
contedo de SSPADD <06:00> e comea a contar. SDA
SCL e devem ser colhidas amostras para uma alta TBRG. Este
ao seguida pela afirmao do pino SDA
(SDA = 0) para uma TBRG enquanto SCL elevado. Seguido
isso, o bit RSEN (SSPCON2 <1>) ser automaticamente
apuradas eo Gerador de Baud Rate no ser
recarregado, deixando o pino SDA realizou baixo. Assim que um
Condio de incio detectado na SDA e SCL pinos,
o bit S (SSPSTAT <3>) ser definido. O bit SSPIF vontade
no estar definida at o Gerador de Baud Rate expirou.
19.4.9.1 Bandeira Estado WCOL
Se o usurio escreve o SSPBUF quando um comeo repetida
seqncia est em andamento, o bit WCOL est definido eo
contedo do buffer mantm-se inalterados (a gravao no
ocorrer).
Nota: Porque filas de eventos no
permitiu, por escrito, dos cinco bits mais baixos de
SSPCON2 est desativado at o repetida
Condio de incio est completa.
FIGURA 19-22: REPETIDA condio de incio ONDA
Escreva para SSPCON2
ocorre aqui.
SDA = 1,
SCL (sem alterao).
Set S (SSPSTAT <3>)
SDA = 1,
SCL = 1
Na concluso do Iniciar bit,
hardware limpa bit RSEN
e conjuntos SSPIF
TBRG
1 bit
Escreva para SSPBUF ocorre aqui
TBRG
TBRG
Sr = Start repetida
TBRG
SDA
Flanco descendente da nona relgio,
final de Xmit
SCL
TBRG
v 2009 Microchip Technology Inc. DS39632E pgina 231
PIC18F2455/2550/4455/4550
19.4.10
I2C modo Master
TRANSMISSO
A transmisso de um byte de dados, um endereo de 7 bits, ou o
a outra metade de um endereo de 10 bits realizada simplesmente
escrever um valor para o SSPBUF. Esta ao ir
definir o buffer cheio bandeira bit, BF, e permitir que a taxa de
transmisso
Gerador de comear a contagem e iniciar o prximo
transmisso. Cada bit de endereo / dados sero transferidos
fora no pino SDA aps a borda de descida do SCL
afirmado (ver dados segurar especificao de tempo
parmetro 106). SCL mantido baixo para uma taxa de transmisso
Gerador de rollover count (TBRG). Os dados devem ser vlidos
antes SCL liberado alta (ver tempo de configurao de dados
espe-
parmetro ification 107). Quando o pino de SCL libertado
alta, realizada dessa forma por TBRG. Os dados sobre a SDA
pin deve permanecer estvel para que a durao e alguns defendem
tempo aps a prxima borda de descida do SCL. Depois da oitava
bit deslocado para fora (a margem caindo do oitavo relgio),
a bandeira BF apagada eo mestre lanamentos SDA.
Isso permite que o dispositivo escravo ser dirigida aos
reagir com um pouco de ACK durante o tempo de um bit se um nono
endereo de partida ocorreu, ou se os dados foram recebidos
adequadamente. O estado de ACK escrito no ACKDT
bit na borda de descida do nono dia. Se o mestre
recebe uma confirmao, o Reconhecer bit Status,
ACKSTAT, est desmarcada. Se no, o bit definido. Aps a nona
relgio, o bit SSPIF est definido eo relgio mestre (Baud
Taxa Gerador) suspenso at o prximo byte de dados
carregado no SSPBUF, deixando acessvel SCL e SDA
inalterados (Figura 19-23).
Aps a gravao no SSPBUF, cada bit do endereo
vai ser deslocado para fora na borda de descida de SCL at todo
sete bits de endereo eo bit R / W esto concludas. Em
a borda de descida do oitavo relgio, o mestre
deassert o pino SDA, permitindo que o escravo para responder
com um Reconhecer. Na borda de descida do nono
relgio, o mestre vai provar o pino SDA para ver se o
endereo foi reconhecido por um escravo. O estado do
ACK bit carregado para o bit de estado ACKSTAT
(SSPCON2 <6>). Seguindo o flanco descendente do nono
transmisso relgio do endereo, o SSPIF est definido, o
BF flag limpa eo Gerador taxa de transmisso
desligada at que outra gravao para o SSPBUF leva
lugar, mantendo SCL baixo e permitindo SDA para flutuar.
O usurio deve verificar se o WCOL claro depois
cada um escrever a SSPBUF para assegurar a transferncia est
correto.
Em todos os casos, WCOL devem ser apuradas em software.
19.4.10.3 ACKSTAT Estado Bandeira
No modo de transmisso, o bit ACKSTAT (SSPCON2 <6>)
apagados quando o escravo enviou um Reconhea
(ACK = 0) e definido quando o escravo no reco-
borda (ACK = 1). Um escravo envia uma confirmao quando
ele reconheceu o seu endereo (incluindo uma chamada geral),
ou quando o escravo tiver recebido correctamente os dados.
19.4.11
I2C MESTRE MODO DE RECEPO
Recepo modo Master est habilitado atravs da programao do
Receba Habilitar bit, RCEN (SSPCON2 <3>).
Nota: O mdulo MSSP deve estar em um estado inativo
antes do bit RCEN est definido ou o bit RCEN
sero desconsiderados.
O gerador de taxa de transmisso comea a contagem e em cada
capotamento, o estado do pino SCL mudanas (maior para baixo /
de baixo para alto) e os dados so deslocados para o SSPSR.
Depois
a borda de descida do oitavo relgio, a receber possibilitar
flag automaticamente cancelado, o contedo do
SSPSR so carregados no SSPBUF, a BF bit bandeira
definido, o SSPIF bit sinalizador est definido e a taxa de
transmisso Gener-
ator est suspenso a partir de contagem, segurando SCL baixa. O
MSSP est agora no estado ocioso aguardando o prximo comando.
Quando o buffer lido pelo CPU, o BF bit bandeira
automaticamente cancelado. O usurio pode, ento, enviar um
Reconhecer pouco no final da recepo, definindo a
Reconhea Sequence Habilitar bit, ACKEN
(SSPCON2 <4>).
19.4.11.1 BF Estado Bandeira
Na operao de recepo, o bit BF definido quando um endereo
ou byte de dados carregado no SSPBUF de SSPSR.
apagada quando o SSPBUF lido.
19.4.11.2 SSPOV Estado Bandeira
Na operao de recebimento, o bit SSPOV definido quando oito
bits so recebidos na SSPSR eo BF bit bandeira
j definido a partir de uma recepo anterior.
19.4.10.1 BF Estado Bandeira
19.4.11.3 Bandeira Estado WCOL
No modo de transmisso, o bit BF (SSPSTAT <0>) definido
quando a CPU escreve SSPBUF e apagado quando
todos os oito bits so deslocados para fora.
Se o usurio escreve o SSPBUF quando a recepo
j em andamento (ie, SSPSR ainda est se deslocando em uma
base de dados
byte), o bit WCOL est definido e o contedo da memria intermdia
mantm-se inalterados (a gravao no ocorre).
19.4.10.2 Bandeira Estado WCOL
Se o usurio escreve o SSPBUF quando a transmisso
j em andamento (ie, SSPSR ainda est mudando um
byte de dados), o bit WCOL est definido e os contedos do
tampo mantm-se inalterados (a gravao no ocorre), aps
2 TCY aps a gravao SSPBUF. Se SSPBUF reescrito
dentro de dois TCY, o bit WCOL est definido e SSPBUF
atualizado. Isto pode resultar numa transferncia corrompido.
DS39632E pgina 232 v 2009 Microchip Technology Inc.
FIGURA 19-23:
Escrever
SSPCON2 <0>
SEN = 1,Condio
de incio comea
De escravo,
claro bit
ACKSTAT
SSPCON2 <6>
R / W = 0
A1
= ACK 0
D7
D6
D5
D4
D3
D2
Transmisso de
dados ou segunda
Halfof 10-Bit
Endereo
D1
D0
SEN = 0
Transmitir
Endereo para
Slave
SDA
SSPBUF escrito
com o endereo
de 7 bits e R /
Wstart transmitir
SCL
S
SCL realizada CPU
lowwhile
responde a SSPIF
Apuradas em
software servio
routinefrom MSSP
interrupo
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
A7
A6
A5
A4
A3
A2
v 2009 Microchip Technology Inc.
ACKSTAT
inSSPCON2 = 1
ACK
P
SSPIF
Apuradas em
software
Apuradas em
software
BF (SSPSTAT
<0>)
SSPBUF
escrito
SEN
Depois
condio
Iniciar, SEN
desmarcada
por hardware
SSPBUF
escrito em
software
PEN R / W
Eu 2C modo Master ONDA (TRANSMISSO, 7 ou o endereo de 10 bits)
PIC18F2455/2550/4455/4550
DS39632E pgina 233
FIGURA 19-24:
DS39632E pgina 234
Escreva para SSPCON2
<4> para comear
Reconhea
sequenceSDA = ACKDT
(SSPCON2 <5>) = 0
Mestre configurado
como uma
programao
receiverby SSPCON2
<3> (= RCEN 1)
ACK de Slave
R / W = 1
Recepo de
dados de Slave
ACK
Recepo de
dados de Slave
RCEN
clearedautomatically
RCEN = 1,
startnext receber
RCEN
clearedautomatically
ACK
ACK do mestre, SDA
= ACKDT = 0
Definir ACKEN,
comece Reconhea
seqncia,
SDA = ACKDT =
1
PEN bit = 1escrito
aqui
Escreva para
SSPCON2 <0> (SEN
= 1),Iniciar Inicie
Condio
SEN = 0
Escreva para
SSPBUF ocorre aqui,
comece Xmit
Transmitir
Endereo para
Slave
SDA
D0
A7
A1
D7 D6 D5 D4
D3 D2 D1
D7 D6 D5 D4
D3 D2 D1
D0
A6 A5 A4 A3
A2
ACK
ACK no
enviado
Bus
masterterminatestransfe
r
SCL
Definir SSPIF
interruptat final de
receber
S
1
5
1
2
3
4
5
6
7
8
9
1
2
3
4
5
2
3
4
7
8
6
9
6
7
8
9
Definir SSPIF em
endof receber
P
Definir SSPIF
interruptat final
Acknowledgesequence
Dados mudou em
caindo borda CLK
SSPIF
Apuradas em
software
Apuradas em
software
Definir SSPIF
interruptat final
Acknowledgesequence
Apuradas em
software
Apuradas insoftware
PIC18F2455/2550/4455/4550
SDA = 0, SCL =
1enquanto
CPUresponds para
SSPIF
Apuradas em
software
Set P bit (SSPSTAT
<4>) e SSPIF
BF (SSPSTAT
<0>)
ltima bit
deslocado para
SSPSR andcontents
so descarregados
em SSPBUF
SSPOV
SSPOV est definido
becauseSSPBUF
ainda est cheio
Eu 2C modo Master ONDA (recepo, ENDEREO 7-BIT)
v 2009 Microchip Technology Inc.
ACKEN
PIC18F2455/2550/4455/4550
19.4.12 RECONHECE SEQNCIA
CALENDRIO
19.4.13 Interromper a cronometragem
CONDIO
Uma seqncia de reconhecer habilitado, definindo o
Reconhea Sequence Habilitar bit, ACKEN
(SSPCON2 <4>). Quando este bit for definido, o pino SCL
puxada baixo e os contedos de bits de dados a Reconhecer
so apresentados no pino SDA. Se o usurio deseja gen-
rado um Reconhecer, ento o bit deve ser ACKDT
apagadas. Caso contrrio, o usurio deve definir o bit ACKDT antes
Iniciando uma seqncia Reconhecer. A taxa de transmisso
Gerador ento conta para um perodo de rollover (TBRG)
eo pino SCL est inativa (puxada alta). Quando o
SCL pino amostrado alta (arbitragem do relgio), o Baud
Taxa de contagem de gerador para TBRG. O pino , em seguida,
SCL
puxado baixo. Depois disso, o bit automaticamente ACKEN
desmarcada, o gerador de taxa de transmisso desligado eo
Mdulo MSSP ento entra em um estado inativo
(Figura 19-25).
Um bit de fim afirmado no pino de SDA no final de um
recepo / transmisso, definindo o Parar Habilitar bit, PEN
(SSPCON2 <2>). No final de um receptor / transmissor, a
Linha SCL mantido baixo aps a borda de descida do nono
relgio. Quando o bit PEN est definido, o senhor vai fazer valer
a linha SDA baixo. Quando a linha SDA amostrado baixa,
Gerador de Baud Rate recarregado e faz a contagem regressiva
a 0. Quando os tempos Gerador de Baud Rate para fora, o
SCL pino ser trazido de altura e um TBRG (Baud Rate
Gerador de capotamento contagem) depois, o pino SDA ser
inativa. Quando o pino SDA amostrado alta enquanto
SCL elevada, o bit P (SSPSTAT <4>) definida. A TBRG
depois, a pouco PEN eliminado eo bit SSPIF est definido
(Figura 19-26).
19.4.13.1 Bandeira Estado WCOL
19.4.12.1 Bandeira Estado WCOL
Se o usurio escreve o SSPBUF quando um Reconhea
seqncia est em andamento, ento WCOL est definido eo
contedo do buffer mantm-se inalterados (a gravao no
ocorrer).
Se o usurio escreve o SSPBUF quando uma seqncia de parada
est em andamento, ento o bit WCOL est definido eo
contedo do buffer mantm-se inalterados (a gravao no
ocorrer).
FIGURA 19-25: RECONHECE ONDA SEQNCIA
ACKEN apagadas automaticamente
TBRG
ACK
9
TBRG
Reconhea seqncia comea aqui,
escrever para SSPCON2
ACKEN = 1, ACKDT = 0
SDA
SCL
D0
8
SSPIF
Situado no SSPIF
fim de receber
Apuradas em
software
Apuradas em
software
Situado na extremidade SSPIF
Reconhecer de seqncia
Nota: TBRG = um perodo Gerador de Baud Rate.
FIGURA 19-26: CONDIO DE PARADA receber ou transmitir MODO
Escreva para SSPCON2,
conjunto de canetas
Flanco descendente de
nono relgio
SCL = 1para TBRG, seguido pelo SDA = 1para TBRG
depois SDA amostrado elevada. P bit (SSPSTAT <4>) definido.
Bit PEN (SSPCON2 <2>) est desmarcada por
hardware eo pouco SSPIF est definido
TBRG
SCL
SDA ACK
P
TBRG TBRG TBRG
SCL trouxe alta aps TBRG
SDA afirmou baixa antes de borda de subida de relgio
configurar condio de parada
Nota: TBRG = um perodo Gerador de Baud Rate.
v 2009 Microchip Technology Inc. DS39632E pgina 235
PIC18F2455/2550/4455/4550
19.4.14 DORMIR DE OPERAO 19.4.17
Enquanto no modo de suspenso, o mdulo I2C pode receber
endereos ou dados e, quando uma correspondncia ou endereo
ocorre completa transferncia byte, acordar o processador
de sono (se a interrupo MSSP est habilitado).
MULTI-MASTER COMUNICAO,
COLISO NIBUS E NIBUS
ARBITRAGEM
19.4.15 EFEITOS DE UM REAJUSTE
A Redefinir desativa o mdulo MSSP e termina a
transferncia atual.
19.4.16 MODO MULTI-MASTER
No modo multi-mestre, a gerao de interrupo no
deteco do incio e condies de paragem permite que o
determinao de quando o nibus gratuito. O Stop (P) e
Iniciar (S) bits so apagadas a partir de um reset ou quando o
Mdulo MSSP est desativado. O controlo da I 2C barramento pode
ser tomada quando o bit P (SSPSTAT <4>) definido, ou o
nibus est ocioso, tanto com o S e P bits claras. Quando o
autocarro est ocupado, permitindo a interrupo MSSP gerar
a interrupo quando a condio de parada ocorre.
Em operao multi-mestre, a linha SDA deve ser
monitorizados de arbitragem para saber se o nvel de sinal o
Espera nvel de sada. Esta verificao realizada em
hardware com o resultado colocado no bit BCLIF.
Os estados onde a arbitragem podem ser perdidas so:





Transferncia de endereo
Transferncia de Dados
A Start Condition
A repetida Iniciar Condio
Reconhea um Estado
Suporte ao modo Multi-Master atingido por nibus arbitra-
o. Quando o mestre envia o endereo / bits de dados para
o pino SDA, a arbitragem tem lugar quando o mestre
gera um '1 'no SDA, deixando SDA bia de alta e
outro mestre afirma um '0 '. Quando o pino SCL flutua
alta, os dados devem ser estveis. Se os dados esperados sobre
SDA um '1 'e os dados amostrados no pino SDA = 0,
em seguida, uma coliso de nibus ocorreu. O comandante ir
definir
o Bus interrupo Bandeira Collision, BCLIF, e redefinir o
Porta I2C para o estado ocioso (Figura 19-27).
Se a transmisso estava em andamento quando a coliso de nibus
ocorreu, a transmisso interrompida, a bandeira BF
desmarcada, o SDA e SCL linhas so desabilitados ea
SSPBUF podem ser gravados. Quando os servios o usurio a
barramento coliso a rotina de interrupo de servio, e se o I2C
nibus gratuito, o usurio pode retomar a comunicao por
afirmao de uma condio inicial.
Se a comear, comear repetida, Parar ou Reconhea
condio estava em andamento quando a coliso de nibus
ocorreu, a condio abortada, a SDA e SCL
linhas so inativa e os respectivos bits de controlo
o SSPCON2 so apagadas. Quando o utilizador ser-
vcios do nibus coliso a rotina de interrupo de servio, e se
o barramento I2C livre, o usurio pode retomar a comunicao
afirmando a condio de Start.
O mestre vai continuar a acompanhar a SDA e SCL
dos pinos. Se ocorrer uma condio de parada, o bit SSPIF ser
definido.
A gravao para o bit SSPBUF vai comear a transmisso de
dados no primeiro bit de dados, independentemente de onde o
transmissor parou quando a coliso de nibus ocorrido.
No modo multi-mestre, a gerao de interrupo no
deteco de incio e condies de paragem permite a determinao
nao de quando o nibus gratuito. Controle do barramento I2C
pode
ser tomada quando o bit P definido no registo SSPSTAT,
ou o nibus est ocioso e os bits S e P so apagadas.
FIGURA 19-27: BUS CALENDRIO coliso para transmitir e RECONHECE
As alteraes de dados
enquanto SCL = 0
Linha SDA puxado baixo
por outra fonte
SDA liberado
pelo mestre
Amostra SDA. Enquanto SCL elevada,
dados no corresponde ao que acionado
pelo mestre.
Ocorreu coliso de nibus.
SDA
SCL
Definir Collision Bus
Interromper Flag (BCLIF)
BCLIF
DS39632E pgina 236 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
19.4.17.1 Coliso de nibus durante uma partida
Condio
Durante uma condio de incio, uma coliso de nibus ocorre
se:
um)
b)
SDA ou SCL so amostrados a partir do incio do
a condio de Start (Figura 19-28).
SCL amostrado baixo antes SDA afirmado baixo
(Figura 19-29).
Se o pino SDA amostrado baixa durante esta contagem, o
BRG reposto ea linha SDA afirmado mais cedo
(Figura 19-30). Se, no entanto, um '1 ' amostrado na SDA
pinos, o pino de SDA afirmado baixo no final da BRG
contar. O gerador de taxa de transmisso ento recarregada e
contagem regressiva para 0. Se o pino de SCL amostrada como '0
'
durante este tempo no ocorre uma coliso autocarro. No
fim da contagem RPP, o pino de SCL afirmado acessvel.
Nota: A razo pela qual coliso barramento no um factor
durante uma condio de incio que no h dois
nibus
masters pode afirmar uma condio de incio no
exatamente o mesmo tempo. Portanto, um mestre
sempre afirmar SDA antes do outro.
Esta condio de no causar um autocarro
coliso porque os dois mestres deve ser
permitido para arbitrar o primeiro endereo
aps a condio de Start. Se o endereo
o mesmo, a arbitragem deve ser permitido
continuar na parte de dados, repetida
Iniciar ou parar condies.
Durante uma condio de incio, tanto o SDA e SCL
dos pinos so monitorados.
Se o pino SDA j baixa, ou o pino de SCL j
baixo, em seguida, todos os seguintes ocorrem:
a condio de Start abortada,
a bandeira BCLIF est definido e
o mdulo MSSP redefinido para seu estado inativo
(Figura 19-28).
A condio Incio comea com os pinos SDA e SCL
inativa. Quando o pino de SDA amostrado elevada, o
Gerador de Baud Rate carregado a partir SSPADD <6:00>
e faz a contagem regressiva para '0 '. Se o pino SCL amostrado
baixo
enquanto SDA alta, uma coliso de barramento ocorre porque
presumir que outro mestre est tentando dirigir um
dados '1 'durante a condio de Start.
FIGURA 19-28: COLISO BUS durante a condio de START (SDA ONLY)
SDA vai baixa antes do bit SEN est definido.
Definir BCLIF,
S bit e set SSPIF porque
SDA = 0, SCL = 1.
SDA
SCL
Definir SEN, ativar a partida
condio se SDA = 1, SCL = 1
SEN
SDA amostrados baixo antes
Comece condio. Definir BCLIF.
S bit e set SSPIF porque
SDA = 0, SCL = 1.
SSPIF e BCLIF so
apuradas em software
S
SEN apagadas automaticamente por causa da coliso de nibus.
Mdulo MSSP repor em estado ocioso.
BCLIF
SSPIF
SSPIF e BCLIF so
apuradas em software
v 2009 Microchip Technology Inc. DS39632E pgina 237
PIC18F2455/2550/4455/4550
FIGURA 19-29: COLISO BUS durante a condio de START (SCL = 0)
SDA = 0, SCL = 1
TBRG TBRG
SDA
Definir SEN, ativar a partida
seqncia se SDA = 1, SCL = 1
SCL = 0antes SDA = 0,
coliso de nibus ocorre. Definir BCLIF.
SCL = 0antes BRG time-out,
coliso de nibus ocorre. Definir BCLIF.
BCLIF
Interromper apuradas
em software
S
SSPIF
'0'
'0'
'0'
'0'
SCL
SEN
FIGURA 19-30: BRG repostas devido a SDA ARBITRAGEM DURANTE condio de incio
SDA = 0, SCL = 1
Definir S
Menos de TBRG
TBRG
Definir SSPIF
SDA SDA puxado baixo por outro mestre.
Redefinir BRG e afirmar SDA.
SCL
S
SCL puxado baixa aps BRG
intervalo
Definir SEN, ativar a partida
seqncia se SDA = 1, SCL = 1
SEN
BCLIF '0 '
S
SSPIF
SDA = 0, SCL = 1,
definir SSPIF
Interrupes apuradas
em software
DS39632E pgina 238 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
19.4.17.2 Coliso de autocarro durante a repetida
Comece Condio
Durante uma condio de incio repetida, uma coliso de nibus
ocorre se:
um)
b)
Um nvel baixo amostrada em SDA SCL quando vai
de baixo nvel para alto nvel.
SCL vai baixa antes SDA afirmado baixa,
indicando que outro mestre est tentando
transmitir dados de um '1 '.
Se SDA baixa, ocorreu uma coliso de nibus (ou seja, outra
mestre est tentando transmitir um dado '0 ', veja
Figura 19-31). Se SDA amostrado elevada, a RPP
recarregado e comea a contar. Se SDA vai de maior para
baixo antes do BRG vezes para fora, nenhuma coliso de nibus
ocorre
porque no h dois mestres pode afirmar SDA exatamente no
mesmo tempo.
Se SCL vai de alto a baixo antes dos tempos BRG fora
e SDA j no tenha sido afirmado, uma coliso de nibus
ocorre. Neste caso, um outro mestre est tentando
transmitir dados de um '1 'durante a condio Incio repetida
(Veja a Figura 19-32).
Se, no final da BRG tempo limite, tanto SCL e SDA
ainda elevada, o pino conduzido SDA baixa e a RPP
recarregado e comea a contar. No fim da contagem,
independentemente do estado do pino de SCL, o pino SCL
impulsionado baixo ea condio Iniciar repetida
completar.
Quando o utilizador deasserts SDA e o pino permitido
flutuar alta, a BRG carregado com SSPADD <06:00> e
contagem regressiva para '0 '. O pino , ento, SCL e inativa
quando amostrados alto, o pino SDA amostrado.
FIGURA 19-31:
SDA
COLISO nibus durante uma condio de incio repetida (caso 1)
SCL
Experimente SDA quando SCL vai alto.
Se SDA = 0, definir BCLIF e liberao SDA e SCL.
RSEN
BCLIF
Apuradas em software
S
SSPIF
'0 '
'0 '
FIGURA 19-32: COLISO nibus durante REPETIDA condio de partida (caso 2)
TBRG TBRG
SDA
SCL
SCL vai baixa antes SDA,
definir BCLIF. Lanamento SDA e SCL.
Interromper apuradas
em software
RSEN
S
SSPIF
'0 '
BCLIF
v 2009 Microchip Technology Inc. DS39632E pgina 239
PIC18F2455/2550/4455/4550
19.4.17.3 Coliso de nibus durante uma parada
Condio
Coliso de nibus ocorre durante uma condio de parada
se:
um) Depois de o pino de SDA foi inativa e
autorizado a flutuar alta, SDA amostrado baixa aps
o BRG expirou.
Aps o pino SCL est inativa, SCL amostrado
baixo antes SDA vai alto.
A condio de parada comea com SDA afirmou baixa.
Quando SDA amostrado baixo, o pino de SCL permitido
flutuar. Quando o pino amostrado elevada (arbitragem do relgio),
Gerador de Baud Rate carregado com SSPADD <6:00>
e faz a contagem regressiva para 0. Depois dos tempos BRG fora,
SDA
amostrado. Se SDA amostrado baixo, uma coliso de nibus tem
ocorreu. Isto devido a um outro mestre tenta
conduzir a dados '0 '. (Figura 19-33). Se o pino SCL
amostrados baixo antes SDA est autorizado a flutuar alto, um
nibus
coliso ocorre. Este outro caso de outro mestre
tentar conduzir um dado '0 '(Figura 19-34).
b)
FIGURA 19-33: COLISO BUS durante uma condio de STOP (caso 1)
TBRG TBRG TBRG
SDA amostrados
baixa aps TBRG,
definir BCLIF
SDA
SDA afirmou baixa
SCL
PEN
BCLIF
P
SSPIF
'0 '
'0 '
FIGURA 19-34: COLISO BUS durante uma condio de STOP (caso 2)
TBRG TBRG TBRG
SDA
Assert SDA
SCL
PEN
BCLIF
P
SSPIF
'0 '
'0 '
SCL vai baixa antes SDA vai alto,
definir BCLIF
DS39632E pgina 240 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 19-4:
Nome
INTCON
PIR1
PIE1
IPR1
PIR2
PIE2
IPR2
TRISC
TRISD(1)
SSPBUF
SSPADD
TMR2
PR2
SSPCON1
SSPCON2
SSPSTAT
Ficheiros associados com a operao I2C
Bit 7 Bit 6 Bit 5
TMR0IE
RCIF
RCIE
RCIP
USBIF
USBIE
USBIP
-
TRISD5
2C
Bit 4
INT0IE
TXIF
TXIE
TXIP
EEIF
EEIE
EEIP
-
TRISD4
Bit 3
RBIE
SSPIF
SSPIE
SSPIP
BCLIF
BCLIE
BCLIP
-
TRISD3
Bit 2
TMR0IF
CCP1IF
CCP1IE
CCP1IP
HLVDIF
HLVDIE
HLVDIP
TRISC2
TRISD2
O bit 1
INT0IF
TMR2IF
TMR2IE
TMR2IP
TMR3IF
TMR3IE
TMR3IP
TRISC1
TRISD1
Bit 0
RBIF
TMR1IF
TMR1IE
TMR1IP
CCP2IF
CCP2IE
CCP2IP
TRISC0
TRISD0
Restabelecer
Valores
na Pgina
53
56
56
56
56
56
56
56
56
54
54
54
54
GIE / GIEH PEIE / giel
SPPIF(1)
SPPIE(1)
SPPIP(1)
OSCFIF
OSCFIE
OSCFIP
TRISC7
TRISD7
ADIF
ADIE
ADIP
CMIF
CMIE
CMIP
TRISC6
TRISD6
MSSP buffer de recepo / transmisso Registrar
MSSP Address Register em modo I Slave.
MSSP Baud Rate Atualizar Registrar no modo I2C Mestre.
Timer2 Registrar
Timer2 Perodo Registrar
WCOL
GCEN
SMP
SSPOV
ACKSTAT
CKE
SSPEN
ACKDT
D / D
CKP
ACKEN
P
SSPM3
RCEN
S
SSPM2
PEN
R / W
SSPM1
RSEN
UA
SSPM0
SEN
BF
54
54
54
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados pelo MSSP no modo I2C .
Nota 1: Esses registros ou bits no so implementadas em dispositivos de 28 pinos.
v 2009 Microchip Technology Inc. DS39632E pgina 241
PIC18F2455/2550/4455/4550
NOTAS:
DS39632E pgina 242 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
20,0 REFORADA UNIVERSAL
SNCRONO
Asynchronous Receiver
TRANSMISSOR (EUSART)
Os pinos da USART avanado so multiplexados
com PORTC. Para configurar RC6/TX/CK e
RC7/RX/DT/SDO como EUSART:
SPEN bit (RCSTA <7>) deve ser definido (= 1)
TRISC <7> bit deve ser definido (= 1)
TRISC <6> bit deve ser definido (= 1)
Nota: O controle EUSART ser automaticamente
reconfigure o pino da entrada sada como
necessrio.
A Universal Synchronous Asynchronous aprimorada
Mdulo transmissor receptor (EUSART) um dos
dois mdulos de E / S serial. (Genericamente, o USART tambm
conhecido como um Communications Interface Serial ou SCI).
O EUSART pode ser configurado como um full-duplex
sistema assncrono que pode se comunicar com
dispositivos perifricos, tais como terminais de CRT e
computadores pessoais. Ele tambm pode ser configurada como
uma semi-
sistema sncrono duplex que pode comunicar
com os dispositivos perifricos, tais como a A / D ou D / D integrado
circuitos, EEPROMs seriais, etc
O mdulo USART avanado implementa adicional
recursos, incluindo deteco e taxa de transmisso automtica
calibrao, despertar automtico em sincronizao Quebra recep-
o e caractere de quebra de 12 bits transmitir. Estes tornam
idealmente adequado para utilizao em autocarros Rede Local
Interconnect
(LIN bus) sistemas.
O EUSART pode ser configurada da seguinte
Modos:
Asynchronous (full-duplex) com:
- Auto-wake-up em sinal de Interrupo
- Calibrao Auto-baud
- 12-bit transmisso caractere de quebra
Synchronous - Master (half-duplex), com
selecionvel polaridade relgio
Synchronous - Slave (half-duplex), com selecionvel
relgio polaridade
O funcionamento do mdulo USART reforada
controlada atravs de trs registros:
Transmitir Estado e Controle (TXSTA)
receber o status e Controle (RCSTA)
Controle de Taxa de Transmisso (BAUDCON)
Estes so detalhados nas prximas pginas em
Registrar 20-1, 20-2 e Registrar Registrar 20-3,
respectivamente.
v 2009 Microchip Technology Inc. DS39632E pgina 243
PIC18F2455/2550/4455/4550
CADASTRE-SE 20-1:
R/W-0
CSRC
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
TXSTA: TRANSMITIR ESTATUTO E CADASTRO DE CONTROLE
R/W-0
TX9
R/W-0
TXEN
(1)
R/W-0
SYNC
R/W-0
SENDB
R/W-0
BRGH
R-1
TRMT
R/W-0
TX9D
bit 0
CSRC: Clock Source Select bit
Modo assncrono:
No me importo.
Modo sncrono:
1= Modo Master (relgio gerado internamente a partir de BRG)
0= Modo Slave (relgio de fonte externa)
TX9: 9-Bit Transmitir Habilitar bit
1= Seleciona transmisso de 9 bits
0= Seleciona transmisso de 8 bits
TXEN: Transmitir Habilitar bit(1)
1= Transmitir habilitado
0= Transmitir desativado
SYNC: EUSART Mode Select bit
1= Modo sncrono
0= Modo assncrono
SENDB: Enviar Quebre bit Character
Modo assncrono:
1= Enviar Pausa Sync no lado de transmisso (desmarcada por hardware aps a concluso)
0= Sincronizao transmisso Quebra concluda
Modo sncrono:
No me importo.
BRGH: Alta taxa de transmisso Select bit
Modo assncrono:
1= Alta velocidade
0= Velocidade baixa
Modo sncrono:
No utilizado neste modo.
TRMT: Transmitir Shift Register bit Estado
1= TSR vazio
0= TSR completo
TX9D: Nono bit de dados de transmisso
Pode ser o endereo / bit de dados ou um bit de
paridade.
SREN / CREN substitui TXEN no modo de sincronizao com a ressalva de que SREN no tem efeito em Synchronous
Modo Slave.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
Nota 1:
DS39632E pgina 244 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
CADASTRE-SE 20-2:
R/W-0
SPEN
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
RCSTA: receber o status E REGISTRO DE CONTROLE
R/W-0
RX9
R/W-0
SREN
R/W-0
CREN
R/W-0
ADDEN
R-0
FERR
R-0
OERR
R-x
RX9D
bit 0
SPEN: Porta Serial Habilitar bit
1= Enabled porta Serial (configura RX / DT e TX / CK pinos como os pinos da porta serial)
0= Porta Serial desativado (realizada em Reset)
RX9: 9-Bit Receba Habilitar bit
1= Seleciona recepo de 9 bits
0= Seleciona recepo 8-bit
SREN: nico Receba Habilitar bit
Modo assncrono:
No me importo.
Modo sncrono - Master:
1= Permite nico receber
0= Desativa nico receber
Este bit apagado aps a recepo est completa.
Modo sncrono - Slave:
No me importo.
CREN: Continuous Receba Habilitar bit
Modo assncrono:
1= Permite receptor
0= Desativa o receptor
Modo sncrono:
1= Permite receber contnua at permitir bit CREN apagada (CREN substitui SREN)
0= Desativa contnua receber
ADDEN: Endereo Detectar Habilitar bit
Modo assncrono 9-bit (RX9 = 1):
1= Permite a deteco de endereo, permite interrupo e carrega o buffer de recepo quando RSR <8> est
definido
0= Desactiva deteco de endereo, todos os bytes so recebidos e nono bit pode ser usado como bit de paridade
Modo assncrono de 8 bits (= RX9 0):
No me importo.
FERR: Framing bit de erro
1= Erro Framing (pode ser atualizado atravs da leitura RCREG cadastro e receber no prximo byte vlido)
0= Nenhum erro de enquadramento
OERR: Superao bit de erro
1= Erro Superao (pode ser apagada, limpando bit CREN)
0= Sem erro de saturao
RX9D: 9 bits de dados recebidos
Este pode ser o endereo / bit de dados ou um bit de paridade e deve ser calculada pelo firmware
usurio.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
v 2009 Microchip Technology Inc. DS39632E pgina 245
PIC18F2455/2550/4455/4550
CADASTRE-SE 20-3:
R/W-0
ABDOVF
bit 7
Legenda:
R = pouco legvel
-N = Value at POR
bit 7
W = bit gravvel
'1 '= Bit definido
U = bit Unimplemented, ler como '0 '
'0 '= Bit eliminado x = Bit desconhecida
BAUDCON: BAUDIOS registro de controle
R-1
RCIDL
R/W-0
RXDTP
R/W-0
TXCKP
R/W-0
BRG16
U-0
-
R/W-0
WUE
R/W-0
ABDEN
bit 0
ABDOVF: Auto-Baud Aquisio Rollover bit Estado
1= A rollover BRG ocorreu durante a Auto-Baud Rate mode (deve ser limpo por software) Detectar
0N = BRG capotamento ocorreu
RCIDL: Receba Operao Ocioso bit Estado
1= Receber operao ocioso
0= Receber operao est ativo
RXDTP: Recebido Polaridade Dados Selecione bit
Modo assncrono:
1= Dados RX invertido
0= Dados RX recebido no invertido
Modos sncronos:
1Data = recebidas (DT) invertido. Estado de repouso um nvel baixo.
0N = inverso de dados (DT). Estado de repouso um nvel elevado.
TXCKP: Relgio e Dados Polaridade Selecione bit
Modo assncrono:
1= TX de dados invertido
0= TX de dados no invertido
Modos sncronos:
1= Clock (CK) invertido. Estado de repouso um nvel elevado.
0= Sem inverso do relgio (CK). Estado de repouso um nvel
baixo.
BRG16: 16-Bit Baud Rate Registre Habilitar bit
1= 16-bit Gerador Taxa Baud - SPBRGH e SPBRG
0= Gerador de Taxa de Transmisso de 8 bits - SPBRG apenas (modo compatvel), valor SPBRGH
ignorado
Unimplemented: Leia como '0 '
WUE: Wake-up Ativar bit
Modo assncrono:
1= EUSART vai continuar a provar o pino RX - interromper gerado na borda de descida; pouco apuradas em
hardware no seguinte borda de subida
0= RX pino no monitorados ou subida do sinal detectado
Modo sncrono:
No utilizado neste modo.
ABDEN: Auto-Baud Detectar Habilitar bit
Modo assncrono:
1= Ativar a medio da frequncia de transmisso do prximo caractere. Requer recepo de um campo Sync (55h);
apuradas em hardware aps a concluso.
0= Medio da taxa de Baud desativado ou concludas
Modo sncrono:
No utilizado neste modo.
bit 6
bit 5
4 bits
bit 3
bit 2
bit 1
bit 0
DS39632E pgina 246 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
20,1 Gerador de Baud Rate (BRG)
A RPP um dedicado de 8 bits ou de 16 bits, que o gerador
suporta tanto o sncrona e assncrona
modos da EUSART. Por padro, o BRG opera
no modo de 8 bits. Definir o bit BRG16 (BAUDCON <3>)
seleciona o modo de 16 bits.
O SPBRGH: SPBRG registo par controla o perodo
de um temporizador free-running. No modo assncrono, bits,
BRGH (TXSTA <2>) e BRG16 (BAUDCON <3>), tambm
controlar a taxa de transmisso. No modo sncrono, BRGH
ignorados. A Tabela 20-1 apresenta a frmula para o clculo
da taxa de transmisso para diferentes modos EUSART que
s se aplicam no modo Master (relgio gerado internamente).
Dada a taxa de transmisso desejada e FOSC, o mais prximo
valor inteiro para o SPBRGH: SPBRG registros pode ser
calculado usando as frmulas da Tabela 20-1. A partir da,
o erro na velocidade de transmisso pode ser determinado. Um
exemplo
clculo mostrado no Exemplo 20-1. Transmisso tpico
taxas e valores de erro para os vrios Asynchronous
modos so apresentados na Tabela 20-2. Pode ser vantajoso
para usar a alta taxa de transmisso (BRGH = 1), ou o BRG 16
bits
para reduzir a taxa de erro de transmisso, ou conseguir uma
transmisso lenta
taxa para a frequncia do oscilador rpido.
Escrevendo um novo valor para o SPBRGH: SPBRG registra
faz com que o temporizador BRG para ser reposto (ou limpo). Este
garante a BRG no espera por um estouro de temporizador
antes de emitir a nova taxa de transmisso.
20.1.1 OPERAO NO PODER de gesto
MODOS
O relgio do dispositivo utilizado para gerar a transmisso
desejada
taxa. Quando um dos modos de potncia gerenciados
entrou, a nova fonte de relgio pode estar operando em um
freqncia diferente. Isso pode exigir um ajuste
o valor do par de registradores SPBRG.
20.1.2 AMOSTRAGEM
Os dados sobre o pino de RX amostrado por trs vezes por um
circuito de deteco de maioria para determinar se um elevado ou
um baixo
nvel est presente no pino de RX.
TABELA 20-1:
SYNC
0
0
0
0
1
1
FRMULAS taxa de transmisso
BRG16
0
0
1
1
0
1
BRGH
0
1
0
1
x
x
Modo BRG / EUSART
8-bit/Asynchronous
8-bit/Asynchronous
16-bit/Asynchronous
16-bit/Asynchronous
8-bit/Synchronous
16-bit/Synchronous
FOSC / [4 (n + 1)]
Formula Taxa Baud
FOSC / [64 (n + 1)]
FOSC / [16 (n + 1)]
Bits de configurao
Legenda: x= No me importo, n = valor de SPBRGH: SPBRG par de registradores
v 2009 Microchip Technology Inc. DS39632E pgina 247
PIC18F2455/2550/4455/4550
Exemplo 20-1: CLCULO DE TRANSMISSO taxa de erro
Para um dispositivo com FOSC de 16 MHz, taxa de transmisso desejada de 9600, o modo assncrono, 8 bits BRG:
Desejado Baud Rate = FOSC / (64 ([SPBRGH: SPBRG] + 1))
Resolvendo para SPBRGH: SPBRG:
X = ((FOSC / desejado taxa de transmisso) / 64) - 1
= ((16000000/9600) / 64) - 1
= [25,042] 25 =
Calculado Taxa Baud = 16000000 / (64 (25 + 1))
= 9615
Erro = (Calculado Baud Rate - Taxa de transmisso desejado) / desejado Taxa Baud
= (9615 - 9600) / 9600 = 0,16%
TABELA 20-2:
Nome
TXSTA
RCSTA
SPBRGH
SPBRG
REGISTROS DE TRANSMISSO ASSOCIADA GERADOR DE TAXA
Bit 7
CSRC
SPEN
Bit 6
TX9
RX9
RCIDL
Bit 5
TXEN
SREN
RXDTP
Bit 4
SYNC
CREN
TXCKP
Bit 3
SENDB
ADDEN
BRG16
Bit 2
BRGH
FERR
-
O bit 1
TRMT
OERR
WUE
Bit 0
TX9D
RX9D
ABDEN
Repor Valores
na pgina
55
55
55
55
55
BAUDCON ABDOVF
EUSART Baud Rate Generator Register alta Byte
EUSART Baud Rate Generator Registrar Low Byte
Legenda: - = No implementado, ler como '0 '. Clulas sombreadas no so utilizados pela BRG.
DS39632E pgina 248 v 2009 Microchip Technology Inc.
PIC18F2455/2550/4455/4550
TABELA 20-3:
BAUD
TAXA
(K)
Velocidade Baud para MODOS assncrona
SYNC = 0, BRGH = 0, BRG16 = 0
FOSC = 20,000 MHz
Real
Taxa
(K)
-
1.221
2.404
9,766
19,531
62.500
104.167
%
Erro
-
1.73
0,16
1.73
1.73
8.51
-9,58
SPBRG
valor
(Decimal)
FOSC = 40,000 MHz
Real
Taxa
(K)
-
-
2.441
9.615
19,531
56,818
125.000
%
Erro
-
-
1.73
0,16
1.73
-1,36
8.51
SPBRG
valor
(Decimal)
FOSC = 10,000 MHz
Real
Taxa
(K)
-
1.202
2.404
9,766
19,531
52.083
78.125
%
Erro
-
0,16
0,16
1.73
1.73
-9,58
-32,18
SPBRG
valor
(Decimal)
FOSC = 8.000 MHz
Real
Taxa
(K)
-
1.201
2.403
9.615
-
-
-
%
Erro
-
-0,16
-0,16
-0,16
-
-
-
SPBRG
valor
(Decimal)
0.3
1.2
2.4
9,6
19.2
57.6
115,2
-
-
255
64
31
10
4
-
255
129
31
15
4
2
-
129
64
15
7
2
1
-
103
51
12
-
-
-
SYNC = 0, BRGH = 0, BRG16 = 0
BAUD
TAXA
(K)
FOSC = 4.000 MHz
Real
Taxa
(K)
0.300
1.202
2.404
8,929
20,833
62.500
62.500
%
Erro
0,16
0,16
0,16
-6,99
8.51
8.51
-45,75
SPBRG
valor
(Decimal)
FOSC = 2.000 MHz
Real
Taxa
(K)
0.300
1.201
2.403
-
-
-
-
%
Erro
-0,16
-0,16
-0,16
-
-
-
-
SPBRG
valor
(Decimal)
FOSC = 1.000 MHz
Real
Taxa
(K)
0.300
1.201
-
-
-
-
-
%
Erro
-0,16
-0,16
-
-
-
-
-
SPBRG
valor
(Decimal)
0.3
1.2
2.4
9,6
19.2
57.6
115,2
207
51
25
6
2
0
0
103
25
12
-
-
-
-
51
12
-
-
-
-
-
SYNC = 0, BRGH = 1, BRG16 = 0
BAUD
TAXA
(K)
FOSC = 40,000 MHz
Real
Taxa
(K)
-
-
-
9,766
19,231
58,140
113,636
%
Erro
-
-
-
1.73
0,16
0,94
-1,36
SPBRG
valor
(Decimal)
FOSC = 20,000 MHz
Real
Taxa
(K)
-
-
-
9.615
19,231
56,818
113,636
%
Erro
-
-
-
0,16
0,16
-1,36
-1,36
SPBRG
valor
(Decimal)
FOSC = 10,000 MHz
Real
Taxa
(K)
-
-
2.441
9.615
19,531
56,818
125.000
%
Erro
-
-
1.73
0,16
1.73
-1,36
8.51
SPBRG
valor
(Decimal)
FOSC = 8.000 MHz
Real
Taxa
(K)
-
-
2.403
9.615
19,230
55,555
-
%
Erro
-
-
-0,16
-0,16
-0,16
3.55
-
SPBRG
valor
(Decimal)
0.3
1.2
2.4
9,6
19.2
57.6
115,2
-
-
-
255
129
42
21
-
-
-
129
64
21
10
-
-
255
64
31
10
4
-
-
207
51
25
8
-
SYNC = 0, BRGH = 1, BRG16 = 0
BAUD
TAXA
(K)
FOSC = 4.000 MHz
Real
Taxa
(K)
-
1.202
2.404
9.615
19,231
62.500
125.000
%
Erro
-
0,16
0,16
0,16
0,16
8.51
8.51
SPBRG
valor
(Decimal)
FOSC = 2.000 MHz
Real
Taxa
(K)
-
1.201
2.403
9.615
-
-
-
%
Erro
-
-0,16
-0,16
-0,16
-
-
-
SPBRG
valor
(Decimal)
FOSC = 1.000 MHz
Real
Taxa
(K)
0.300
1.201
2.403
-
-
-
-
%
Erro
-0,16
-0,16
-0,16
-
-
-
-
SPBRG
valor
(Decimal)
0.3
1.2
2.4
9,6
19.2
57.6
115,2
-
207
103
25
12
3
1
-
103
51
12
-
-
-
207
51
25
-
-
-
-
v 2009 Microchip Technology Inc. DS39632E pgina 249
PIC18F2455/2550/4455/4550
TABELA 20-3:
BAUD
TAXA
(K)
Velocidade Baud para MODOS assncrona (CONTINUAO)
SYNC = 0, BRGH = 0, BRG16 = 1
FOSC = 20,000 MHz
Real
Taxa
(K)
0.300
1.200
2,399
9.615
19,231
56,818
113,636
%
Erro
0.02
-0.03
-0.03
0,16
0,16
-1,36
-1,36
SPBRG
valor
(Decimal)
FOSC = 40,000 MHz
Real
Taxa
(K)
0.300
1.200
2.402
9.615
19,231
58,140
113,636
%
Erro
0.00
0.02
0.06
0,16
0,16
0,94
-1,36
SPBRG
valor
(Decimal)
FOSC = 10,000 MHz
Real
Taxa
(K)
0.300
1.200
2.404
9.615
19,531
56,818
125.000
%
Erro
0.02
-0.03
0,16
0,16
1.73
-1,36
8.51
SPBRG
valor
(Decimal)
FOSC = 8.000 MHz
Real
Taxa
(K)
0.300
1.201
2.403
9.615
19,230
55,555
-
%
Erro
-0,04
-0,16
-0,16
-0,16
-0,16
3.55
-
SPBRG
valor
(Decimal)
0.3
1.2
2.4
9,6
19.2
57.6
115,2
8332
2082
1040
259
129
42
21
4165
1041
520
129
64
21
10
2082
520
259
64
31
10
4
1665
415
207
51
25
8
-
SYNC = 0, BRGH = 0, BRG16 = 1
BAUD
TAXA
(K)
FOSC = 4.000 MHz
Real
Taxa
(K)
0.300
1.202
2.404
9.615
19,231
62.500
125.000
%
Erro
0.04
0,16
0,16
0,16
0,16
8.51
8.51
SPBRG
valor
(Decimal)
FOSC = 2.000 MHz
Real
Taxa
(K)
0.300
1.201
2.403
9.615
-
-
-
%
Erro
-0,16
-0,16
-0,16
-0,16
-
-
-
SPBRG
valor
(Decimal)
FOSC = 1.000 MHz
Real
Taxa
(K)
0.300
1.201
2.403
-
-
-
-
%
Erro
-0,16
-0,16
-0,16
-
-
-
-
SPBRG
valor
(Decimal)
0.3
1.2
2.4
9,6
19.2
57.6
115,2
832
207
103
25
12
3
1
415
103
51
12
-
-
-
207
51
25
-
-
-
-
SYNC = 0, BRGH = 1, BRG16 = 1ou SYNC = 1, BRG16 = 1
BAUD
TAXA
(K)
FOSC = 40,000 MHz
Real
Taxa
(K)
0.300
1.200
2.400
9,606
19,193
57,803
114,943
%
Erro
0.00
0.00
0.02
0.06
-0.03
0.35
-0,22
SPBRG
valor
(Decimal)
FOSC = 20,000 MHz
Real
Taxa
(K)
0.300
1.200
2.400
9,596
19,231
57,471
116,279
%
Erro
0.00
0.02
0.02
-0.03
0,16
-0,22
0,94
SPBRG
valor
(D