Semana da Tecnologia

Transcrição

Semana da Tecnologia
José dos Santos Garcia Neto
Microcontroladores
Semana da Tecnologia
Onde tudo começa .....
O SILÍCIO.
Elemento do Químico: Silício Número de período: 3
Símbolo: Si
Bloco: p
Número atômico: 14
Estado Físico: sólido a 298 K
Peso atômico: 28.0855 (3) r Cor: escuro cinzento
Número de grupo: 14
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".
Ciclo parcial da produção de semicondutores.
Jazida de Silício
Petrolina – Brasil
Pastilha unitária de um
componente.
Produção e dopagem das
pastilhas de silício.
Pastilhas de silício.
Componente semicondutor
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)
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.
1944 - Harward – Mark I
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”.
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.
1970 - Central Air Data Computer (US-Navy) – MP944
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.
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.
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.
HISTÓRICO.
1972 - Intel 8008
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
1973
- Texas Instruments - U.S. Patent 3,757,306
HISTÓRICO.
1974 –Intel 8080
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-toTransistor Logic). Preços a partir de $360.
1974 –Motorola 6800
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.
HISTÓRICO.
1976 – Zilog Z80
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 –Intel 8085
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
HISTÓRICO.
1978 - Magnavox Odyssey² - Intel 8048 (1,79 MHz)
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 )
HISTÓRICO.
1983 - Intel 8088 ( 4,77 MHz )
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.
1989 - Nintendo Game Boy - Z80 ( 4,19 MHz )
1989 - Intel 80486 (33 MHz )
1989 - General Instrument >> Microchip PIC
(Peripheral Interface Controller)
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 )
HISTÓRICO.
1994 - Sony Playstation - MIPS R3000 ( 33,87 MHz )
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 )
HISTÓRICO.
2005 - MS Xbox 360 - PPC Tri - Core ( 3,2 GHz )
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 )
HISTÓRICO.
2006 - Nintendo Wii - IBM PowerPC - ( 729MHz )
REFERÊNCIAS
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
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.cpu-world.com/CPUs/TMS1000/index.html
http://wwwusers.rdc.puc-rio.br/rmano/i8080.html
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/Xbox
http://pt.wikipedia.org/wiki/Ficheiro:IPod_2G.jpg
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://en.wikipedia.org/wiki/Harvard_Mark_I
http://pessoal.utfpr.edu.br/gustavo/apostila_micro.pdf
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
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
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.
O microcontrolador.
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ógicodigital(AD), relógio (RTC) e outros.
MICROCONTROLADOR x MICROPROCESSADOR.
O microprocessador
Arquitetura próxima de um microprocessador
O microcontrolador.
Arquitetura de um microcontrolador.
Arquiteturas
Entendemos por arquitetura de hardware
-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
Arquitetura von-Neumann
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 HARVARD
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.
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
Arquitetura HARVARD
possibilita que cada linha de programa seja feita de instrução + dados. Por
outras palavras: uma linha de programa – uma instrução.
Arquitetura Set de Instruções
● 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.
● RISC (Reduced Instruction Set Computer)
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 Formas de Acesso
Acesso Ortogonal
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.
Acesso Não Ortogonal
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
CLOCK
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.
3 CLOCKS DE MAQUINA
PLL
Phase Locked Loop
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.
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
PWM
PULSE WIDTH MODULATION
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.
Largura de pulso e
período de um PWM
Sinais modulados por Largura de Pulso
PWM
PULSE WIDTH MODULATION
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.
Sinais PWM com mesmo período e largura de pulso diferentes
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
CONVERSÃO ANALÓGICO DIGITAL (AD)
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.
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.
Representação de um sinal de temperatura analógico e digital.
EMI
Electromagnetic Interference
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.
COMO ESCOLHER O PROCESSADOR
CERTO PARA A APLICAÇÃO
Antes de começarmos a desenvolver um sistema baseado em um microcontrolador,
devemos equacionar o seguinte pontos:
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 ?
FABRICANTES
(79 ATÉ O MOMENTO DA INFORMAÇÃO)
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
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
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)
ORIGEM DO PIC
(Peripheral Integrated Controler)
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.
PIC
PROCESSADORES E PERIFERICOS
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
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