Você está na página 1de 11

MECATRÔNICA

LPAM – Linguagem de Programação Aplicada à Mecatrônica

AULA 04: Oscilador e ‘Configuration Bits’ do MCU

OSCILADOR
Como o funcionamento de um sistema computacional é baseado numa sequência de ações, essas ações
devem ser executadas numa certa cadência. Para obter essa cadência é utilizado um sinal de sincronismo
ou clock. Os microcontroladores PIC possuem um circuito de oscilação interna, isto é, são capazes de
gerar seu próprio clock com acréscimo de poucos (ou nenhum) componentes externos. Existem diversos
tipos diferentes de oscilador, e cada componente da família utiliza alguns deles. A frequência máxima do
PIC18F4520 é de 40MHz. Em muitos outros componentes da família PIC18 essa frequência está limitada
a 40 MHz. Por fim, a família PIC16 aceita frequência máxima de 20MHz. O PIC18 apresenta os seguintes
tipos modos de oscilador (nem todos estão presente em todos os componentes da linha):

▪ Modos a cristal/ressonador cerâmico:

o LP: Cristal, baixas frequências (Low Frequency (Power) Crystal);

o XT: Cristal, frequências intermediárias (Crystal/Resonator);

o HS: Cristal, altas frequências (High Speed Crystal/Resonator);

o HSPLL: Cristal de alta frequência com PLL (High Speed with Phase Locked Loop)

▪ Oscilador RC Externo (External Resistor/Capacitor);

o Com ou sem saída de clock

o Necessita de um resistor (opcionalmente um capacitor) externo

▪ Oscilador RC Interno (Internal Resistor/Capacitor);

o Com ou sem saída de clock

o Oscilador interno do microcontrolador, sem a necessidade de componentes adicionais.

▪ Entrada de clock externo (External Clock in)

o Com ou sem saída de clock;

o Clock proveniente de outras partes do circuito.


Oscilador a cristal (LP, XT e HS)

Os modos LP, XT e HS utilizam um cristal ou ressonador cerâmico para estabilizar o clock. A diferença
está na faixa de frequência de cada modo. O modo LP refere-se a cristal/ressonador cerâmico de baixa
frequência. Esse modo trabalha com frequências de oscilação de até 200 kHz e nele conseguimos o menor
consumo dos três modos em questão.

O modo XT abrange as frequências de 200 kHz até 4 MHz e apresenta um consumo médio.
O modo HS é para frequências de 4 a 25 MHz e tem o mais alto consumo. Cada faixa de frequência possui
um ganho do circuito oscilador, que é ajustado de forma diferente para cada modo. E recomendado que se use
o modo adequado para cada frequência, caso contrário pode ocorrer mau funcionamento do oscilador. Além
do cristal ou do ressonador, nos modos LP, XT e HS, devem existir capacitores ligados dos terminais do cristal
terra, conforme mostra a figura.

ATENÇÃO: OS VALORES DOS CAPACITORES MUDAM CONFORME O MODELO DO


MICROCONTROLADOR.
Capacitores maiores aumentam a estabilidade do oscilador, mas também aumenta o tempo de
partida. O tempo de partida do oscilador é o tempo necessário para que o oscilador se estabilize,
pois a oscilação não ocorre de forma imediata assim que o circuito é alimentado. Esse tempo
depende de uma série de fatores, além dos capacitores, com temperatura, tensão de alimentação
e até capacitâncias parasitas do layout da placa.

Comparação entre os modos de oscilador

Um modo de oscilador por si só não é melhor que outro. A questão é qual se adapta melhora
necessidade de cada projeto.
BITS DE CONFIGURAÇÃO
O PIC possui uma série de funcionalidades ligadas à CPU, chamadas de características especiais
(Special Features). As principais dentre elas são tratadas abaixo. A maioria dessas características é
configurável através dos Bits de Configuração (Configuration Bits) no processo de gravação do
microcontrolador através de endereços especiais. A definição dessas configurações também pode ser feita no
código em C através da diretiva #pragma config, como será tratado quando forem estudas as diretivas em
linguagem C.

Modos de Baixo Consumo

A arquitetura do PIC18 prevê três tipos de modos de operação: normal (Run), Idle e Sleep.
Combinados com as possibilidades de escolha de fonte de clock é possível utilizar 7 modos diferentes de
consumo.

No modo normal, a CPU do microcontrolador e os periféricos recebem sinal do da fonte de clock


selecionada e o programa é executado. No modo Sleep, os osciladores do microcontrolador são desligados.
Nem CPU nem os periféricos recebem sinal de clock (com exceção do TIMER1, caso tenha seu próprio
oscilador ativo). Nesse modo o consumo de energia é mínimo, porém deve-se considerar os atrasos antes do
retorno a execução normal causados pelo tempo de partida dos osciladores.

No modo Idle os osciladores permanecem em operação e a penas o sinal de clock da CPU é cortado;
os periféricos continuam recebendo o sinal da fonte de clock selecionada normalmente. Nesse caso temos uma
redução de consumo menor que a proporcionada pelo modo Sleep, porém o processador volta a operar
imediatamente ao retornar ao modo normal, já que os osciladores continuam operando (não a tempo de
partida). Outro benefício do modo Idle é que os periféricos continuam recebendo sinal de clock, podendo
causar o retorno ao modo normal por interrupção.

RESET

Os PIC18 possuem diversas fontes de reset e funcionalidades associadas que visam principalmente
manter a confiabilidade e segurança das aplicações. As fontes de reset possíveis são:

▪ POR (Power-On Reset), causado pela detecção da alimentação quando o circuito é ligado;

▪ Nível lógico baixo no pino MCLR durante a execução normal;

▪ Nível lógico baixo no pino MCLR com o microcontrolador em modo SLEEP;

▪ Estouro do WatchDog timer durante a operação normal;

▪ BOR (Brown-out Reset) reset por queda de tensão;

▪ Instrução RESET;
▪ Estouro da pilha (overflow e underflow);

A forma mais simples de reset é através do pino MCLR: o microcontrolador reseta quanto um
nível lógico é aplicado a esse pino. No PIC18F4520 pode-se desabilitar a função de reset do pino
MCLR. Nesse caso ele passa a operar como um pino de entrada do PORTE. Isso é feito via bit de
configuração.

POR - Power-On Reset

Essa funcionalidade detecta quando o circuito é ligado, percebendo a subida da tensão de


alimentação, e realiza o reset do microcontrolador. Dessa forma podemos dispensar o resistor e
capacitor tradicionalmente ligados ao terminal de reset para gerar um reset quando o sistema é
ligado. O terminal MCLR pode ser ligado diretamente ao nível lógico alto sendo recomendado
utilizar um resistor de 10k ligando-o à VDD. Dessa forma também o pino MCLR pode estar
disponível para gravação in-circuit ou para ser usado como entrada se configurado com I/O. Associado ao
POR existem duas funcionalidades interessantes: PWRT e OST.

PWRT - Power-Up Timer

É útil, pois permite ao sistema ter tempo de se estabilizar (tensão, reset dos demais componentes, etc.)
antes do programa começar a ser executado. O PWRT (Power-up Timer) é um timer que mantém o
microcontrolador em estado de reset por aproximadamente 65,5ms no PIC18F4520 após POR, permitindo que
a alimentação do circuito se estabilize. Essa funcionalidade pode ser habilitada ou não.

OST - Oscillator Start-Up Timer

Já o OST (Oscillator Start-up Timer) mantém o microcontrolador em estado de reset durante os


primeiros 1024 períodos do oscilador, de forma que o programa seja executado somente quando o oscilador
já estiver perfeitamente estabilizado. Essa funcionalidade é sempre ativa nos modos de oscilador a cristal.

BOR - Brown-Out Reset

Essa funcionalidade visa resetar o sistema se houver uma queda na tensão de alimentação. Quando a
tensão cai abaixo dos limites tolerados para o circuito os resultados são imprevisíveis. Há situações nas quais
é interessante que quando ocorra uma queda dessas o sistema seja resetado. Nos PIC18 a tensão de limiar para
o BOR é configurável. Para o PIC18F4520 essa tensão pode ser 2,05V, 2,79V, 4,33V ou 4,59V. Para outros
componentes, consulte o manual específico. O BOR pode ser habilitado ou desabilitado. Uma condição de
queda de tensão só é caracterizada se a tensão cair abaixo do limiar escolhido por mais de 100µs.
No PIC18F4520 existe ainda a possibilidade de ter o BOR controlador por software, através do bit SBOREN
do registro RCON; nesse caso a faixa de tensão é a escolhida na configuração. Quando o BOR é usado
recomenda-se que também o PWRT esteja ativo.
Watch-Dog Timer

Esse timer de 8 bits, que é baseado em um oscilador INTRC, independente do oscilador principal, gera
um reset quando "estoura". Ele é importante em situações em que, por qualquer motivo, o microcontrolador
"trava". Quando habilitado ele deve ser zerado a intervalos regulares menores que seu tempo máximo pela
instrução CLRWDT. Se o programa "para" e o Watch-Dog não é zerado, tendo sido habilitada essa função na
gravação, ocorre o reset. O Watch-Dog do PIC18 pode ser habilitado ou não na gravação do microcontrolador.

Diretivas

Diretivas podem ser descritas como comandos dados ao compilador, indicado a ações que devem ser
feitas no momento da compilação. Elas podem ou não gerar código que efetivamente vai ser executado pelo
microcontrolador, já que sua função é orientar a compilação do programa. O padrão ANSI C prevê uma grande
variedade de diretivas. Além disso, o padrão prevê uma diretiva para criação de novas diretivas, chamada
#pragma, de forma que diferentes compiladores possam oferecer a seus usuários opções que não estão
previstas no padrão ANSI. Das diversas diretivas disponíveis enfocaremos apenas e quem tem maior uso neste
curso, apresentadas abaixo.

Você também pode gostar