Você está na página 1de 8

UPF Engenharia Eltrica

EEE133 - Microprocessadores I Prof. Eduardo Appel

CAPTULO 1 INTRODUO
1.1.

MICROCONTROLADOR X MICROPROCESSADOR

Um microcontrolador difere de um microprocessador em diversas formas.


A primeira, e mais importante, a sua funcionalidade. Para que um microprocessador possa ser usado, outros componentes tais
como memria, tm que ser ligados ao chip. Mesmo sendo os microprocessadores considerados excelentes mquinas
matemticas, o seu ponto fraco a sua pouca possibilidade de se comunicar com perifricos.
Ento, para que possa se comunicar com perifricos, o microprocessador tem que usar circuitos especiais, como chips externos.
Resumindo, os microprocessadores so o corao dos computadores. Era assim no incio, e ainda nos dias de hoje se mantm.
Por outro lado, o microcontrolador foi projetado para ser um tudo em um. No so necessrios componentes externos para as
suas aplicaes, porque todos os circuitos que pertencem aos perifricos, j esto dentro do chip. Poupa tempo e espao no
projeto de um sistema.

Figura 1 Microprocessador x Microcontrolador

1.2.

ARQUITETURA INTERNA

Todos os microcontroladores modernos usam uma de duas arquiteturas: Harvard (RISC) ou von-Neumann (CISC). Em resumo,
so duas formas distintas de trocar a informao entre a CPU e a Memria.

UPF Engenharia Eltrica


EEE133 - Microprocessadores I Prof. Eduardo Appel

ARQUITETURA VON-NEUMANN
Os microcontroladores que usam esta tecnologia, s tem disponvel uma rea de memria, e um barramento de dados de N bits.
Como todos os dados so trocados, usando estas N linhas, este barramento sobrecarregado e a comunicao extremamente
lenta e ineficiente.
A CPU pode ler uma instruo, ou ler/escrever dados de/para a memria. Ambas as situaes ao mesmo tempo so impossveis,
pois as instrues partilham o barramento com os dados.

Figura 2 Arquitetura von-Neumann

ARQUITETURA HARVARD
Os microcontroladores que usam esta arquitetura dispem de dois barramentos de dados distintos. Um de N bits e liga a CPU
RAM (memria de dados). O outro tem vrias linhas (12, 14 ou 16) e liga a CPU ROM (memria de programa).
Assim, a CPU pode ler uma instruo, ao mesmo tempo em que faz um acesso memria de dados.

Figura 3 Arquitetura Harvard


As vantagens deste modelo so as seguintes:

Todos os dados so de 8 bits. Como o barramento usado para a leitura do programa tem 12, 14 ou 16 linhas, ambos
(instrues e dados) podem ser lidos simultaneamente. Assim, todas as instrues so executadas em apenas um ciclo.
A nica exceo so as instrues de salto, que so executadas em dois ciclos.
Como a ROM e RAM so separadas, a CPU pode executar duas instrues simultaneamente. Enquanto a leitura/escrita
da RAM est sendo feita, a prxima instruo est sendo lida pelo outro barramento.
2

UPF Engenharia Eltrica


EEE133 - Microprocessadores I Prof. Eduardo Appel

1.3.

REGISTRO OU REGISTRADOR

Um registro um circuito eletrnico que consegue memorizar o estado de um byte. Portanto formado por N bits que definem
o tamanho do registrador. O elemento bsico de um registro um flip-flop.

Figura 4 Registrador

1.4.

SFR / SPECIAL FUNCTION REGISTER - REGISTRO DE FUNO ESPECIAL

Alm dos registros que no tem qualquer funo predeterminada, todos os microcontroladores tm alguns registros em que a
sua funo predeterminada pelo fabricante. Os seus bits esto interligados fisicamente aos circuitos internos, tais como
temporizadores, conversores A/D, osciladores, portas e outros, o que significa que so responsveis pela configurao, e
funcionamento do respectivo perifrico do microcontrolador. Como um byte tem oito bits, como se fossem oito interruptores
que comandam outros pequenos circuitos dentro do chip. Os SFRs tm esta funo.

Figura 5 Registo de Funo Especial (SFR)

1.5.

PORTAS DE ENTRADA/SADA - I/O

Para tornar o microcontrolador com alguma utilidade, o mesmo tem que estar ligado ao seu exterior, tais como perifricos. Cada
microcontrolador tem um ou mais registros chamados de Portas, ligados aos pinos do mesmo.
O porqu de I/O deve-se ao fato que o programador pode alterar a funo a seu belo prazer, e conforme a aplicao atribuda
porta. Como exemplo, vamos supor que queremos comandar trs LEDs, e simultaneamente controlar o estado lgico de cinco
botes: algumas portas tm de ser configuradas para que haja trs sadas e cinco entradas.
Esta configurao simples e feita por software, o que significa tambm que a funo pode ser alterada durante a operao,
possibilidade denominada (on the fly).
Uma das especificaes mais importantes dos pinos de I/O, a corrente mxima que os mesmos podem suportar.

UPF Engenharia Eltrica


EEE133 - Microprocessadores I Prof. Eduardo Appel

Para a maioria dos microcontroladores, a corrente possvel de drenar de um pino a suficiente para ativar um LED, ou outro
dispositivo similar de baixa corrente (5-25mA). Se o microcontrolador tiver muitos pinos de I/O, ento a corrente mxima de um
s pino menor. Resumidamente, no possvel que todos os pinos suportem a mxima corrente, se houver mais de 80 pinos
em um microcontrolador. A corrente mxima descrita nas especificaes partilhada entre todas as portas de I/O.
Outra funo importante a de que podem ter resistncias de pull-up (polarizao positiva). Estas resistncias ligam os pinos
alimentao positiva, e o seu efeito visvel quando o pino est configurado como entrada.
As novas verses de microcontroladores j tm estas resistncias configurveis por software.
Normalmente cada porta de I/O controlada por um SFR, o que significa que, cada bit deste registro determina o estado do
pino correspondente do microcontrolador. Como exemplo, escrevendo 1 lgico no bit deste SFR, o pino da porta
correspondente automaticamente configurado como entrada. Escrevendo 0 lgico no SFR, o pino da porta correspondente
configurado como sada.
Se escrevermos 0 em um bit do registro da Porta, esse pino apresentar 0v. Se escrevermos 1 no mesmo bit, o pino vai
apresentar 5v.

Figura 6 - Porta de I/O

1.6.

UNIDADE DE MEMRIA

A memria a parte do microcontrolador usada para o armazenamento de dados e programa.


Cada endereo de memria corresponde a uma posio de memria. O contedo dessa posio conhecido atravs do seu
endereamento. A memria tanto pode ser lida de como pode ser escrita para.
Existem vrios tipos de memria dentro do microcontrolador.
FLASH - Este tipo de memria foi inventada pela Intel nos anos 80. O seu contedo pode ser escrito/apagado quase que
infinitamente. Os microcontroladores com memria Flash so muito uteis para aprendizagem, investigao e desenvolvimento.
Devido sua popularidade, a maioria dos microcontroladores so fabricados com este tipo de memria.
RAM - Random Access Memory: Este tipo de memria voltil, o que significa que quando se desliga a alimentao do chip, a
sua informao desaparece. usada para o armazenamento temporrio de dados criados e usados durante a operao do
microcontrolador. Como exemplo, se o programa faz uma adio, necessrio haver um registro que tenha o valor da soma.
Para esse fim, um dos registros da RAM chamado de soma e usado para armazenar o resultado da adio.
4

UPF Engenharia Eltrica


EEE133 - Microprocessadores I Prof. Eduardo Appel

EEPROM - Electrically Erasable Programmable ROM: ROM programvel que se pode apagar eletricamente.
O contedo desta memria pode ser mudado durante a operao, e o seu contedo no perdido quando se desliga a
alimentao do microcontrolador. Este tipo de memria usado para guardar valores criados durante a operao, que devem
ser permanente armazenados.

Figura 7 Memria

1.7.

CPU - UNIDADE CENTRAL DE PROCESSAMENTO

Como o seu nome sugere, esta a unidade que monitora e controla todos os processos dentro do microcontrolador.
Consiste em vrias subunidades, as mais importantes so:
Decodificador de Instrues: a parte eletrnica que reconhece as instrues de programa, e faz funcionar os outros
circuitos. O conjunto de instrues que diferente para cada famlia de microcontroladores mostra as capacidades do circuito.
ALU: Unidade Lgica e Aritmtica: responsvel por todas as operaes lgicas e aritmticas.
Acumulador: um registro SFR responsvel pela operao da ALU. como um registro de trabalho, usado para armazenar
todos os dados que so usados para executar uma operao, e que tambm armazena os resultados prontos para serem usados
para a continuao do processamento. Um dos SFRs, chamado de Status, contm informao sobre o estado dos dados
armazenados no Acumulador sob a forma de flags sinalizadores (o nmero maior ou menor que zero, overflow, carry, etc).

Figura 8 Unidade Central de Processamento


5

UPF Engenharia Eltrica


EEE133 - Microprocessadores I Prof. Eduardo Appel

1.8.

BARRAMENTO

Fisicamente o barramento constitudo por 8, 16 ou mais condutores. Existem dois tipos de barramento: o de endereamento e
o de dados. O barramento de endereamento consiste no nmero de linhas necessrias para poder enderear a memria.
usado para transmitir o endereo da CPU para a Memria. A capacidade de endereamento de um microcontrolador pode ser
N
definida pela seguinte relao 2 , onde N o nmero de bits do barramento. O barramento de dados possui a largura dos dados
que vo ser trabalhados, e no caso do dispositivo que iremos estudar de 8 bits ou largura de fios. usado para ligar todos os
circuitos dentro do microcontrolador.

1.9.

OSCILADOR

Pulsos dados pelo oscilador possibilitam a operao sncrona de todos os circuitos do microcontrolador. O mdulo oscilador
normalmente configurado para usar um cristal de quartzo, ou um ressoador cermico, para ter a sua oscilao estabilizada. Se
no houver por parte da aplicao necessidade de estabilidade da oscilao ento pode usar-se um oscilador RC
(resistncia/capacitor).
importante salientar que as instrues no so executas ao ritmo imposto pelo oscilador, mas algumas vezes mais lento. Isto
acontece porque cada instruo executada em vrios passos. Em alguns microcontroladores o mesmo nmero de ciclos
necessrio para qualquer instruo, enquanto que em outros, o tempo de execuo no o mesmo para todas as instrues. Se
o sistema usa um cristal de 20 MHz, o tempo de execuo de uma instruo no de 50ns, mas 200ns, 400 ou 800ns,
dependendo do tipo de microcontrolador usado.

Figura 9 Oscilador

1.10.

CIRCUITO DE ALIMENTAO

H duas situaes que merecem ateno relacionadas alimentao do microcontrolador:


Brown-Out, um estado potencialmente perigoso, e que acontece no momento em que o microcontrolador vai ser desligado,
ou em situaes onde a energia de alimentao cai para certo limite devido ao rudo eltrico.
Como o microcontrolador formado por vrios circuitos com diferentes necessidades de nvel de tenso, este estado pode
causar uma perda significativa em seu desempenho. Para proteg-lo este circuito faz um reset imediato a toda a eletrnica
interna quando a tenso de alimentao desce abaixo de um nvel pr-determinado.
Pino Reset, normalmente marcado como MCLR (Master Clear Reset), serve para fazer o Reset externo do microcontrolador,
aplicando nvel lgico 0 ou 1, dependendo do tipo de microcontrolador usado. No caso do chip no ter circuito de Brown-Out,
um simples circuito externo de Brown-Out pode ser ligado a este pino.
6

UPF Engenharia Eltrica


EEE133 - Microprocessadores I Prof. Eduardo Appel

1.11.

TEMPORIZADORES E CONTADORES

O microcontrolador usa normalmente um cristal de quartzo para funcionar. Mesmo que no seja a soluo mais simples, h
muitas razes para isso. A frequncia do oscilador definida de maneira precisa e muito estvel, e os pulsos originados tm
sempre a mesma largura, o que os torna ideais para medies de tempo. Estes osciladores so usados em relgios de quartzo.

Figura 10 Temporizadores/Contadores
Se for necessrio medir o tempo entre dois eventos, suficiente contar os pulsos enviados pelo oscilador. Isto exatamente o
que o Temporizador faz.
Muitos programas usam estes cronmetros miniatura, que so SFR de 8 ou 16 bits, e o seu contedo automaticamente
incrementado a cada pulso recebido. Quando um registro chegar ao fim da contagem (255 ou 65535), uma Interrupo gerada
ou ento gerada uma sinalizao.
Se os temporizadores usam um oscilador interno de quartzo, ento possvel medir o tempo entre dois eventos (se o valor do
registro T1 no momento inicial, e T2 no momento final, ento o tempo decorrido igual ao resultado da subtrao T2-T1). Se
os temporizadores usam pulsos externos, ento o temporizador transformado em contador.

COMO FUNCIONA UM TEMPORIZADOR


Na prtica, os pulsos que chegam do oscilador de quartzo a cada ciclo de mquina, ou atravs do divisor, vo incrementar
(somar uma unidade) o valor do registro contador do temporizador. Se uma instruo (um ciclo de mquina) durar por quatro
perodos do oscilador de quartzo, ento o nmero vai mudar um milho de vezes por segundo, ou a cada microsegundo (us).

Figura 11 Funcionamento do temporizador


7

UPF Engenharia Eltrica


EEE133 - Microprocessadores I Prof. Eduardo Appel

USO DO DIVISOR NO FUNCIONAMENTO DO TEMPORIZADOR


Um divisor um dispositivo eletrnico usado para reduzir a frequncia, por um fator pr-determinado tambm conhecido como
prescaler. O que significa que, para gerar um pulso na sua sada, necessrio fazer chegar 1, 2, 4, 8 ou mais pulsos sua
entrada. Este circuito parte integrante do microcontrolador, e o seu fator de diviso pode ser alterado pelo software. usado
quando necessrio medir perodos de tempo longos.

Figura 12 Divisor no funcionamento do Temporizador

CONTADORES
Se o temporizador for incrementado com pulsos do exterior, ento o mesmo torna-se num contador. O circuito no mudou,
mantm-se o mesmo. A nica diferena que neste caso os pulsos que sero contados chegam atravs das portas, e a sua
durao nunca definida. Esta a razo pela qual no podem ser usados para medio de tempo, embora os seus fins sejam
imensos.
Desde a contagem de peas numa linha de montagem, quantidade de passos que o motor andou, nmero de passageiros numa
fila, etc. As possibilidades so vastas, e so dependentes dos sensores usados.

1.12.

COMO ESCOLHER O MICROCONTROLADOR CERTO PARA A APLICAO?

Antes de comear a desenvolver um sistema baseado em microcontrolador, deve-se equacionar o seguinte:

quantas entradas/sadas so necessrias?


comunicaes srie?
conversor A/D?
quantidade de memria (programa e dados)?
quantidade de temporizadores?
interfaces de comunicao?
outro...

Quando se define muito bem os requisitos do projeto, a grande oferta naturalmente filtrada, e muito mais simples fazer a
escolha adequada.
Por ltimo, fazer a escolha relacionada ao nmero de unidades do produto, e o preo por unidade.