Sie sind auf Seite 1von 20

microcontroladores PIC Outros Circuitos Internos

Outros circuitos internos


Oscilador, EEPROM e Reset

Como se pode ver pela gura abaixo, o relgio pode ser gerado por um de dois osciladores internos:

Dois oscliadores internos

Um Oscilador Externo instalado na proximidade do microcontrolador, e ligado aos pinos OSC1 e OSC2.
chamado de externo, porque consiste em electrnica externa que gera o sinal de relgio e a estabilizao de
frequncia, tal como um cristal de quartzo, ressoador cermico ou resistncia-condensador.

O modo do oscilador escolhido por bits que so enviados durante a programao fsica, numa chamada
Palavra de Congurao, ou Fusveis.

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 178
microcontroladores PIC Outros Circuitos Internos

O oscilador interno, consiste em dois osciladores internos separados:

O HFINTOSC um oscilador interno de alta-frequncia, que funciona a 8MHz. O microcontrolador pode


usar a fonte de relgio a essa velocidade, ou dividi-la com um divisor.

O LFINTOSC um oscilador interno de baixa-frequncia, que funciona a 31KHz. O seu relgio usado
para o Watch-dog e temporizadores Power-up, mas pode tambm ser usado como fonte de relgio para todo
o microcontrolador.

O relgio do sistema pode ser escolhido entre externo e interno, atravs do bit SCS - System Clock Select, do
registo OSCCON.

Registo OSCCON

O registo OSCCON controla o relgio de sistema, e as opes de seleco da frequncia. Contm os seguintes
bit:

Bits de seleco de frequncia, IRCF2-IRCF0


Bits de estado da frequncia, HTS e LTS
Bits de controlo do relgio do sistema, OSTA e SCS

IRCF2-IRCF0 - Bits de seleco da Frequncia do Oscilador Interno. A combinao destes bits determina a
taxa de diviso. A frequncia de relgio do oscilador interno tambm determinada desta forma.

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 179
microcontroladores PIC Outros Circuitos Internos

IRCF2 IRCF1 IRCF0 Frequency OSC.


1 1 1 8 MHz HFINTOSC
1 1 0 4 MHz HFINTOSC
1 0 1 2 MHz HFINTOSC
1 0 0 1 MHz HFINTOSC
0 1 1 500 kHz HFINTOSC
0 1 0 250 kHz HFINTOSC
0 0 1 125 kHz HFINTOSC
0 0 0 31 kHz LFINTOSC

OSTS - Bits de estado do Start-up Time-out do Oscilador. Indica que fonte de relgio est, no momento, em
uso. apenas de leitura.
1 - Oscilador externo em uso
0 - Um dos osciladores internos est em uso (HFINTOSC ou LFINTOSC)

HTS - bit de estado do HFINTOSC (125KHz - 8MHz). Indica se o oscilador de alta-frequncia est a
funcionar com estabilidade
1 - HFINTOSC est estavel
0 - HFINTOSC est instavel

LTS - bit de estado do LFINTOSC (31KHz). Indica se o oscilador de baixa-frequncia est a funcionar com
estabilidade
1 - LFINTOSC est estavel
0 - LFINTOSC est instavel

SCS - Bit de seleco do Relgio do Sistema. Determina qual o oscilador a usar como fonte de relgio
1 - O oscilador interno usado como fonte de relgio do sistema
0 - O oscilador externo usado como fonte de relgio do sistema

O modo do oscilador escolhido por bits que so enviados durante a programao fsica, numa chamada
Palavra de Congurao, ou Fusveis.

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 180
microcontroladores PIC Outros Circuitos Internos

Modos de Relgio Externo


De maneira a habilitar o oscilador externo a funcionar a diferentes velocidades, e a usar diferentes componentes
para a estabilizao da frequncia, este pode ser congurado por um de vrios modos.

A seleco do modo pode ser incluida junto com o software, no momento da escrita, ou ento pode ser ajustada
no software de programao no PC.

Durante a programao, os bytes da Palavra de Congurao - Fusiveis, so escritos na memria ROM do


microcontrolador, e guardados em registos especiais, que no esto disponiveis para o o programador. com
base nestes bits, que o microcontrolador sabe o que fazer.

Congurao dos Fusiveis do PIC

Modo EC - Oscilador Externo

O modo de relgio externo, EC, usa o relgio do sistema congurado para oscilador externo. A frequncia
deste relgio ilimitada (0-20MHz).

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 181
microcontroladores PIC Outros Circuitos Internos

Este modo tem as seguintes vantagens:

A fonte de relgio externo ligada ao pino OSC1, e o pino OSC2 est disponivel para I/O geral
possivel sincronizar o funcionamento do microcontrolador, com o resto da electrnica
Neste modo, o microcontrolador arranca o funcionamento assim que o sistema energizado
Se se parar o relgio externo temporariamente, o microcontrolador congela o funcionamento, deixando
todos os dados intactos. Assim que se restabelecer o relgio, o microcontrolador resume o funcionamento,
do ponto de onde parou, como se nada tivesse acontecido

Oscilador Externo em modo EC

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 182
microcontroladores PIC Outros Circuitos Internos

Modo LP, XT ou HS - Oscilador Externo

Dois tipos diferentes de cristais de quartzo

Os modos LP, XT e HS, suportam o uso do oscilador interno, para congurar a fonte de relgio. A frequn-
cia desta fonte determinada por cristais de quartzo, ou ressoadores cermicos, ligados aos pinos OSC1 e
OSC2.

Dependendo do tipo de cristal usado, escolher um dos seguintes modos:

Modo LP (Low Power - Baixa Potncia) - usado apenas para cristais de quartzo de baixa-frequncia. Este
modo foi desenhado para acolher cristais de 32.768KHz, normalmente usados para relgios de quartzo. So
simples de reconhecer, pela sua forma cilndrica, e o consumo de corrente a mais baixa de todos os modos.

Modo XT - usado para cristais de quartzo de frequncias at os 8MHz. O consumo de corrente mediano.

Modo HS (High Speed - Alta Velocidade) - usado para cristais quartzo de frequncias acima dos 8MHz. O
consumo de corrente o mais elevado.

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 183
microcontroladores PIC Outros Circuitos Internos

Esquema elctrico do Oscilador Externo, e de alguns componentes adicionais

Ressoador Cermico no modo XT ou HS

Ressoador cermico

Os ressoador cermicos tem caractersticas bastante similares aos cristais de quartzo. Por isso so ligados da
mesma maneira. Mas tem a vantagem de serem muito menos onerosos, no tendo to boa estabilidade de
frequncia como os cristais. So usados para frequncias de relgio entre os 100KHz e os 20MHz.

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 184
microcontroladores PIC Outros Circuitos Internos

Modo RC e RCIO - Oscilador Externo

H certamente muitas vantagens em usar elementos para estabilizao de frequncia. Mas, por vezes, so per-
feitamente desnecessrios.
suciente que o oscilador funcione a uma frequncia no denida, e a soluo mais simples e menos onerosa,
usar uma resistncia-condensador para fazer o oscilador funcionar.
H dois modos:

Modo RC:

Neste modo, o circuito RC ligado ao pino OSC1, como se


mostra na gura. O pino OSC2 tem na sua sada, a frequn-
cia do oscilador RC, dividido por 4. Este sinal pode ser usado
para calibrao, sincronizao ou outros.

Modo RCIO:

Similar ao anterior, com a diferena de que o pino OSC2


usado como um I/O geral

Em ambos os casos, recomendado usar componentes como mostram nas guras.


A frequncia deste oscilador calculada pela frmula f = 1 / T , onde:

f = Frequncia [Hertz]
T = R*C = constante de tempo [segundos]
R = Resistncia [Ohm]
C = Capacidade [Farad]

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 185
microcontroladores PIC Outros Circuitos Internos

Modos de Relgio Interno


O oscilador interno consiste em dois osciladores separados, que podem ser escolhidos como fonte de relgio
do sistema:

O oscilador HFINTOSC calibrado de fbrica, e oscila a 8MHz. Esta frequncia pode ser ajustada pelo
programador, usado bits do registo OSCTUNE.
O oscilador LFINTOSC no calibrado de fbrica, e oscila a 31KHz.

Da mesma forma que o oscilador externo, o interno tambm pode funcionar em vrios modos. O modo selec-
cionado da mesma maneira que o oscilador externo - pelos bits da Palavra de Congurao - Fusiveis.

Modo INTOSC - Oscilador Interno

Neste modo, o pino OSC1 est disponivel para I/O


geral, enquanto que o pino OSC2 tem disponivel a
frequncia de onscilao interna dividida por 4.

Modo INTOSCIO - Oscilador Interno

Neste modo, ambos os pinos OSC1 e OSC2 esto


disponiveis para I/O.

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 186
microcontroladores PIC Outros Circuitos Internos

Congurao do Oscilador Interno


O oscilador interno consiste em dois circuitos separados.

1.
O oscilador interno de alta-frequncia HFINTOSC, est ligado a um divisor de frequncia. calibrado de
fbrica, e funciona a 8MHz. Usando o divisor, este oscilador pode ter na sua sada, uma de sete frequncias, que
podem ser escolhidas pelos bits IRCF2-IRCF0 do registo OSCCON.

O HFINTOSC ligado, escolhendo uma de sete frequncias (entre 125KHz e 8MHz), e activando o bit
SCS do OSCCON. Como se pode ver pela gura abaixo, toda a congurao realizada pelos bits do registo
OSCCON.

Conguraes do Oscilador Interno

2.
O oscilador interno de baixa-frequncia LFINTOSC, funciona a 31KHz e no vem calibrado de fbrica.
activado, escolhendo esta frequncias (bits no OSCCON), e activando o bit SCS do mesmo registo.

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 187
microcontroladores PIC Outros Circuitos Internos

Modo de Arranque de Relgio a Duas-Velocidades


O Modo de Arranque de Relgio a Duas-Velocidades, usado para dar poupanas energticas adicionais,
quando o microcontrolador funciona em modo Sleep.

Quando congurado no modo LP, XT ou HS, o oscilador externo vai estar desligado quando em Sleep, de
maneira a reduzir o consumo mdio energtico do microcontrolador.

Quando as condies para acordar esto reunidas, o microcontrolador no vai retomar o servio automatica-
mente, porque tem que aguardar que o sinal de relgio que estavel. Este atraso de exactamente 1024 pulsos.
Depois destes, o microcontrolador procede com a execuo do programa.

O problema que, quase sempre, so apenas umas poucas instrues executadas, antes de o microcontrolador
entrar em Sleep. Signica que, na maior parte do tempo, a energia desperdiada.
Este problema solucionado, usando o oscilador interno para a execuo do programa, enquanto os 1024
pulsos so contados. Seguidamente, e assim que o oscilador externo car estvel, vai automaticamente tomar o
lugar principal. Todo o processo habilitado, activando o bit IESO nos Fusiveis.

Fail-Safe Clock Monitor - FSCM - Monitor contra falhas de Relgio

O FSCM monitoriza o funcionamento do oscilador externo, e permite, ao microcontrolador, continuar a ex-


ecuo do programa, mesmo que o oscilador externo falhe por alguma razo. Neste caso, o oscilador interno
assume a operao.

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 188
microcontroladores PIC Outros Circuitos Internos

Monitor de Relgio contra falhas

O FSCM detecta a falha do oscilador, comparando as fontes de relgio Interna e Externa. Caso o oscilador
esterno demore mais de 2 milisegundos a chegar aos pinos do microcontrolador, a fonte de relgio mudada
automaticamente para o oscilador interno, que continua a operao, controlado pelos bits do OSCCON.
Quando o bit OSFIE do registo PIE2 estiver activo, uma interrupo gerada.
O relgio de sistema continuar a ser o interno, at que o oscilador externo retome o funcionamento. A tran-
sio feita automaticamente.

Este mdulo activado, pela congurao do bit FCMEN nos Fusiveis, aquando da programao fsica do
microcontrolador.

Registo OSCTUNE

Quaisquer modicaes no registo OSCTUNE, afectam a frequncia HFINTOSC, mas no a LFINTOSC.


Tambm, no h indicao durante a operao, de que houve mudana.

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 189
microcontroladores PIC Outros Circuitos Internos

TUN4-TUN0 - Bits de Sintonizao da Frequncia. Pela combinao destes cinco bit, a frequncia do oscila-
dor de 8MHz varia. Desta maneira, as frequncias obtidas pelo divisor, tambm mudam.

TUN4 TUN3 TUN2 TUN1 TUN0 Frequncia


0 1 1 1 1 Mxima
0 1 1 1 0
0 1 1 0 1
. . . . .
. . . . .
0 0 0 0 1
0 0 0 0 0 Calibrado
1 1 1 1 1
. . . . .
. . . . .
1 0 0 1 0
1 0 0 0 1
1 0 0 0 0 Mnima

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 190
microcontroladores PIC Outros Circuitos Internos

Memria EEPROM
A EEPROM no pertence, nem memria do programa (ROM FLASH), nem memria de dados (RAM),
mas sim a um grupo especial. Mesmo estas posies de memria no sendo facil e rapidamente acessiveis como
os outros registos, so de grande importncia pois, os dados da EEPROM, so permanentemente gravados. Os
dados da EEPROM podem ser alterados a qualquer momento. Devido a estas excepcionais qualidades, cada
byte de EEPROM valioso.

O PIC estudado neste manual tem 256 posies de EEPROM, controlados pelos bits dos seguintes registos:

EECON1 - registo de controlo


EECON2 - registo de controlo
EEDAT - grava dados prontos para ler/escrever
EEADR - grava endereo a ser acedido

No entanto, o EECON2 no um registo verdadeiro, pois no existe sicamente. apenas usado na sequncia
de escrita.

Os registos EEDATH e EEADRH, pertencem ao mesmo grupo de registos usados durante a escrita/leitura
da EEPROM. Ambos so udados, tambm, para escrita/leitura da memria do programa (ROM FLASH).
Como esta considerada uma zona de risco, pois no queremos inadvertidamente apagar o programa do mi-
crocontrolador, ca o aviso.

Registo EECON1

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 191
microcontroladores PIC Outros Circuitos Internos

EEPGD - Bit de seleco de acesso memria de Programa ou EEPROM de Dados


1 - Acede memria de Programa, ROM FLASH
0 - Acede memria de Dados, EEPROM

WRERR - Flag de error na EEPROM


1 - A operao de escrita foi prematuramente terminada e um erro ocorreu
0 - A operao de escrita terminada

WREN - Bit de habilitao da escrita da EEPROM


1 - Escrita na EEPROM permitida
0 - Escrita na EEPROM proibida

WR - Bit de controlo da Escrita


1 - D incio escrita na EEPROM
0 - Escrita para a EEPROM est completa

RD - Bit de controlo da Leitura


1 - D incio leitura da EEPROM
0 - Leitura da EEPROM desactivada

Leitura da EEPROM

De modo a se poder ler da EEPROM, o seguinte procedimento dever ser executado:

1. Escrever um endereo (0x00 a 0xFF) no registo EEADR


2. Seleccionar o acesso EEPROM, pelo bit EEPGD no registo EECON1
3. Para ler a posio, activar o bit RD no mesmo registo
4. Os dados so armazenados no registo EEDAT, e prontos a serem usados.

O seguinte exemplo mostra a leitura da EEPROM:

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 192
microcontroladores PIC Outros Circuitos Internos

BSF STATUS,RP1 ;
BCF STATUS,RP0 ; Access bank 2
MOVF ADDRESS,W ; Move address to the W register
MOVWF EEADR ; Write address
BSF STATUS,RP0 ; Access bank 3
BCF EECON1,EEPGD ; Select EEPROM
BSF EECON1,RD ; Read data
BCF STATUS,RP0 ; Access bank 2
MOVF EEDATA,W ; Data is stored in the W register

Escrita da EEPROM

De modo a escrever na EEPROM, deve escrever-se o endereo no registo EEADR, e depois o byte de dados
no registo EEDAT. Seguidamente necessrio fazer uma sequncia de segurana, para iniciar a escrita de cada
byte. As interrupes devem ser desligadas durante esta sequncia.

O seguinte exemplo mostra a escrita na EEPROM:

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 193
microcontroladores PIC Outros Circuitos Internos

BSF STATUS,RP1
BSF STATUS,RP0
BTFSC EECON,WR1 ; Wait for the previous write to complete
GOTO $-1 ;
BCF STATUS,RP0 ; Bank 2
MOVF ADDRESS,W ; Move address to W
MOVWF EEADR ; Write address
MOVF DATA,W ; Move data to W
MOVWF EEDATA ; Write data
BSF STATUS,RP0 ; Bank 3
BCF EECON1,EEPGD ; Select EEPROM
BSF EECON1,WREN ; Write to EEPROM enabled
BCF INCON,GIE ; All interrupts disabled
MOVLW 55h ; Required sequence start
MOVWF EECON2
MOVLW AAh
MOVWF EECON2 ; Required sequence end
BSF EECON1,WR
BSF INTCON,GIE ; Interrupts enabled
BCF EECON1,WREN ; Write to EEPROM disabled

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 194
microcontroladores PIC Outros Circuitos Internos

Reset! Black-out, Brown-out ou Ruidos?


No Reset, o microcontrolador imediatamente pra o funcionamento, e limpa os seus registos.

O sinal de Reset pode ser gerado externamente a qualquer momento, pelo nivel lgizo 0 no pino MCLR. Se
necessrio, tambm pode ser gerado pela electrnica interna. O Power-on gera sempre um Reset. Nomeada-
mente, devido a vrios eventos que acontecem quando a fonte de alimentao est ligada (maus contactos de
interruptores, arcos elctricos, tenso a subir vagarosamente, estabilizao gradual da frequncia de relgio,
etc), necessrio forar um atraso de tempo, antes do microcontrolador iniciar o funcionamento.
Dois temporizadores internos - PWRT e OST, esto encarregados deste servio. O primeiro pode ser ligado/
desligado durante a execuo do programa.

Funciona da seguinte maneira:

Quando a fonte de alimentao alcana os 1.2-1.7V,


o circuito de Power-up pe o microcontrolador
em Reset, por aproximadamente 72 milisegundos.
Imediatamente a este temporizador ter terminado,
outro sinal de Reset gerado pelo Oscilador de
Start-up, que aguarda 1024 periodos do oscilador
de quartzo. Quando este atraso termina, marcado a
T Reset na gura, e o pino MCLR estiver a lgico 1,
o microcontrolador d incio execuo da primeira
instruo do programa. Atraso de Incio do Oscilador

H, ainda, mais dois Resets, que podem ocorrer durante o funcionamento, bem como no momento em que a
energia desligada.

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 195
microcontroladores PIC Outros Circuitos Internos

Reset por Black-out - Falha de Energia Sbita

O Reset de Black-out acontece quando a energia de


alimentao desligada. Nesse caso, o microcontro-
lador no tem tempo para realizar nenhuma funo
imprevisivel, simplesmente porque a tenso cai
abruptamente abaixo do seu valor mnimo.
Por outras palavras, no possivel fazer nada quando
esta situao acontece.

Perda de Energia Sbita

Reset por Brown-out - Descida de Tenso Lenta e Gradual

Quando a tenso de alimentao desce lentamente,


tpico de sistemas alimentados a baterias, a electrni-
ca interna gradualmente pra o seu funcionamento,
e o chamado reset por brown-out acontece. Neste
caso, antes do microcontrolador parar a execuo do
programa, h uma grave perigo de que, circuitos que
trabalhem a uma tenso superior, comecem a trabal-
har de forma descontrolada. Esta problemtica, tam-
bm, pode causar alteraes fatais no programa em si,
porque est gravado na memria FLASH. Perda de Energia Gradual

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 196
microcontroladores PIC Outros Circuitos Internos

Ruidos

Este um tipo especial de Reset por Brown-out, que


ocorre em ambientes industriais, quando a fonte de
alimentao oscila por um momento, e deixa cair o
seu valor abaixo do nvel mnimo.
Mesmo que curtos, estes ruidos na linha de alimenta-
o, podem causar problemas no funcionamento do
dispositivo.

Rudos

Pino de MCLR

Um nvel lgico 0 no pino MCLR, faz um Reset imediato. recomendado que seja ligado como mostra a
gura abaixo. A funo dos componentes adicionais, a de conseguir suster um estado lgico 1 puro, durante
o funcionamento normal.

De maneira a evitar qualquer erro que possa acontecer


com um Reset por Brown-out, este microcontrolador
tem incluido um sistema de defesa.
um circuito simples, mas ecaz, que reage de cada
vez que a tenso de alimentao desce abaixo de 4V,
e se matm assim por mais de 100 microsegundos.
Nesse caso, este circuito gera um sinal de Reset e,
desde esse momento, todo o microcontrolador fun-
ciona como se tivesse sido acabado de ligar.

ant nio s rgio se na


ww w.se na en g.com :: pr ojec t os e s olu es em ele c t r n i c a
+ 351 .96 70 33 20 9 197

Das könnte Ihnen auch gefallen