Professional Documents
Culture Documents
CAPTULO 1 INTRODUO
1.1.
MICROCONTROLADOR X MICROPROCESSADOR
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.
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.
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.
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
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.
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.
1.5.
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.
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.
1.6.
UNIDADE DE MEMRIA
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.
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).
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
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.
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.
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.