62
José dos Santos Garcia Neto Microcontroladores Semana da Tecnologia

José dos Santos Garcia Neto Microcontroladores da Tecnologia.pdf · registro contador de programa e sem interrupções. A Americana CTC pediu à INTEL e à Texas um microprocessador

Embed Size (px)

Citation preview

José dos Santos Garcia Neto

Microcontroladores

Semana da Tecnologia

Onde tudo começa .....

Elemento do Químico: Silício

Símbolo: Si

Número atômico: 14

Peso atômico: 28.0855 (3) r

Número de grupo: 14

Número de período: 3

Bloco: p

Estado Físico: sólido a 298 K

Cor: escuro cinzento

Classificação: Semi-metálico

Disponibilidade: Silício está presente no sol, nas estrelas e é um

componente principal de uma classe de meteoritos. Silício compõe

25.7% da crosta da terra através do peso e é o segundo elemento

mais abundante, só perde para o oxigênio. É achado em grande

parte como óxidos de silício como areia (sílica), quartzo, cristal de

pedra, ametista, ágata, pederneira, jaspe e opala. Também é achado

silício em minerais como amiantos, barro e mica.

Silício é importante para os vegetais e para a vida animal, é um

ingrediente importante na composição do aço. Carboneto de silício é

um abrasivos importante. Trabalhadores submetidos ao silício em

suspensão por longos períodos, podem contrair doença pulmonar

séria conhecida como silicosis.

Silício elementar transmite mais que 95% de todos os comprimentos

de onda de infravermelho e foi usado em laser para produzir luz

coerente a 456 nm.

Luz coerente é aquela formada por ondas de mesma freqüência, fase e direção. É a luz que se rege pelo "princípio

da coerência".

O SILÍCIO.

Configuração física do interior de um microcontrolador, as trilhas no interior

dos componentes tem de 0,09 a 0,13 mícron . (1 mícron = 1x10-6

m)

Jazida de Silício

Petrolina – Brasil

Produção e dopagem das

pastilhas de silício.

Pastilhas de silício.

Pastilha unitária de um

componente.

Componente semicondutor

Ciclo parcial da produção de semicondutores.

HISTÓRICO.

Linha do Tempo, Curiosidades, Comparativos

Observemos o histórico da evolução das CPU's, seu uso e suas capacidades

ao longo do tempo, desde a concepção do Microprocessador em 1969.

Através da comparação dos dispositivos que faziam (fazem) uso das diversas

tecnologias podemos ter uma noção do desempenho atingido pelas unidades

mais famosas .

HISTÓRICO.

1969 - Uma equipe de engenheiros japoneses pertencentes à companhia BUSICOM chega aos Estados

Unidos com a encomenda de alguns circuitos integrados para calculadoras a serem implementados

segundo os seus projetos. A proposta foi entregue à INTEL e Marcian Hoff foi o responsável pela sua

concretização. Como ele tinha tido experiência de trabalho com um computador (PC) PDP8, lembrou-se de

apresentar uma solução substancialmente diferente em vez da construção sugerida. Esta solução

pressupunha que a função do circuito integrado seria determinada por um programa nele armazenado. Isso

significava que a configuração deveria ser mais simples, mas também era preciso muito mais memória que

no caso do projeto proposto pelos engenheiros japoneses. Depois de algum tempo, embora os

engenheiros japoneses tenham tentado encontrar uma solução mais fácil, a idéia de Marcian venceu e o

primeiro microprocessador nasceu. Ao transformar esta idéia num produto concreto, Frederico Faggin foi

de uma grande utilidade para a INTEL. Ele transferiu-se para a INTEL e, em somente 9 meses, teve

sucesso na criação de um produto real a partir da sua primeira concepção. Em 1971, a INTEL adquiriu os

direitos sobre a venda deste bloco integral. Primeiro eles compraram a licença da companhia BUSICOM

que não tinha a mínima percepção do tesouro que possuía. Neste mesmo ano, lançou no mercado um

microprocessador designado por 4004.

OBS: História do microprocessador visto do lado de Busicom.

A gestão Busicom concordou no novo design Marcian Hoff e os chips foram entregues no final de

1970. Em meados de 1971 a Busicom, que tinha direito exclusivo sobre o projeto e seus

componentes, pediu a Intel para baixar os seus preços. A Intel renegociou seu contrato e Busicom

desistiu de seus direitos exclusivos para os chips de [4]. Poucos meses depois, no dia 15 de

novembro de 1971, a Intel anunciou a disponibilidade imediata da primeira família de

microprocessadores do chipset, a MSC-4 (todos a partir da concepção BUSICOM) com um anúncio

na Electronic News.

HISTÓRICO.

A IBM Automatic Sequence Controlled Calculator (ASCC), chamado de Mark I pela Universidade de

Harvard, foi o primeiro grande computador digital automático no E.U.A.. É considerado por alguns como a

primeira calculadora universal.

O ASCC eletromecânica foi concebido por Howard H. Aiken, construído na IBM e enviado para Harvard em

fevereiro de 1944. Iniciou-se os cálculos para a Marinha E.U. Bureau de Navios em maio e foi apresentado

oficialmente para a universidade em 7 de agosto de 1944. A principal vantagem o Mark I era que era

totalmente automático não precisa de nenhuma intervenção humana uma vez que inicio o trabalho. Foi o

primeiro computador totalmente automático a ser concluído. Foi também muito confiável, muito mais cedo

do que computadores eletrônicos. É considerado como "o início da era do computador moderno" [3] e "o

verdadeiro amanhecer da era do computador”.

1944 - Harward – Mark I

O programa era armazenado em cartões perfurados, enquanto que os dados eram

acessados em uma memória independente baseada em lógica eletromecânica de reles.

HISTÓRICO.

1971 - Intel 4004 – O primeiro microprocessador comercial (1971)

Processador de 4-bit 4004

Clock de 108 kHz

2300 transistors

Velocidade estimada de 0.06 MIPS.

Concebidos e desenvolvidos entre Junho de 1968 e concluído em Junho de

1970. Este conjunto de chips de computador altamente integrado foi

projetado para o "TomCat E.U. Marinha F14A Jet Fighter" pelo Sr. Steve

Geller e Ray Holt enquanto trabalhava para Garrett Corp AiResearch sob

contrato da Grumman Aircraft, o contratante principal para a Marinha E.U.A.

O MOS-LSI chips foram fabricados pela American Microsystems.

1970 - Central Air Data Computer (US-Navy) – MP944

1971 - Texas Instruments - TMS 1000

Texas Instruments TMS1000 família de microcontroladores de

4-bit foi introduzido em 1974. O TMS 1000 microcontroladores

tinha projeto muito simples, apenas 2 4-bit registros gerais, 43

instruções (expandido para 54 instruções em

TMS1100/TMS1300), 1-nível de profundidade da pilha, mude

registro contador de programa e sem interrupções.

A Americana CTC pediu à INTEL e à Texas um microprocessador

de 8 bits para usar em terminais. Mesmo apesar da CTC acabar

por desistir desta idéia, tanto a Intel como a Texas continuaram a

trabalhar no microprocessador e, em Abril de 1972, os primeiros

microprocessadores de 8 bits apareceram no mercado com o

nome de 8008 (Intel). Endereçava 16KB de memória, 45

instruções e velocidade de 300 000 operações por segundo. Esse

microprocessador foi o precursor dos microprocessadores atuais

1972 - Intel 8008

HISTÓRICO.

1973 - Texas Instruments - U.S. Patent 3,757,306

O microprocessador Intel 8080 foi lançado em abril de 1974, como

uma evolução do 8008.O 8080 é um microprocessador

encapsulado em um único microchip LSI (Large Scale Integration)

com 40 pinos DIP (dual inline packaging), tem um ciclo de

máquina de 72 micro-segundos e possui um conjunto de 72

instruções. Ele possui um barramento de dados bidirecional de 8

bits e um barramento de endereços (unidirecional) de 16 bits,

permitindo endereçar 64k bytes. Pode endereçar até 256 portas

de entrada e 256 de saída compatível TTL (Transistor-to-

Transistor Logic). Preços a partir de $360.

1974 –Intel 8080

HISTÓRICO.

O 6800 foi o primeiro microprocessador de 8 bits produzido

pela Motorola, lançado no mercado pouco depois do Intel

8080 em fins de 1974. Possuía 78 instruções, incluindo a

infame e não-documentada instrução de teste de barramento

Halt and Catch Fire (HCF). Pode ter sido o primeiro

microprocessador com um registrador de índice.

1974 –Motorola 6800

Contudo, os outros não baixaram os braços. Frederico Faggin deixa a

Intel e funda a Zilog Inc.

Em 1976, a Zilog anuncia o Z80.

1974 –Motorola 6800

Frederico Faggin deixa a Intel e funda a Zilog Inc. Em 1976, a Zilog anuncia

o Z80. Durante a concepção deste microprocessador, Faggin toma uma

decisão crítica, e ele decide que o novo microprocessador deve ser

compatível com o 8080 que até então dominava o mercado. Outras

características adicionais foram introduzidas, de tal modo que o Z80 se

tornou um microprocessador muito potente no seu tempo. Ele podia

endereçar diretamente 64KB de memória, tinha 176 instruções, grande

número de registros, refresh de memória RAM dinâmica, uma única

alimentação, maior velocidade de funcionamento e outras. O Z80 tornou-se

um grande sucesso e muitos projetos transferiram-se do 8080 para o Z80.

Pode dizer-se que o Z80 se constituiu sem sombra de dúvida como o

microprocessador de 8 bits com maior sucesso no seu tempo. Além da

Zilog, outros novos fabricantes como Mostek, NEC, SHARP e SGS

apareceram. O Z80 foi o coração de muitos computadores como o

Spectrum, Partner, TRS703, Z-3 e Galaxy, que foram aqui usados.

1976 – Zilog Z80

1976 –Intel 8085

HISTÓRICO.

Em 1976, a Intel lança uma versão melhorada do microprocessador de 8

bits é a linha 8085. Contudo, o Z80 era tão superior a este que, que bem

depressa, a Intel perdeu a batalha. Ainda que mais alguns

microprocessadores tenham aparecido no mercado (6809, 2650, SC/MP

etc.), tudo estava decidido. Já não havia mais grandes melhorias a

introduzir pelos fabricantes que fundamentassem a troca por um novo

microprocessador, assim, o 6502 e o Z80, acompanhados pelo 6800,

mantiveram-se como os mais representativos microprocessadores de 8 bits

desse tempo.

HISTÓRICO.

1977 - Apple II - MOS 6502 (1 MHz)

1977 - Atari 2600 – MOS 6507 (1,19 MHz )

1978 - Intel 8086 (4,77 Mhz)

1978 - Texas Instruments - Speak & Spell - TMS 1000

1978 - Magnavox Odyssey² - Intel 8048 (1,79 MHz)

HISTÓRICO.

1979 - Motorola 6808 (1 MHz)

1980 - Intel 8051(NMOS) / 80C51(CMOS) (12 MHz )

1980 - General Instrument - PIC1650 ("Programmable Intelligent Computer") -

(1 MHz)

HISTÓRICO.

1982 - Motorola 68000 (68 k) - 16 bit ( 8 Mhz )

1982 - Sinclair Zx Spectrum - Z80 ( 3,50 MHz )

1982 - Intel 80186 ( 6,0 MHz )

1982 - Intel 80286 ( 8,0 MHz )

1983 - Intel 8088 ( 4,77 MHz )

HISTÓRICO.

1983 - IBM PC-XT - Intel 8085/8086/8088 ( 4,77MHz )

1983 - MSX - Z80 ( 3,58 MHz )

1983 - Nintendo NES - MOS 6502 ( 1,79 MHz )

HISTÓRICO.

1984 - Apple Macintosh - Motorola 68000 ( 8 MHz )

1985 - Sega Master System - Z80 ( 3.54MHz )

1986 - Intel 80386 - 32 bit ( 25 MHz )

1988 - Sega Mega Drive - 68000 (7,67 MHz ) e Z80

( 3,58 MHz )

HISTÓRICO.

1990 - SNK Neo-Geo - 68000 (12 MHz) e Z80 (4 MHz)

1990 - Sega Game Gear - Z80 ( 3,58 MHz )

1990 - Nintendo Super-NES - WDC 65c816 ( 3.58 MHz )

HISTÓRICO. 1990 - HP 48G - HP Saturn Yorke ( 4 MHz )

1991 - AIM Alliance (Apple/IBM/Motorola)

1991 - AIM - PowerPC 601 (G1) ( 60 MHz )

1992 - MIPS lança a primeira CPU de 64 bit

1992 - MIPS R4000 ( 100 MHz ) (SGI)

1993 - Intel 80586 (Pentium) - ( 75 MHz )

HISTÓRICO.

1993 - Atari Jaguar - 68000 ( 25,59 MHz )

1993 - Panasonic 3DO - ARM60 ( 12,5 MHz )

1994 - Motorola - 68060 ( 50 MHz )

1994 - Sony Playstation - MIPS R3000 ( 33,87 MHz )

HISTÓRICO.

1994 - Sega Saturn - 2x SuperH2 - 32-bit (28,6 MHz)

1995 - AIM PowerPC (620/630) - 64-bit (G2)

1995 - Intel Pentium Pro ( 166 MHz )

HISTÓRICO.

1996 - Nintendo 64 - NEC VR43009 ( 93,75 MHz )

1996 - Us Robotics PalmPilot 1000 - 68328 (16 MHz )

1996 - Atmel - AVR (AT90S) ( 8 MHz )

1997 - AIM - PowerPC (740/750)(G3) ( 366 MHz )

1997 - Intel Pentium MMX ( 166 MHz )

1997 - Intel Pentium II - ( 233 MHz )

HISTÓRICO. 1998 Sega Dreamcast - Hitachi SuperH4 ( 200 MHz )

1998 - Apple iMac - 233 MHz PPC G3 (PowerPC 750)

1999 - Intel Pentium III ( 450 MHz )

1999 - HP 49G - HP Saturn York ( 4 MHz )

HISTÓRICO.

1999 - AIM - PPC (7400/7410)(G4) ( 550 MHz )

2000 - Intel Pentium IV ( 1,4 GHz )

2000 - Sony Playstation 2 -"Emotion Engine"(Toshiba/

Sony) (MIPS R5900) ( 294 MHz )

2001 - Nintendo Game Cube - PPC 750 (G3) (485 MHz )

HISTÓRICO.

2001 - MS Xbox - Pentium/Celeron ( 733 MHz )

2002 - Apple iPod – 2 x ARM 7 ( 90 MHz )

2003 - Atmel - AVR Mega (ATmega) ( 16 MHz )

2003 - HP 49G+ - ARM ( 75MHz )

HISTÓRICO.

2003 - Motorola >> Freescale (Spin-Off)

2003 - IBM PPC 970 (G5) ( 2 GHz )

2004 - Nintendo DS - ARM946E-S (67 MHz) e ARM7 (33 MHz)

2004 - Sony Playstation Portable - MIPS R4000 ( 222 MHz )

2005 - MS Xbox 360 - PPC Tri - Core ( 3,2 GHz )

HISTÓRICO.

2006 - Atmel - AVR 32-Bit (AT32) (133 MHz )

2006 - Sony Playstation 3 - 3,2 GHz Cell Broadband

Engine with 1 PPE and 7 SPEs – 2006

2006 - Intel Core Duo – 64 bit ( 1,8 GHz )

1-Augarten S.: Bit by Bit, page 261, Ticknor & Fields, 1984

2-Stine, G.H., The Untold Story of the Computer Revolution, page 163, Arbor House, 1985

3-Augarten S.: Bit by Bit, page 262-263, Ticknor & Fields, 1984

4-Reid, T.R.: The Chip, Page 141-142, Simon and Schuster, 1984

5-http://www.cpu-museum.com/4004_e.htm#Busicom%20141-PF Busicom 141-FP

5-Calculateur Busicom HL-21

6-Pocket-size calculator Busicom LE-120A "HANDY-LE"

7-Augarten S.: Bit by Bit, page 263-265, Ticknor & Fields, 1984

8-Agreement between Intel & NCM

9-http://en.wikipedia.org/wiki/Busicom

http://www.cpu-world.com/CPUs/TMS1000/index.html http://wwwusers.rdc.puc-rio.br/rmano/i8080.html

Citação: Motorola (1976) escreveu: «"Lançamos nosso microprocessador M6800 em fins de 1974 e ele

conquistou ampla aceitação pela indústria em 1975.”

Wheeler, Gerry (Dezembro de 1977). "Undocumented M6800 Instructions". BYTE 2 (12): 46-47. Halt and Catch

Fire instruction

http://www.mikroelektronika.co.yu/portuguese/index.htm Picbook-pt.pdf

http://pt.wikipedia.org/wiki/Apple_II

http://pt.wikipedia.org/wiki/Atari_2600

http://pt.wikipedia.org/wiki/Ficheiro:I8086.jpg

http://pt.wikipedia.org/wiki/Speak_&_Spell

REFERÊNCIAS

http://en.wikipedia.org/wiki/Magnavox_Odyssey%C2%B2

http://en.wikipedia.org/wiki/Motorola_6800_family

http://pt.wikipedia.org/wiki/Intel_8051

http://en.wikipedia.org/wiki/Motorola_68000

http://pt.wikipedia.org/wiki/ZX_Spectrum

http://pt.wikipedia.org/wiki/Intel_80186 http://pt.wikipedia.org/wiki/Intel_80286

http://pt.wikipedia.org/wiki/Intel_8088

http://pt.wikipedia.org/wiki/IBM_Personal_Computer_XT

http://pt.wikipedia.org/wiki/MSX#Modelos_de_MSX_no_Brasil

http://pt.wikipedia.org/wiki/Ficheiro:Nintendo_entertainment_system.png

http://pt.wikipedia.org/wiki/Computador_pessoal#Primeiros_computadores_pessoais

http://pt.wikipedia.org/wiki/Ficheiro:Sega_master_system.jpeg

http://pt.wikipedia.org/wiki/Intel_80386

http://en.wikipedia.org/wiki/Mega_Drive

http://en.wikipedia.org/wiki/Game_Boy

http://en.wikipedia.org/wiki/Intel_80486#Models

http://en.wikipedia.org/wiki/PIC_microcontroller#History

http://en.wikipedia.org/wiki/Neo_Geo_(console)

http://pt.wikipedia.org/wiki/Sega_Game_Gear

http://en.wikipedia.org/wiki/Super_Nintendo_Entertainment_System

http://en.wikipedia.org/wiki/File:HP48G.jpg

http://pt.wikipedia.org/wiki/PowerPC

http://upload.wikimedia.org/wikipedia/commons/c/cb/KL_P1_Family.jpg

http://pt.wikipedia.org/wiki/Atari_Jaguar

http://pt.wikipedia.org/wiki/3DO_Interactive_Multiplayer

REFERÊNCIAS

http://en.wikipedia.org/wiki/Motorola_68060

http://pt.wikipedia.org/wiki/PlayStation

http://en.wikipedia.org/wiki/SSF_(emulator)

http://pt.wikipedia.org/wiki/Pentium_Pro

http://pt.wikipedia.org/wiki/Nintendo_64

http://en.wikipedia.org/wiki/File:PalmPilot5000.jpg

http://pt.wikipedia.org/wiki/Pentium_II

http://pt.wikipedia.org/wiki/Sega_Dreamcast

http://pt.wikipedia.org/wiki/IMac_G3

http://pt.wikipedia.org/wiki/Pentium_III

http://en.wikipedia.org/wiki/HP-49G

http://pt.wikipedia.org/wiki/Pentium_4

http://pt.wikipedia.org/wiki/PlayStation_2#Bot.C3.B5es

http://pt.wikipedia.org/wiki/Nintendo_GameCube

http://pt.wikipedia.org/wiki/Ficheiro:IPod_2G.jpg http://pt.wikipedia.org/wiki/Xbox

http://en.wikipedia.org/wiki/PowerPC_970#PowerPC_970

http://en.wikipedia.org/wiki/Nintendo_DS

http://pt.wikipedia.org/wiki/PlayStation_Portable

http://pt.wikipedia.org/wiki/Xbox_360

http://en.wikipedia.org/wiki/PlayStation_3

http://en.wikipedia.org/wiki/Core_microarchitecture

http://pt.wikipedia.org/wiki/Nintendo_Wii

REFERÊNCIAS

http://pessoal.utfpr.edu.br/gustavo/apostila_micro.pdf

http://en.wikipedia.org/wiki/Harvard_Mark_I

http://www.lps.usp.br/lps/arquivos/conteudo/grad/dwnld/mcu.pdf

http://pt.wikipedia.org/wiki/Intel_8051

http://pt.wikipedia.org/wiki/Conjunto_de_instru%C3%A7%C3%B5es_ortogonal

REFERÊNCIAS

http://pt.wikipedia.org/wiki/Microcontrolador_PIC

http://www.microcontrolador.com.br/lista.php?&id=98

http://www.sabereletronica.com.br/secoes/leitura/67

http://searchmobilecomputing.techtarget.com/sDefinition/0,,sid40_gci213940,00.html

http://pt.wikipedia.org/wiki/Microcontrolador_PIC

MICROCONTROLADOR x MICROPROCESSADOR.

Precisamos deixar bem claro é a diferença entre microcontrolador e microprocessador.

O microprocessador O microcontrolador.

Microprocessador (MPU ou μP) – Circuito

integrado, digital, implementado em um único

chip (componente), capaz de executar um

programa, armazenado em alguma memória,

que contenha a lista de instruções para

realização de uma seqüência de tarefas

lógicas e/ou aritméticas pré estipuladas. É

chamado de Unidade Central de

Processamento (CPU) ou Core.

Microcontrolador (MCU ou μC) – Circuito

integrado, digital, implementado em um

único chip (componente), que consta de

uma CPU mais uma serie de periféricos, de

utilidade típica em atividades de controle

eletrônico, já embutidos no mesmo chip

(componente), como por exemplo: memória

flash, memória RAM, memória EEPROM,

UART, timer, PWM, comparadores,

osciladores, conversor analógico-

digital(AD), relógio (RTC) e outros.

MICROCONTROLADOR x MICROPROCESSADOR.

Arquitetura próxima de um microprocessador Arquitetura de um microcontrolador.

O microprocessador O microcontrolador.

-Modo de acesso as memórias de programa e as memória de dados.

- Arquitetura von-NEWMANN

- Arquitetura HAVARD

- Natureza, quantidade e complexidade das instruções disponíveis no “set” de instruções.

- Forma de acesso as diferentes estruturas de armazenamento, internas da CPU.

- Quantidade de CPU's ou Cores) que operam conjuntamente no mesmo dispositivo

Arquiteturas

Entendemos por arquitetura de hardware

Os microcontroladores que usam esta tecnologia, só tem disponível uma zona de

memória, e um barramento de dados de 8 bits. Como todos os dados são trocados,

usando estes 8 bits, este barramento é sobrecarregado ficando a comunicação mais lenta

com isto perdendo eficiência. O CPU pode ler uma instrução, ou ler/escrever dados

de/para a memória. Ambas as situações ao mesmo tempo são impossíveis, pois as

instruções compartilham o mesmo barramento para dados e programas.

Os microcontroladores com uma arquitetura von-Neumann são designados por

“microcontroladores CISC”. O nome CISC deriva de Computador com um Conjunto

Complexo de Instruções (Complex Instruction Set Computer).

Arquitetura von-Neumann

A arquitetura de Harvard é um conceito mais recente que a de von-Neumann. Adveio da necessidade de pôr

o microcontrolador a trabalhar mais rapidamente. Na arquitetura de Harvard, a memória de dados está

separada da memória de programa. Assim, é possível uma maior fluência de dados através da unidade

central de processamento e, claro, uma maior velocidade de funcionamento. A separação da memória de

dados da memória de programa, faz com que as instruções possam ser representadas por palavras de mais

que 8 bits. Temos disponíveis microcontroladores de 12, 14 e 16 bits para via de instrução, o que permite

que todas as instruções ocupem uma só palavra de instrução. É também típico da arquitetura Harvard ter um

set de instruções menor que a de von-Neumann's, instruções essas, geralmente executadas apenas num

único ciclo de máquina. Os microcontroladores com a arquitetura Harvard, são também designados por

"microcontroladores RISC” e dispões da via de dados distinta da via de programa. A via de dados de 8 bits

liga a CPU a RAM. A via de programa pode ter 12, 14, ou 16 bits e liga o CPU a ROM. Assim, O CPU pode

ler uma instrução, ao mesmo tempo que faz um acesso a memória de dados. Como todos os registros RAM

são de 8 bits, todos os dados trocados dentro do microcontrolador estão no mesmo formato. Adicionalmente,

durante a escrita dos dados, apenas 8 bits de dados são considerados. Por outras palavras, só se pode

trabalhar com 8 bits de dados, no máximo. Programa para estes microcontroladores, depois de compilado,

será armazenado ROM interna. Esta via no tem apenas 8 bits, mas sim 12, 14 ou 16. Os restantes 4, 6,ou 8

bits representam a própria instrução, especificando a CPU o que fazer com os dados de 8 bits.

Arquitetura HARVARD

Arquitetura HARVARD

As vantagens deste ,modelo, são as seguintes:

-Todos os dados são de 8 bits. Como o barramento usado para leitura do

programa tem 12, 14 ou 16 linhas, ambas as instruções e dados podem ser

lidos simultaneamente. Assim, todas as instruções são executadas em

apenas um ciclo. A única exceção são as instruções de salto, que são

executadas em dois ciclos.

-Como a ROM e RAM são separadas, o CPU pode executar duas instruções

simultaneamente. Enquanto a leitura/escrita da RAM esta sendo feita, a

próxima instrução esta sendo lida pelo outro barramento.

-Nesta arquitetura, o barramento de programa é maior que um byte, o que

possibilita que cada linha de programa seja feita de instrução + dados. Por

outras palavras: uma linha de programa – uma instrução.

● RISC (Reduced Instruction Set Computer)

● CISC (Complex Instruction Set Computer).

Possui um grande conjunto de instruções, que geralmente implementam funções

especificas e de alto nível. Apropriado para ser programado diretamente, mas com

poucas oportunidades de otimização. As instruções são processadas mais

lentamente porem o “hardware” e mais simples.

Possui um conjunto pequeno de instruções básicas e fundamentais. Mais apropriado

para ser programado através de compiladores. O código pode ser muito otimizado de

acordo com o compilador. As instruções são processadas rapidamente mas

necessitam de “hardware” mais complexo.

Arquitetura Set de Instruções

Uma determinada arquitetura de CPU é ortogonal quando todos os registradores

podem ser acessados através de um mesmo método de endereçamento, de forma

que qualquer operação ou qualquer instrução pode ser executada em qualquer

registrador.

Arquitetura Formas de Acesso

Uma arquitetura não é Ortogonal (ou seja, e radial) quando determinados

registradores são alocados em um espaço de memória e os registradores que

formam os operandos das instruções são endereçados de forma diferente dos

demais, geralmente mantendo o resultado em um registrador especial conhecido

como acumulador

Acesso Ortogonal

Acesso Não Ortogonal

O clock, é quem dá o sinal de partida para o microcontrolador e é obtido a partir de um componente externo

chamado “oscilador”, que pode ser externo ou interno dependendo do microcontrolador. Se considerarmos o um

microcontrolador um relógio, o nosso clock, corresponderia ao pêndulo e emitiria um ruído correspondente ao

deslocar do pêndulo. Também, a força usada para dar corda ao relógio, podia comparar-se à alimentação

elétrica. O clock do oscilador, é ligado ao microcontrolador através de pinos, neste exemplo, o circuito interno do

microcontrolador divide o sinal de clock em quatro fases, Q1, Q2, Q3 e Q4 que não se sobrepõem. Estas quatro

pulsações perfazem um ciclo de instrução (também chamado ciclo de máquina) e durante o qual uma instrução é

executada.

A execução de uma instrução, é antecedida pela extração da instrução que está na linha seguinte. O código

da instrução é extraído da memória de programa em Q1 e é escrito no registro de instrução em Q4. A

descodificação e execução dessa mesma instrução, faz-se entre as fases Q1 e Q4 seguintes. No diagrama

em baixo, podemos observar a relação entre o ciclo de instrução e o clock. assim como as fases Q1-Q4. O

contador de programa (Program Counter ou PC) guarda o endereço da próxima instrução a ser executada.

CLOCK

3 CLOCKS DE MAQUINA

PLLs ou Phase Locked Loop (que alguns traduzem por Elo Travado em Fase) são encontrados em receptores

de AM, FM, modems, sintetizadores de freqüências, telefones sem fio, telefones celulares, instrumentos digitais

e analógicos e numa infinidade de outras aplicações onde freqüências estejam presentes. O PLL trabalha com

freqüências do mesmo modo que um amplificador operacional trabalha com tensões, daí sua importância na

eletrônica moderna. Ou seja é um multiplicador de clock.

PLL

Phase Locked Loop

PIPELINING Cada ciclo de instrução inclui as fases Q1, Q2, Q3 e Q4. A extração do código de uma

instrução da memória de programa, é feita num ciclo de instrução, enquanto que a sua

descodificação e execução, são feitos no ciclo de instrução seguinte. Contudo, devido à

sobreposição – pipelining (o microcontrolador ao mesmo tempo que executa uma instrução

extrai simultaneamente da memória o código da instrução seguinte), podemos considerar

que, para efeitos práticos, cada instrução demora um ciclo de instrução a ser executada. No

entanto, se a instrução provocar uma mudança no conteúdo do contador de programa (PC),

ou seja, se o PC não tiver que apontar para o endereço seguinte na memória de programa,

mas sim para outro (como no caso de saltos ou de chamadas de sub-rotinas), então deverá

considerar-se que a execução desta instrução demora dois ciclos. Isto acontece, porque a

instrução vai ter que ser processada de novo, mas, desta vez, a partir do endereço correto. O

ciclo de chamada começa na fase Q1, escrevendo a instrução no registro de instrução

(Instruction Register – IR). A descodificação e execução continua nas fases Q2, Q3 e Q4 do

clock.

Fluxograma das Instruções no Pipeline

Sinais modulados por Largura de Pulso

O modulo de geração de Modulação por Largura de Pulso (PWM) e um recurso muito utilizado para o controle

de motores e conversores CC-CC em geral. A partir dele e possível gerar um sinal analógico, apesar de sua

saída ser um sinal digital que assume apenas os níveis lógicos alto (um) e baixo (zero). A saída gerada e uma

onda quadrada, com freqüência constante e largura de pulso variável. Estes conceitos estão diretamente

relacionados com o período fixo e o ciclo ativo (duty cycle) respectivamente. A freqüência de uma onda pode

ser definida como a quantidade de vezes que ela se repete no tempo. E o período e cada pedaço dessa onda

que ira se repetir. O duty cycle define o tempo de sinal ativo (nível lógico alto) em um período fixo. Assim,

quando temos um duty cycle de 100%, temos nível lógico alto por todo o período. Um duty cycle de 50%

define a metade do período em nível lógico alto e a outra metade em nível lógico baixo. Se uma saída TTL for

utilizada, a tensão media de saída em um duty cycle de 50% será 2,5V. Estes conceitos são demonstrados na

figura abaixo. Devemos lembrar que o PWM nem sempre possui estado inicial positivo, podendo iniciar o

período com nível lógico baixo.

PWM

PULSE WIDTH MODULATION

Largura de pulso e

período de um PWM

PWM

PULSE WIDTH MODULATION

Sinais PWM com mesmo período e largura de pulso diferentes

A figura a seguir ira exemplificar o funcionamento de um PWM em um microcontrolador

onde o registrador PTPER possui o valor referente ao período do PWM e os registradores

PWM1H e PWM2H representam dois canais de saída PWM.

Desta forma, para configurar a freqüência do PWM iremos considerar no exemplo um

PWM de 10 kHz com largura de pulso inicial do ciclo ativo de 40%, onde o clock utilizado

será de 3,2 MHz.

Período da base de tempo do relógio: Período= 1/3,2×10-6 =312,5×10−9

Valor do modulo de clock 100μs: Módulo= 100×10−6 / 312,5×10−9=320

Representação de um sinal de temperatura analógico e digital.

Diagrama de blocos de uma conversão A/D de um sinal de temperatura

A temperatura e um sinal analógico. O sensor de temperatura converte a temperatura em um sinal de impulsos

elétricos analógicos. O conversor A/D recebe esse sinal e o transforma em sinal digital, através de amostragem,

entregando ao processador. Este, por sua vez, manipula esses dados e envia-os para o display, mostrando em

graus a temperatura do forno. A figura abaixo mostra a representação do sinal analógico de temperatura e seu

equivalente na forma digital.

CONVERSÃO ANALÓGICO DIGITAL (AD)

A informação digital é diferente de sua forma original continua em dois aspectos fundamentais:

1 - É amostrada porque é baseada em amostragens, ou seja, são realizadas diversas leituras, do sinal

continuo em um intervalo de tempo fixo.

2 - E quantizada porque e atribuído um valor proporcional a cada amostra.

EMI (interferência eletromagnética) é a interrupção do funcionamento de um dispositivo

eletrônico quando está nas proximidades de um campo electromagnético (campo de EMI)

na freqüência de rádio (RF) do espectro que é causado por um outro dispositivo

eletrônico. Problemas com a EMI podem ser minimizado pela garantia de que todos os

equipamentos eletrônicos são operados com um bom sistema de aterramento elétrico.

Além disso, os fios e cabos que ligam os periféricos em um sistema eletrônico ou sistema

informatizado deve, ser protegidos para manter a energia RF indesejadas fora do

dispositivo. Componentes especializados, tais como filtros de linha, capacitores e

indutores podem ser instalados em cabos de energia e cabos de interligação para reduzir

a susceptibilidade a EMI em alguns sistemas.

EMI

Electromagnetic Interference

Antes de começarmos a desenvolver um sistema baseado em um microcontrolador,

devemos equacionar o seguinte pontos:

COMO ESCOLHER O PROCESSADOR

CERTO PARA A APLICAÇÃO

Quantas portas de entradas e saídas serão necessária ?

Teremos comunicação serial ? Que padrão ?

Será necessário rede ethernet ?

Teremos conversão AD ? Qual a necessidade de precisão ?

O dispositivo ira trabalhar embarcado (consumo) ?

Necessitaremos de PWM ?

Necessitaremos de Comparadores ?

Qual a freqüência pretendida ?

Terá oscilador externo ?

Quantas interrupções de tempo teremos e quais as grandezas ?

Teremos relógio externo ?

Qual a disponibilidade de documentação e suporte ao microcontrolador ?

Qual o suporte do fabricante ?

Quando definimos muito bem os requisitos do projeto, a larga oferta e naturalmente

filtrada, e fica muito mais simples fazer a escolha adequada.

PONTOS DE ESCLARECIMENTOS

O que é microprocessador ?

O que é microcontrolador ?

O que são periféricos ?

Qual a diferença entre microcontrolador e microprocessador ?

O que é arquitetura RISC ? e CISC ?

O que são memórias ?

Quais os tipos que existem ?

O que é memória RAM ?

O que é memória PROM ?

O que é memória E2PROM ?

O que é memória Flash ?

Qual a diferença entre CI analógico e CI digital ?

ADVANCED MICRO DEVICES (AMD)

Alcatel

Altera

ANALOG DEVICES (AD)

ATC Semiconductor Devices

ATMEL

Benchmarq

Broadcom

BURR-BROWN (BB)

CENTRONIC

Cherry Semiconductors

Crystal (Cirrus Logic)

Cypress

CYRIX

DALLAS Semiconductor Corp (DS)

EG&G Vactec

Ecliptek Corporation

EM-MARIN

Euroquartz

Fairchild

FUJITSU

General Semiconductors

HARRIS Semiconductors

High Brightness Solutions

HITACHI

Honeywell - Solid State Electronics Center

Hewlett Packard

Hyundai

QT Optoelectronics

Ricoh

Rohm

Samsung Semiconductors

Sanyo

Semtech

SGS-Thomson (ST)

Sharp

Siemens

Siliconix

Sony

Telcom

Temic Semiconductors

TEXAS Instruments Semiconductors (TI)

Torex Semiconductors Ltd

TOSHIBA America Electronic Components

Unitrode

Wolfson Microelectronics Ltd

Winbond Electronics Corp

XICOR Inc

XILINX

ZILOG

Zetex Semiconductors (ZTX)

IDT

Infineon Technologies

INTEL

Intersil

International Rectifier (IRF)

ISD - Information Storage Devices

Isocom

Kingbright

Lattice Semiconductor Corporation

LINEAR Technologies (LT/LTC)

MAXIM Integrated Products

MICREL Semiconductor

MAXIM Integrated Products

MICREL Semiconductor

MICROCHIP

Micro Linear

Micron

Mitel Semiconductors

Mitsubishi

Mosel Vitelic

MOTOROLA

NATIONAL Semiconductors (NS)

NEC

Newport

NJRC - New Japan Radio Company

OKI

Panasonic

PHILIPS Semiconductors

FABRICANTES

(79 ATÉ O MOMENTO DA INFORMAÇÃO)

As raízes dos PICs se originaram na universidade de Harvard com um projeto para o

Departamento de Defesa, mas este foi vencido por um projeto de memória mais simples (e

mais confiável na época) da Universidade de Princeton. A arquitetura Harvard foi

primeiramente usada no 8x300 da Signetics, e foi adotada pela General Instruments para uso

como Interface Controladora de Periféricos PIC (PIC1650) que foi projetada para compensar

o fraco barramento de I/O da sua CPU CP1600 de 16 bits. Em 1985 a General Instruments

vende a divisão de microeletrônica para Arizona Microchip Technology . O novo fabricante

desativou quase todos os projetos que estavam então ultrapassados. No entanto, os

microcontralores PIC foram renovados e continuaram a evoluir e hoje, a Microchip

Technology, atual fabricante dos micro-controladores PIC, oferece uma ampla variedade de

modelos.

ORIGEM DO PIC

(Peripheral Integrated Controler)

Os PIC (Peripheral Integrated Controler) são uma família de microcontroladores, que processam dados de

8 bits (recentemente foi lançada uma família de 16 bits com prefixo 24F) com extensa variedade de modelos e

periféricos internos, com arquitetura Harvard e conjunto de instruções RISC (sets de 35 instruções e de 76

instruções), com recursos de programação por memória FLASH, EEPROM e OTP. Os microcontroladores PIC

têm famílias de 12 bits, 14 bits e 16 bits de núcleo de processamento e trabalham em velocidade de 0kHz (ou

DC) a 48MHz usando ciclo de instrução mínimo de 4 períodos de clock o que permite uma velocidade chegue

ao máximo de 10 MIPS. Há o reconhecimento de interrupções tanto externas como de periféricos internos.

Funcionam com tensões de alimentação de 2 a 6V e os modelos possuem encapsulamento de 6 a 100 pinos

em diversos encapsulamentos (SOT23, DIP, SOIC, TQFP, etc.) Seus principais periféricos internos (a

disponibilidade varia conforme o modelo) são:

• Conversores Analógico-Digitais de 8 a 12 bits

• Contadores e timers de 8 e 16 bits

• Comparadores Analógicos

• USARTs

• Controladores de comunicação I2C, SSP, USB

• Controladores PWM

• Controladores de LCD

• Controladores de motores

• Periféricos para LIN, CAN

• Controladores Ethernet

• Periféricos IRDA

• Codificadores para criptografia Keeloq

• Watchdog timer

• Detectores de falha na alimentação

• Portas digitais com capacidade de 25mA (fornecer ou drenar) para acionar circuitos externos

• Osciladores internos

PIC

PROCESSADORES E PERIFERICOS

PLACA DE ACESSO A

ETHERNET / INTERNET

Como podemos observar a placa de acesso a ethernet / internet necessita de

poucos componentes para suporte ao processador.

Placa 1

2 x 24LC256 – memórias PROMS de 256 kbits

1 x ENC28J60 – driver de ethernet

1 x PIC24FJ128 – microcontrolador de 16 bits com 128Kbytes de memória

de programa 8K de memória SDRAM encapsulamento TQFP 64 pinos smd.

Placa 2

1 x 24LC256 – memórias PROMS de 256 kbits

1 x PIC18F67J60 – microcontrolador de 8 bits com 128Kbytes de memória de

programa 3.8K de memória SDRAM, drive de ethernet interno

encapsulamento TQFP 64 pinos smd.

LISTA DE MICROCONTROLADORES MICROCHIP

E SEUS PERIFERICOS INTERNOS