Você está na página 1de 73

MICROPROCESSADORES 1

Professor : Francisco Jadilson

MICROPROCESSADORES 1

INTRODUO AOS SISTEMAS


MICROPROCESSADOS

MICROPROCESSADORES 1

Os sistemas microprocessados possibilitaram mudanas significativas em


muitos aspectos da vida moderna.
Nos Sistemas de Telecomunicaes:

Figura 1 Telecomunicaes.

MICROPROCESSADORES 1

Nos eletrodomsticos:

Figura 2 Entretenimento.

MICROPROCESSADORES 1

No setor de transportes:

Figura 3 Transportes.

MICROPROCESSADORES 1

Sistema Embarcado: um sistema computacional projetado para realizar


uma ou mais funes especficas.
Caracterizam-se por duas partes bsicas: o hardware e o firmware.

Figura 4 Diagrama bsico de um sistema microprocessado.

MICROPROCESSADORES 1

Hardware: circuitos integrados, condutores, chaves e demais


componentes eletrnicos.
Firmware: conjunto de instrues e dados armazenados em unidades de
memria.

Figura 5 Modem ADSL.


MICROPROCESSADORES 1

Elementos de Hardware:
Hardwares reconfigurveis ou FPGAs (Field Programmable Gate
Arrays): conjunto de blocos lgicos que podem ser configurados pelo
consumidor aps sua fabricao.

Figura 6 FPGA.
MICROPROCESSADORES 1

Microprocessadores: unidade central de processamento em um nico


circuito integrado.

Figura 7 Microprocessadores.
MICROPROCESSADORES 1

DSPs (Processadores de Sinais Digitais): microprocessadores


otimizados para o processamento de sinais digitais.

Figura 8 Kit de desenvolvimento com DSP.


MICROPROCESSADORES 1

10

Microcontroladores: incorporam alm da CPU outros circuitos


adicionais (memrias ROM e RAM, osciladores, conversores A/D, etc.) no
mesmo circuito integrado.

Figura 9 Carro comandado por microcontrolador.


MICROPROCESSADORES 1

11

Elementos de Software:
Firmware: conjunto ordenado de intrues armazenado em uma unidade
de memria que indica ao processador qual ao ele deve executar.
Ferramentas de desenvolvimento:
Compilador: traduz uma linguagem de alto nvel em linguagem
assembly e ento em linguagem de mquina;
Montador (Assembler): converte um algoritmo escrito em linguagem
assembly para uma linguagem especfica do prcessador (linguagem de
mquina);
Link-editor (Linker): interconecta diferentes trechos do programa;
Emulador: simula a operao de um microcontrolador (usado para
testes).

MICROPROCESSADORES 1

12

Ambiente de Desenvolvimento Integrado (IDE):


Aplicativo que rene todas as ferramentas de desenvolvimento.

Figura 10 Diagrama de um sistema de desenvolvimento para microcontrolador.


MICROPROCESSADORES 1

13

Figura 11 Etapas da programao de microcontroladores.


MICROPROCESSADORES 1

14

Arquiteturas: von Neumann x Harvard:


von Neumann:

Figura 12 Arquitetura von Neumann.

Apresenta uma menor quantidade de barramentos;


Velocidade de processamento limitada pela velocidade de acesso
memria.

MICROPROCESSADORES 1

15

Harvard:

Figura 13 Arquitetura Harvard.

Maior quantidade de barramentos;


Acesso simultneo de instrues e dados, melhorando o desempenho.

MICROPROCESSADORES 1

16

Arquiteturas: CISC x RISC:


CISC (Complex Instruction Set Computer):
Arquitetura capaz de executar centenas de instrues complexas;
Baseada em microprogramao;
Hardware complexo, mas com programao mais simples;
Codificao de instrues em tamanho variado;
RISC (Reduced Instruction Set Computer):
Conjunto simples e reduzido de instrues;
Instrues executadas diretamente pelo hardware sem necessidade de
microcdigo;
Hardware mais simples, entretanto programao mais difcil.

MICROPROCESSADORES 1

17

Tipos de memria:

Figura 14 Tipos de memrias ROM e RAM.

MICROPROCESSADORES 1

18

ROM (Read-Only Memory):


Memria no voltil, utilizada principalmente para acomodar o firmware
de sistemas embarcados.
PROM (Programmable ROM): pode ser escrita (programada) uma nica
vez, por meio de um dispositivo especial chamado programador de PROM.

Figura 15 Chips de memria PROM.


MICROPROCESSADORES 1

19

EPROM (Erasable Programmable ROM): pode ser apagada pela


exposio luz ultravioleta, e ento programada novamente.

Figura 16 Chips de memria EPROM.


MICROPROCESSADORES 1

20

EEPROM (Electrically Erasable Programmable ROM): permite que seu


contedo completo (bancos selecionados) seja eletricamente apagado e ento
reescrito eletricamente. A memria Flash o exemplo mais comum deste tipo
de memria.

Figura 17 Chips de memria EEPROM.


MICROPROCESSADORES 1

21

RAM (Random-Access Memory):


Memria voltil que permite que os dados armazenados sejam acessados
em qualquer ordem.
SRAM (Static RAM): usam flip-flops para armazenar bits, so mais
caras de produzir e mais rpidas e no precisam de ciclos de refresh. So
geralmente usadas como memria cache.
DRAM (Dynamic RAM): usam o par transistor-capacitor para armazenar
bits, so mais baratas e precisam de ciclos peridicos de refresh. So bastante
usadas em computadores.

MICROPROCESSADORES 1

22

MICROCONTROLADORES

MICROPROCESSADORES 1

23

Microcontroladores (uC, MCU) podem ser considerados pequenos


computadores em um nico circuito integrado contendo um ncleo de
processamento (CPU), memria, e perifricos de entrada/sada.

Figura 18 Microcontrolador Intel 8742 de 8bits, CPU de 12 MHz, 128 bytes de RAM e 2048
bytes de EPROM.
MICROPROCESSADORES 1

24

Figura 19 Diagrama de um microcontrolador.


MICROPROCESSADORES 1

25

O aumento crescente da demanda por eletrnicos cada vez mais


sofisticados (smartphones, ipads, tablets, etc.) tem aquecido o mercado de
microcontroladores.

Figura 20 Previses para o mercado de microcontroladores.


MICROPROCESSADORES 1

26

Arquitetura dos microcontroladores

Figura 21 Arquitetura bsica de um microcontrolador.


MICROPROCESSADORES 1

27

Conjunto de Registradores:
Conjunto de flip-flops que fornecem acesso aos diferentes subsistemas
do microcontrolador.
Podem estar associados ao armazenamento de informaes dentro do
microcontrolador (resultados de operaes, endereos, variveis, etc.).
Podem estar associados ao controle de subsistemas especficos
(comunicao serial, portas, temporizadores, conversores A/D, etc.).
A funo de cada registrador fornecida pelo fabricante.

MICROPROCESSADORES 1

28

Registradores de propsito geral: podem ser usados para armazenar


dados ou endereos.

Figura 22 Registrador de propsito geral.

MICROPROCESSADORES 1

29

Registradores de funes especias: controlam muitas funes do


microcontrolador (I/O, temporizadores, contadores, etc.).

(b)

(a)

Figura 23 Registradores de funes especiais: (a) controle do oscilador e acesso ao pino


externo; (b) controle dos pinos externos pela CPU.
MICROPROCESSADORES 1

30

Exemplos:
Acumulador:
microcontrolador.

usado

como

operando

em

vrias

instrues

do

Instrues:
add A, Rn: soma o contedo de Rn ao contedo do acumulador e
armazena o resultado no prprio acumulador;
anl A, #dado: realiza uma operao AND entre o valor #dado e o
contedo armazenado no acumulador.
MICROPROCESSADORES 1

31

Porta P0: espelha a situao atual dos pinos fsicos da porta P0.

Instrues:
mov P0, #00h: move o valor 00h (hexadecimal) para o registrador
P0, zerando (tenso igual a 0 V) todos os pinos desta porta.
setb P0.7: faz o pino 7 da porta P0 ficar em nvel lgico 1 (tenso
igual a 5 V).
clr P0.0: faz o pino 0 da porta P0 ficar em nvel lgico 0 (tenso
igual a 0 V).

MICROPROCESSADORES 1

32

Registrador IE (Interrupt Enable): habilita as interrupes desejadas.

Instruo:
mov IE, #81h: move o valor 81h para o registrador IE (EA = 1,
EX0 = 1). 81h = (10000001)2.
Os arquivos de cabealho (header) fornecem a ligao entre o nome
especfico do registrador e seus campos com sua localizao na memria.

MICROPROCESSADORES 1

33

Barramento de Endereos:
Conecta a CPU aos elementos de memria e perifricos.
2n de linhas de endereo posies endereveis de memria

Exemplo:
16 linhas de endereo = 65 536 posies de memria (64 kB).
endereo inicial = 0000h, endereo final = FFFFh.

Barramento de Dados:
Usado para transferir dados aos subsistemas do microcontrolador.
Barramentos comerciais: 4, 8, 16 e 32 bits.
A quantidade de linhas de dados (bits) determina o tamanho do argumento
de dados processado pela CPU.

MICROPROCESSADORES 1

34

Barramento de Controle:
Usado para enviar e receber sinais de controle.
Os sinais so enviados pela CPU para os demais subsistemas.

Figura 24 Barramentos de Endereo, Dados e Controle.


MICROPROCESSADORES 1

35

Memrias
Elementos de armazenamento dentro do microcontrolador.

Depsito de trabalho da CPU;

Armazenamento sequencial das


instrues (sequncia em que
foram escritas no programa).

Figura 25 Ilustrao de uma memria.

MICROPROCESSADORES 1

36

Estrutura lgica da memria:

Figura 26 Estrutura da memria.


MICROPROCESSADORES 1

37

CPU
uma unidade que monitora e controla todos os processos dentro do
microcontrolador.

Figura 27 Ilustrao de uma CPU.

MICROPROCESSADORES 1

38

A CPU consiste de subunidades, dentre as quais pode-se destacar:


Decodificador de instruo (Instruction Decoder): o circuito
eletrnico responsvel por decodificar as instrues, acionando outros
circuitos com base em tais instrues;
Unidade Lgica e Aritmtica (ALU): executa todas as operaes
matemticas e lgicas sobre os dados;
Acumulador (Accumulator): um registrador de funo especial
reservado para armazenar todos os dados relacionados com as operaes
realizadas pela ALU.
PSW (Program Status Word): um registrador de funo especial
reservado para relatar o estado do nmero armazenado no acumulador
(maior que zero, menor que zero, igual a zero, etc.).

MICROPROCESSADORES 1

39

Subsistemas de tempo:
Manipulam dados e sinais relacionados com o tempo.
Osciladores

O oscilador o responsvel pelo


fornecimento
do
sinal
de
marcapasso
para
os
subsistemas do microcontrolador.

Figura 28 Circuito oscilador.


MICROPROCESSADORES 1

40

Temporizadores e contadores

Temporizadores e contadores so
os responsveis pela contagem de
tempo e eventos.

Figura 29 Circuito oscilador.


MICROPROCESSADORES 1

41

Aplicaes:
Medir parmetros dos sinais
de entrada, tais como perodo
e ciclo de trabalho;
Gerar sinais peridicos de
sada;
Contar eventos;

Gerar sinais PWM.

Figura 30 Sinais relacionados com o tempo.

MICROPROCESSADORES 1

42

Portas de entrada/sada:
Fornecem acesso aos elementos externos ao chip.
Geralmente so compartilhadas com outras funes (converso A/D,
comunicao serial, etc.)

Figura 31 Porta de entrada/sada.


MICROPROCESSADORES 1

43

Watchdog:
um temporizador conectado a um oscilador interno que reinicializa o
microcontrolador toda vez que o valor mximo da contagem atingido.
usado para evitar travamentos na execuo de um programa.

Figura 32 Ilustrao do funcionamento do circuito watchdog.


MICROPROCESSADORES 1

44

Conversores analgico-digital:
Circuitos que convertem um valor analgico em um nmero binrio, o
qual enviado CPU para um posterior processamento.

Figura 33 Circuito conversor A/D.


MICROPROCESSADORES 1

45

Figura 34 Relao entre a tenso na entrada do conversor e o valor digital obtido na converso.

So aplicados no processamento de sinais digitais (osciloscpios digitais,


placas de captura, etc.).
MICROPROCESSADORES 1

46

Sistemas de comunicao:
Promovem a comunicao com outros elementos ou dispositivos.
Define-se basicamente dois tipos de comunicao: paralela e serial.

Figura 35 Diagrama de conexo paralela.


MICROPROCESSADORES 1

47

Figura 36 Diagrama de conexo serial.

MICROPROCESSADORES 1

48

Comunicao paralela:
maior taxa de transferncia de dados que a conexo serial;
utilizada em pequenas distncias;
exemplos: ATA, PCI e FSB.

Comunicao serial:
requer menos condutores, portanto ocupa menos espao;
utilizada em distncias maiores;
mais barata de implementar (CIs so mais caros quando eles tm mais
pinos);
exemplos: RS-232, SPI, USB, Ethernet, Serial ATA, PCI Express, entre
outras.
MICROPROCESSADORES 1

49

Comunicao serial assncrona:


usa bits de start e stop para determinar incio e fim da transmisso
dos dados;
mais econmica;
excesso de overhead;
mais lenta que a comunicao sncrona;
UART (Universal Asynchronous Receiver/Transmiter) e SCI (Serial
Communications Interface).
Comunicao serial sncrona:
sinal de clock usado para manter o sincronismo;
necessidade de um condutor adicional para carregar o sinal de
sincronismo;
SPI (Serial Peripheral Interface).
MICROPROCESSADORES 1

50

Figura 37 Diagramas de comunicao serial assncrona e sncrona.


MICROPROCESSADORES 1

51

Mecanismo de Handshake:
Usados para manter a integridade dos dados em uma transferncia.
Usa um bit a mais (bit de paridade) para detectar o erro em um bit.
H dois tipos de paridade: par e mpar.
Paridade par: o nmero total de bits, incluindo o bit de paridade, deve
ser par;
Paridade mpar: o nmero total de bits, incluindo o bit de paridade,
deve ser mpar.

MICROPROCESSADORES 1

52

Tabela 1 Esquema de codificao de paridade.

8 bits incluindo o bit de paridade

7 bits de dados
(nmero de bits 1)

Paridade par

Paridade mpar

0000000 (0)

00000000

10000000

1010001 (3)

11010001

01010001

1101001 (4)

01101001

11101001

1111111 (7)

11111111

01111111

MICROPROCESSADORES 1

53

Sistema de Interrupo:
Interrompem a operao normal do microcontrolador para atender
eventos de alta prioridade.
Rotinas de interrupo so as responsveis pela execuo das aes
especficas do evento que provocou a interrupo.
Podem ser geradas por um mal funcionamento de hardware ou software,
ou por um evento externo que exige a ateno da CPU.
Interrupes teis: interrupo em tempo real (atualizar relgio, checar
itens crticos do sistema), interrupo externa (alertar uma mal funcionamento
de hardware).
MICROPROCESSADORES 1

54

Conjunto de instrues:
Aritmticas (+, , , x);
Lgicas (AND, OR, EXOR, operando com byte);
Transferncia de dados (mov);
Booleanas (AND, OR, EXOR, operando com bit);
Ramificao (deciso e/ou desvio).
Exemplos:
dec A = decrementa registrador A;
cjne A, #data, rel = compara e salta se no for igual.

MICROPROCESSADORES 1

55

Exemplo: observe o programa a seguir

1000:

mov A, #5
cjne A, #10, 1000
clear A
mov B, #20

Figura 38 Exemplo de cdigo em linguagem


Assembler.

MICROPROCESSADORES 1

56

Principais familias de microcontroladores:


ARM (Advanced RISC Machine Mquina RISC Avanada):
- Vrios fabricantes (Atmel, Texas Instruments, NXP, etc.);
- Mais utilizados atualmente;
- Comuns em quase todos os dispositivos portteis (smart phones,
ipads, etc.);
- Conjunto poderoso de instrues, baixo consumo de energia, fcil
integrao e muitas ferramentas de desenvolvimento;

Figura 39 Microcontroladores ARM: o Cortex A15 (previsto para os smartphones de 2012) e o


Maverick (comum em muitos tablets).
MICROPROCESSADORES 1

57

AVR:
- Fabricado pela Atmel;
- Possui uma arquitetura RISC;
- Execuo rpida, baixo consumo de energia, ferramentas de
desenvolvimento gratuitas;
- Muito popular entre hobistas;

Figura 40 Microcontroladores AVR Atmega328 (usado em uma placa arduino) e Atmega48


(usado em um acelermetro personalizado).
MICROPROCESSADORES 1

58

8051:
- Fabricado inicialemente pela Intel;
- Possui arquiteturas CISC e Harvard;
- Atualmente usado no desenvolvimento de muitos
microcontroladores modernos da Silabs, NXP, Analog Devices, entre outros;
- Muitos cdigos exemplo e ferramentas de desenvolvimento de fcil
manuseio;
- Usados em muitas calculadoras, relgios e brinquedos;

Figura 41 8051 (produzido pela Intel) e ADUC814 (fabricado pela Analog Devices), que possui um
ncleo de processamento baseado no 8051.
MICROPROCESSADORES 1

59

PIC:
- Fabricado pela Microchip;
- Possui arquiteturas RISc e Harvard;
- Baixo custo, vrios modelos, ferramentas de desenvolvimento
gratuitas e/ou de baixo custo;
- Muito popular entre hobistas e entusiastas de eletrnica.

Figura 42 Microcontrolador PIC16F677 e PIC16F84 (usado em um projeto personalizado).

MICROPROCESSADORES 1

60

Arduino:
Plataforma aberta de prototipagem eletrnica baseada em hardware e
software flexveis.
Hardware baseado em microcontroladores AVR da Atmel e expansvel por
meio de conectores padres e shields.

Figura 43 Placa de desenvolvimento arduino e hardware de um servidor HTTP formado por


uma placa arduino e duas shields.
MICROPROCESSADORES 1

61

Ambiente IDE (editor, compilador, downloader) para o desenvolvimento


dos firmwares.
Softwares, cdigos-exemplo e projetos facilmente encontrados em sites
oficiais.

Figura 44 Esquema de programao e comunicao com o PC e outros elementos (sensores e


atuadores).
MICROPROCESSADORES 1

62

Ampla variedade de shields disponveis para a compra.

Figura 45 Algumas shields disponveis comercialmente: Ethernet, LCD e Joystick.

MICROPROCESSADORES 1

63

Tipos de encapsulamento:
O encapsulamento do circuito integrado o estgio final do processo
de fabricao de um dispositivo semicondutor, seguido pela estapa de testes.
Cermicos:
- Melhor integridade mecnica do encapsulamento;
- Melhor dissipao trmica;
- Isolao hermtica;
- Custo superior.
Plsticos:
- Baixa absoro de umidade;
- Rigidez suficiente para proteger o encapsulamento;
- Resistncia ao calor para suportar operaes de solda;
- Baixo custo.

MICROPROCESSADORES 1

64

Figura 46 Variaes dos encapsulamentos.


MICROPROCESSADORES 1

65

Formas mais comuns de encapsulamento:


DIP (dual in-line package): um encapsulamento retangular com
conjuntos paralelos de pinos para conexo eltrica.
So referenciados de acordo com a quantidade de pinos: DIPn.
Podem ser conectados diretamente ou por meio de soquetes.

Figura 47 Encapsulamentos DIP e soquetes.

MICROPROCESSADORES 1

66

O die fica localizado no centro do encapsulamento e fios ultrafinos fazem


a conexo dele aos pinos.

Figura 48 Vista lateral de um circuito integrado DIP e ilustrao de um die.

Figura 49 Numerao de CIs tipo DIP.


MICROPROCESSADORES 1

67

SOP (small outline package): semelhante ao DIP mas com uma


distncia entre pinos adjacentes menor e terminais com o formato de asa de
gaivota.
Frequentemente encontrados em circuitos de memrias RAM e Flash.

Figura 50 Ilustraes de encapsulamentos SOIC e um CI tipo SOIC montado sobre uma PCB.

MICROPROCESSADORES 1

68

QFP (quad flap pack): encapsulamento que possui terminais que se


estendem de cada um dos quatro lados de seu corpo.
Permite uma quantidade relativamente maior de entradas/sadas.
Comum em algumas memrias Flash e dispositivos programveis.
Exige maior habilidade na sua conexo com a PCB (Printed Circuit
Board).

Figura 51 Microcontroladores Z80 e PIC18F8720, com encapsulamento QFP.


MICROPROCESSADORES 1

69

QFN (quad flap no leads): muito similar ao QFP, mas sem terminais para
conexo com a PCB.
Conexo feita diretamente do corpo do CI.
Bom desempenho trmico e baixa indutncia (aplicaes de alta
frequncia).
Soldagem e dessoldagem mais difcil (necessidade de estaes de
retrabalho).
Comuns entre alguns microcontroladores e chips de BIOS.

Figura 52 Encapsulamentos do tipo QFN e um chip BIOS em soquete QFN.


MICROPROCESSADORES 1

70

PGA (pin grid array): possui uma matriz quadrada de pinos que cobrem
certa rea na parte inferior do CI.
Conexo por meio de furos ou soquetes.
PCBs relativamente mais caras.
Usados em alguns processadores.
Grande quantidade de terminais.

Figura 53 Encapsulamento PGA de um processador Intel e soquete PGA.


MICROPROCESSADORES 1

71

BGA (ball grid array): matriz de esferas de solda loalizada na parte


inferior do CI.
Conexo na superfcie da placa sem a necessidade de furos.
Trilhas da placa devem ter o mesmo formato da matriz de esferas de solda.
Grande quantidade de entradas/sadas.
Difcil tarefa de alinhamento e soldagem.

Figura 54 Encapsulamento do tipo BGA.


MICROPROCESSADORES 1

72

LGA (land grid array): conjunto de pads cobrindo a parte inferior do


CI.
Soldado diretamente na placa ou conectado por meio de soquete.
Comuns em processadores Intel nos tipos: LGA775, LGA1156 e LGA
1366.
Matriz de pinos fica localizada na placa ao invs de no corpo do CI.

Figura 55 Encapsulamentos do tipo LGA e soquetes LGA (775 e 1366), respectivamente.


MICROPROCESSADORES 1

73

Você também pode gostar