SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
29/10/2012
1
Programação de Sistemas Embarcados
Prof. Murilo Plínio
muriloplinio@gmail.com
UNIFACS – Universidade Salvador
Engenharia da Computação
Aula 2 – Introdução a Sistemas Embarcados e a Microcontroladores
Perguntas:
1. O que é um Microcontrolador?
– Qual a diferença entre Microcontrolador e
Microprocessador?
2. O que é um Sistema Embarcado (SE)?
– Onde encontramos SEs?
3. Por quê utilizar microcontroladores?
4. Como desenvolver um projeto de um SE?
– Que dispositivo escolher? Que linguagem?
Ferramentas?
29/10/2012
2
Sistemas Processados
_processor
On-chip
RAM
On-chip
ROM for
program
code
4 I/O Ports
Timer 0
Serial
PortOSC
Interrupt
Control
External interrupts
Timer 1
Timer/Counter
Bus
Control
TxD RxDP0 P1 P2 P3
Address/Data
Counter
Inputs
1. O que é um Microprocessador?
• É um dispositivo capaz de processar
informações. É constituído de uma unidade
lógica aritmética, uma unidade de controle
para manipulação interna e externa dos dados
e registradores.
• Ex.: Zilog: Z80 (PC XT);
Motorola/Frescale: 6502;
Intel/AMD: 8086, 80286, 80386,
80486 (PC AT), Pentium, Atlhon
29/10/2012
3
1. O que é um Microcontrolador?
• É um dispositivo capaz de processar informações
seguindo um software nele programado.
Ex.:
• Microchip: PIC16F84, PIC16F877, PIC18F452...
• Texas Instruments: MSP430F149, MSP430F123,
MSP430F122, MSC1211...
• Freescale: 68HC908AP16,
68HC08GP32A, MM908E621...
• Atmel: AT89C51, AT89C2051,
AT89C51SND2C...
Microprocessador vs Microcontrolador
29/10/2012
4
Microcontrolador vs Microprocessador?
• Microcontroladores são “computadores” em
um único chip!
– Possuem internamente unidade lógica e
aritmética, memória de programa, memória de
dados, portas de entrada e saída serial e paralela,
timers, contadores, PWM, conversores analógicos
e digitais etc.
• Microprocessadores são processadores de uso
genérico.
Microprocessador
CPU
General-
Purpose
Micro-
processor
RAM ROM I/O
Port
Timer
Serial
COM
Port
Data Bus
Address Bus
Many chips on mother’s board
O clock pode alcançar até 3.33Ghz. Em
overclocking, com cooler de ar, até 4.0Ghz, e com
cooler de refrigeração baseada em água até 5Ghz.
Com refrigeração a nitrogênio líquido ( somente em
experimentos ) já foram alcançados 6.00Ghz.
29/10/2012
5
Microcontrolador
O clock pode alcançar 48 MHz (12 MIPS).
Microprocessor
• CPU is stand-alone, RAM,
ROM, I/O, timer are separate
• designer can decide on the
amount of ROM, RAM and
I/O ports.
• expansive
• versatility
• general-purpose
Microcontroller
• CPU, RAM, ROM, I/O and
timer are all on a single
chip
• fix amount of on-chip ROM,
RAM, I/O ports
• for applications in which
cost, power and space are
critical
• single-purpose
Microprocessor vs. Microcontroller
29/10/2012
6
Evolução para microcontroladores?
• Com o barateamento dos CIs e o surgimento de
microprocessadores (CPUs) mais poderosos,
começou-se a usar as CPUs mais simples para
implementar tarefas dedicadas: controle de
impressora, plotter, reguladores de
velocidade, acionadores de motores de passo,
controladores de elevadores, etc.
• Contudo, qualquer controle implicará uma
circuitaria muito grande, que muitas vezes
encarece o custo do controlador.
Por quê microcontroladores?
•Estas aplicações tinham o custo dependente do
preço da CPU e dos periféricos (ROM, RAM,
Portas, A/D, D/A, etc) e também da quantidade de
conexões e do tamanho da placa.
• Para reduzir o custo, começou a surgir a idéia de
colocar todos estes periféricos dentro do chip da
CPU.
• Isso baratearia e diminuiria o tamanho do circuito
impresso além de aumentar a confiabilidade.
29/10/2012
7
Por quê microcontroladores?
• Por outro lado, uma CPU dedicada a um determinado
controle não precisa ser muito rápida nem tampouco ter
um conjunto de instruções extenso e poderoso.
• Não são necessárias instruções para trabalhar com ponto
flutuante, com strings ou vetores e também os
mecanismos de endereçamento
• Devem ser simples.
• Ou seja, pode-se simplificar a CPU.
• Assim surgem os microcontroladores, que são simples,
baratos e eficientes.
Por quê microcontroladores?
•Os microcontroladores são específicos para controle, não
tem grande capacidade de processamento e por isso
nunca haverá um computador pessoal cuja CPU seja um
microcontrolador.
• Eles podem estar presentes em um PC, mas apenas para
controlar periféricos.
• Embora existam vários microcontroladores que têm
aplicações específicas, como por exemplo o controlador de
teclado 80C51SL-BG e o controlador de comunicações
universal 82C152.
•Os microcontroladores estão aplicados em sistemas
embarcados
29/10/2012
8
O que é um Sistema Embarcado (SE)?
15
“Um sistema embarcado é um computador especial com
propósito específico que é usado dentro de um dispositivo.
Exemplo: Um aparelho de microondas possui um sistema
embarcado que aceita entradas do painel, controla o display e
liga e desliga os elementos para aquecimento.”
“Um S.E. é qualquer dispositivo controlado por instruções
armazenadas em um chip. Estes dispositivos são normalmente
controlado por um microprocessador que executa instruções
armazenadas num chip ROM.”
16
Definição
29/10/2012
9
“An embedded system employs a combination of hardware &
software (a “computational engine”) to perform a specific
function; is part of a larger system that may not be a
“computer”; works in a reactive and time-constrained
environment”. (Gupta UCI).
A designação de Sistema Embarcado cabe a quaisquer
sistemas digitais que estejam incorporados a outros
sistemas, com o fim de acrescer ou otimizar funcionalidades.
(Meuse Oliveira Jr, Cin/UFPE)
17
Definição
18
S.E. são...
•Incorporado a outros sistemas;
•São microprocessados;
•Têm severas restrições (temporais, energia, ...);
•Funcionalidade específica;
•São “invisíveis”;
S.E. podem não ser tão visíveis como os PCs e laptops, mas consomem
98% dos processadores vendidos no mundo todo ano (computerword, maio 2011)
29/10/2012
10
19
Por que esse avanço na área de S.E.?
• Avanço tecnológico na área de micro-processadores
• Preços reduzidos
• Novos métodos, técnicas e ferramentas tiveram que ser desenvolvidos
• Redução de custo de desenvolvimento
• Sistemas em rede, seguro, reconfigurável, restrições temporais rígidas, ...
• Técnicas de verificação e validação
• Geradores de código, APIs, middleware, ...
• Os sistemas são bastante interessantes e com maiores desafios
implementacionais...
20
Apresentar Slides 16 – 50
(ISE-02-introdução.pdf)
29/10/2012
11
21
4 - Como desenvolver um projeto de um
SE?
• Especificar e delimitar o projeto
• Listar recursos necessarios
•* Atentar para acessibilidade
I. Definir o microcontrolador
II. Definir a linguagem de programação
III. Definir ferramentas de suporte ao desenvolvimento
Simulação do circuito, programação, gravação, etc
22
I. Definir o Microcontrolador
Família de microcontroladores:
•PIC – Microchip
•8051 - Vários
•ARM – Vários
Qual utilizar?
29/10/2012
12
1. meeting the computing needs of the task efficiently and cost
effectively
• speed, the amount of ROM and RAM, the number of I/O ports
and timers, size, packaging, power consumption
• easy to upgrade
• cost per unit
2. availability of software development tools
• assemblers, debuggers, C compilers, emulator, simulator,
technical support
3. wide availability and reliable sources of the microcontrollers.
Three criteria in Choosing a Microcontroller
24
II. Definir a Linguagem de Programação
•Linguagem de alto nível – C
•Linguagem de baixo nível - Assembly
Qual utilizar?
29/10/2012
13
Assembly ou C ?
Linguagem Vantagens Desvantagens
Assembly
•Código Rápido;
•Total controle do hardware;
•Mehor controle dos tempos de
execução das rotinas;
•Código de máquina gerado menor
(economia de memória)
•Estrutura simples e intuitiva
•Dificuldades para trabalho com
variáveis e expressões
matemáticas;
•Necessidade de muitas linhas de
programa;
•Deficiência em estrutura de
controle e repetição;
•Dificuldade de migração do
programa (baixa portabilidade)
C
•Criação de programas que utilizam
menos linhas;
•Utilização de estruturas de controle
de repetição (if, for, while...)
•Facilidade para trabalhar com
variáveis e expressões aritméticas;
•Portabilidade do código;
•Perda do controle do tempo de
execução de cada rotina;
•Código de máquina maior e mais
lento;
29/10/2012
14
27
III. Definir Ferramentas
•Circutito – Proteus
•Programação e Compilação – CCS, PICc, Mplab, Keil,
MicroC...
•Gravação- WinPIC800
Qual utilizar?
Sistemas Processados
Fundamentos de computação: (cont.)
• Programa (Software): conjunto de instruções arranjadas de
forma organizada que apresenta função específica (Ex:
Programas Básicos, Aplicativos, Utilitários, etc.);
• Firmware: Programa que está armazenado em memória não
volátil (ROM);
• Hardware: partes eletrônicas de um microcomputador;
• Microcontrolador: microcomputador integrado num único
chip (microprocessador + periféricos);
29/10/2012
15
Sistemas Processados
• Periféricos
– Circuitos acessórios ao computador que realizam
tarefas específicas;
– Exemplos:
• Timers;
• CCP (Comparação, Captura e PWM);
• Conversores Analógico-Digital e Digital-Analógico;
• Portas de comunicação (USART, I2C, SPI, USB, CAN,...).
Arquiteturas
• von Neumann
“Instruções e dados compartilham a mesma
unidade física de memória”
Hamacher – Computer Organization
29/10/2012
16
Arquiteturas - von Neumann
A
AX
BX
CX
DX
tempA tempB
IR=MOV AX,0
MA = 0
MD=MOV AX,0
BUS
Entrada B
Saída Z
Entrada A Entrada B
Saída Z
Entrada A MOV AX,0
MOV BX,1
ADD AX,BX
JMP 2
0
1
2
3
MOV AX,0
MOV BX,1
ADD AX,BX
JMP 2
0
1
2
3
...4 .4
Memória
IP = 0
uP
tempA = 0tempA
...4 O5
...4 L6
...4 A7
Inst.
Dados
Arquiteturas
• Harvard
“Instruções e dados são armazenados em
memórias diferentes”
Heuring – Computer Systems Disignd and Architecture
Vantagem: Instruções e dados podem ser acessados
simultaneamente, aumentando o desempenho!
O PIC segue esta arquitetura! Um barramento de
dados de 8 bits e outro para instruções (12, 14 ou 16
bits)
29/10/2012
17
Arquiteturas
• Harvard
AX
BX
CX
DX
tempA tempB
IR=MOV AX,0
MA = 0
MD=MOV AX,0
BUS
Entrada B
Saída Z
Entrada A Entrada B
Saída Z
Entrada A
MOV AX,0
MOV BX,1
ADD AX,BX
JMP 2
0
1
2
3
MOV AX,0
MOV BX,1
ADD AX,BX
JMP 2
0
1
2
3
...4 .0
Memória de
Programa
IP = 0
uP
tempA = 0tempA
...4 O1
...4 L2
...4 A3
Inst.
Dados
Memória de
Dados
IP CTRL
Instruction Set
• Definição: Conjunto de instruções que um
processador compreende;
• Cada processador possui seu próprio conjunto
de instruções, inviabilizando, na maioria dos
casos, a portabilidade.
29/10/2012
18
Instruction Set
• CISC – Complex Instruction Set Computing
– Computação onde o número de instruções é
muito grande;
– O 8051 pertence a este grupo. (120 inst.)
• RISC
– Computação onde um número reduzido de
instruções estão disponíveis.
– O PIC possui um número reduzidos de Instruction
Set (RISC) (35 inst.)
Instruction Set
• Considerações sobre RISC e CISC
– Uma única instrução CISC pode equivaler a várias
instruções RISC;
– Uma instrução CISC precisa realizar passos
semelhantes aos realizados pelas RISC
equivalentes (não há ganho de desempenho);
– CISC minimiza o número de acessos a memória de
programa;
– RISC simplifica a decodificação de instruções,
deixando esta etapa mais rápida.
29/10/2012
19
Instruction Set
• Vantagens CISC:
– Apesar do conjunto de instruções ser muito
grande, oferece um número maior de instruções
(“ferramentas”) ao programador Assembly;
– Menor quantidade de instruções são necessárias
para desenvolver um programa (programas
ocupam menos memória).
Instruction Set
• Vantagens RISC:
– Etapa de decodificação tão simples que pode, em
alguns casos, ser eliminada;
– Com um número menor de instruções, os
parâmetros destas podem ser agregados no
opcode (código de máquina de uma instrução),
simplificando inclusive o FETCH.
– Simplificação dos circuitos eletrônicos.
29/10/2012
20
PIC
• O PIC, da Microchip, é o microcontrolador mais
acessível localmente.
• O dispositivo em si é um microcontrolador de 8
bits relativamente simples, mas com ampla
aplicação.
• Porém, o mais importante é que não existe
somente o CI PIC, mais sim uma família de
microcontroladores baseada no mesmo.
• Entende-se família como sendo um conjunto de
dispositivos que compartilha os mesmos elementos
básicos, tendo também um mesmo conjunto básico
de instruções. 39
PIC
• Alguns exemplos de cada família da Microchip.
40
29/10/2012
21
PIC
• Sistemas microprocessados são aqueles que têm por
elemento central um microprocessador.
• O microprocessador funciona como um sistema
seqüencial síncrono, onde a cada pulso, ou grupos de
pulsos de clock, uma instrução é executada.
• Embora já existam microprocessadores que trabalhem a
centenas de MHz, o PIC utiliza tipicamente um clock de
12 MHz, com tempos de execução de cada instrução
variando entre 1μs e 4 μs.
• No PIC, cada pulso de máquina corresponde a 4 pulsos
do relógio (clock)
– Para clock de 4 MHz, um pulso de clock ocorre em 1/4000000
s.
– Cada pulso da máquina ocorre a cada 1/1000000 = 1μs. 41
Principais Características do PIC
16F628
• Microcontrolador de 18 pinos
• Até 16 portas configuráveis como entrada ou saída
• 2 Osciladores internos (4MHz ou 37kHz)
• 10 Interrupções Disponíveis "Timers, Externa, Mudança de
Estado, EEPROM, USART e Comparador
• Memória de programa. FLASH (2K “words” – 14 bits)
• EEPROM interna de 128 bytes
• RAM interna de 224 bytes
• Hardwares especiais: CCP, Comparador Interno e USART
• Programação com 14 bits e 35 instruções
29/10/2012
22
Pinagem:
Principais Características do PIC
16F628
• 16 I/Os separados em dois grupos
denominados PORTAS (port A e port B)
– port A: RA0; RA1 ... RA7
– Idem para port B
– Pinos de múltiplas funções
– VDD (5V) e VSS (GND)

Mais conteúdo relacionado

Mais procurados

Sistemas supervisorios de processos industriais
Sistemas supervisorios de processos industriaisSistemas supervisorios de processos industriais
Sistemas supervisorios de processos industriaisWagner Gomes
 
Apostila 9 virtualização - nova
Apostila 9   virtualização - novaApostila 9   virtualização - nova
Apostila 9 virtualização - novaPaulo Fonseca
 
Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Luis Ferreira
 
Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Flávia Martins
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computadorredesinforma
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadoresKaren Costa
 
Schneider mcsetcatalogo sf6vacuo_port
Schneider mcsetcatalogo sf6vacuo_portSchneider mcsetcatalogo sf6vacuo_port
Schneider mcsetcatalogo sf6vacuo_portLeandro Matos Riani
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoHus Juky
 
Evolução dos computadores
Evolução dos computadoresEvolução dos computadores
Evolução dos computadoresUtyiama
 
73626572 clp-apostila-micrologix-1500-senai2
73626572 clp-apostila-micrologix-1500-senai273626572 clp-apostila-micrologix-1500-senai2
73626572 clp-apostila-micrologix-1500-senai2Leila Aparecida Silva
 
04 hardwere (microprocessador)
04   hardwere (microprocessador)04   hardwere (microprocessador)
04 hardwere (microprocessador)Elizeu Ferro
 

Mais procurados (19)

Sistemas supervisorios de processos industriais
Sistemas supervisorios de processos industriaisSistemas supervisorios de processos industriais
Sistemas supervisorios de processos industriais
 
Apostila 9 virtualização - nova
Apostila 9   virtualização - novaApostila 9   virtualização - nova
Apostila 9 virtualização - nova
 
Sistemas embarcados
Sistemas embarcadosSistemas embarcados
Sistemas embarcados
 
Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4Arquitetura de computadores Módulo 4
Arquitetura de computadores Módulo 4
 
Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4
 
Arquitetura 8 3
Arquitetura 8 3Arquitetura 8 3
Arquitetura 8 3
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computador
 
Apostila clp
Apostila clpApostila clp
Apostila clp
 
TUDO SOBRE PLC
TUDO SOBRE PLCTUDO SOBRE PLC
TUDO SOBRE PLC
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadores
 
Schneider mcsetcatalogo sf6vacuo_port
Schneider mcsetcatalogo sf6vacuo_portSchneider mcsetcatalogo sf6vacuo_port
Schneider mcsetcatalogo sf6vacuo_port
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºano
 
Evolução dos computadores
Evolução dos computadoresEvolução dos computadores
Evolução dos computadores
 
Slc500
Slc500Slc500
Slc500
 
Introducao clp
Introducao clpIntroducao clp
Introducao clp
 
73626572 clp-apostila-micrologix-1500-senai2
73626572 clp-apostila-micrologix-1500-senai273626572 clp-apostila-micrologix-1500-senai2
73626572 clp-apostila-micrologix-1500-senai2
 
Corpo relatorio
Corpo relatorioCorpo relatorio
Corpo relatorio
 
04 hardwere (microprocessador)
04   hardwere (microprocessador)04   hardwere (microprocessador)
04 hardwere (microprocessador)
 
Capitulo1
Capitulo1Capitulo1
Capitulo1
 

Destaque

Doc matematica _744794884
Doc matematica _744794884Doc matematica _744794884
Doc matematica _744794884JADSON SANTOS
 
Metricas de qualidade em produtos de software
Metricas de qualidade em produtos de softwareMetricas de qualidade em produtos de software
Metricas de qualidade em produtos de softwarecarlosabs13
 
Interpolação - Parte I - @professorenan
Interpolação - Parte I - @professorenanInterpolação - Parte I - @professorenan
Interpolação - Parte I - @professorenanRenan Gustavo
 
Qualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSIQualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSIMonnalisa Medeiros
 

Destaque (7)

Lista05
Lista05Lista05
Lista05
 
Capitulo 3
Capitulo 3Capitulo 3
Capitulo 3
 
Doc matematica _744794884
Doc matematica _744794884Doc matematica _744794884
Doc matematica _744794884
 
Metricas de qualidade em produtos de software
Metricas de qualidade em produtos de softwareMetricas de qualidade em produtos de software
Metricas de qualidade em produtos de software
 
Juroscompostos
JuroscompostosJuroscompostos
Juroscompostos
 
Interpolação - Parte I - @professorenan
Interpolação - Parte I - @professorenanInterpolação - Parte I - @professorenan
Interpolação - Parte I - @professorenan
 
Qualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSIQualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSI
 

Semelhante a Introdução a sistemas embarcados e microcontroladores

1 história e características dos microcontroladores pic
1 história e características dos microcontroladores pic1 história e características dos microcontroladores pic
1 história e características dos microcontroladores picAnderson Inácio Morais
 
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES IORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Ipaulocoob
 
Aula 1 aed - introdução à computação
Aula 1   aed - introdução à computaçãoAula 1   aed - introdução à computação
Aula 1 aed - introdução à computaçãoElaine Cecília Gatto
 
Manual Oppitz[1]
Manual Oppitz[1]Manual Oppitz[1]
Manual Oppitz[1]maureen3008
 
MANUAL OPPITZ
MANUAL OPPITZMANUAL OPPITZ
MANUAL OPPITZritasbett
 
Aula 2 - Introdução aos Miconcontroladores.pptx
Aula 2 - Introdução aos Miconcontroladores.pptxAula 2 - Introdução aos Miconcontroladores.pptx
Aula 2 - Introdução aos Miconcontroladores.pptxAntonioCarlos349007
 
Curso clp siemens
Curso clp siemensCurso clp siemens
Curso clp siemensSENAI SP
 
Introdução aos sistemas operacionais embarcados
Introdução aos sistemas operacionais embarcadosIntrodução aos sistemas operacionais embarcados
Introdução aos sistemas operacionais embarcadosRodrigo Almeida
 
Informatica Básica Aplicada no Contexto das Desigualdades sociais
Informatica Básica Aplicada no Contexto das Desigualdades sociaisInformatica Básica Aplicada no Contexto das Desigualdades sociais
Informatica Básica Aplicada no Contexto das Desigualdades sociaisRICARDO81499
 
Algoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoAlgoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoElaine Cecília Gatto
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.pptssuserb52d9e
 

Semelhante a Introdução a sistemas embarcados e microcontroladores (20)

1 história e características dos microcontroladores pic
1 história e características dos microcontroladores pic1 história e características dos microcontroladores pic
1 história e características dos microcontroladores pic
 
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES IORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
 
Aula 1 aed - introdução à computação
Aula 1   aed - introdução à computaçãoAula 1   aed - introdução à computação
Aula 1 aed - introdução à computação
 
Introdução à Computação
Introdução à ComputaçãoIntrodução à Computação
Introdução à Computação
 
Programando microcontroladores pic março
Programando microcontroladores pic marçoProgramando microcontroladores pic março
Programando microcontroladores pic março
 
1- Introdução.ppt
1- Introdução.ppt1- Introdução.ppt
1- Introdução.ppt
 
Manual Oppitz[1]
Manual Oppitz[1]Manual Oppitz[1]
Manual Oppitz[1]
 
MANUAL OPPITZ
MANUAL OPPITZMANUAL OPPITZ
MANUAL OPPITZ
 
CLP-S7-1200 NÍVEL 1.pptx
CLP-S7-1200 NÍVEL 1.pptxCLP-S7-1200 NÍVEL 1.pptx
CLP-S7-1200 NÍVEL 1.pptx
 
Aula 2 - Introdução aos Miconcontroladores.pptx
Aula 2 - Introdução aos Miconcontroladores.pptxAula 2 - Introdução aos Miconcontroladores.pptx
Aula 2 - Introdução aos Miconcontroladores.pptx
 
Basico sobre clp
Basico sobre clpBasico sobre clp
Basico sobre clp
 
Curso clp siemens
Curso clp siemensCurso clp siemens
Curso clp siemens
 
Redes2 aula02
Redes2 aula02Redes2 aula02
Redes2 aula02
 
Informatica Basica.pptx
Informatica Basica.pptxInformatica Basica.pptx
Informatica Basica.pptx
 
Introdução aos sistemas operacionais embarcados
Introdução aos sistemas operacionais embarcadosIntrodução aos sistemas operacionais embarcados
Introdução aos sistemas operacionais embarcados
 
AVR
AVRAVR
AVR
 
Informatica Básica Aplicada no Contexto das Desigualdades sociais
Informatica Básica Aplicada no Contexto das Desigualdades sociaisInformatica Básica Aplicada no Contexto das Desigualdades sociais
Informatica Básica Aplicada no Contexto das Desigualdades sociais
 
Introducao clp
Introducao clpIntroducao clp
Introducao clp
 
Algoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoAlgoritmos - Introdução à Computação
Algoritmos - Introdução à Computação
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.ppt
 

Mais de JADSON SANTOS

Capitulo 3 -_circuitos_con_diodos_diodos_zener
Capitulo 3 -_circuitos_con_diodos_diodos_zenerCapitulo 3 -_circuitos_con_diodos_diodos_zener
Capitulo 3 -_circuitos_con_diodos_diodos_zenerJADSON SANTOS
 
Indutores e transformadores
Indutores e transformadoresIndutores e transformadores
Indutores e transformadoresJADSON SANTOS
 
Capítulo4 interpolação
Capítulo4 interpolaçãoCapítulo4 interpolação
Capítulo4 interpolaçãoJADSON SANTOS
 
Mn aula06-interpolacao
Mn aula06-interpolacaoMn aula06-interpolacao
Mn aula06-interpolacaoJADSON SANTOS
 
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...JADSON SANTOS
 

Mais de JADSON SANTOS (13)

Aula4 reguladores
Aula4 reguladoresAula4 reguladores
Aula4 reguladores
 
Capitulo 3 -_circuitos_con_diodos_diodos_zener
Capitulo 3 -_circuitos_con_diodos_diodos_zenerCapitulo 3 -_circuitos_con_diodos_diodos_zener
Capitulo 3 -_circuitos_con_diodos_diodos_zener
 
Capítulo 5
Capítulo 5Capítulo 5
Capítulo 5
 
Elepot2006 proj (1)
Elepot2006 proj (1)Elepot2006 proj (1)
Elepot2006 proj (1)
 
Indutores e transformadores
Indutores e transformadoresIndutores e transformadores
Indutores e transformadores
 
16 resolvidas
16 resolvidas16 resolvidas
16 resolvidas
 
Resolvidas
ResolvidasResolvidas
Resolvidas
 
Segundaultduaslinha
SegundaultduaslinhaSegundaultduaslinha
Segundaultduaslinha
 
Capítulo4 interpolação
Capítulo4 interpolaçãoCapítulo4 interpolação
Capítulo4 interpolação
 
Mn aula06-interpolacao
Mn aula06-interpolacaoMn aula06-interpolacao
Mn aula06-interpolacao
 
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...
 
Embarcado
EmbarcadoEmbarcado
Embarcado
 
Inter pol
Inter polInter pol
Inter pol
 

Introdução a sistemas embarcados e microcontroladores

  • 1. 29/10/2012 1 Programação de Sistemas Embarcados Prof. Murilo Plínio muriloplinio@gmail.com UNIFACS – Universidade Salvador Engenharia da Computação Aula 2 – Introdução a Sistemas Embarcados e a Microcontroladores Perguntas: 1. O que é um Microcontrolador? – Qual a diferença entre Microcontrolador e Microprocessador? 2. O que é um Sistema Embarcado (SE)? – Onde encontramos SEs? 3. Por quê utilizar microcontroladores? 4. Como desenvolver um projeto de um SE? – Que dispositivo escolher? Que linguagem? Ferramentas?
  • 2. 29/10/2012 2 Sistemas Processados _processor On-chip RAM On-chip ROM for program code 4 I/O Ports Timer 0 Serial PortOSC Interrupt Control External interrupts Timer 1 Timer/Counter Bus Control TxD RxDP0 P1 P2 P3 Address/Data Counter Inputs 1. O que é um Microprocessador? • É um dispositivo capaz de processar informações. É constituído de uma unidade lógica aritmética, uma unidade de controle para manipulação interna e externa dos dados e registradores. • Ex.: Zilog: Z80 (PC XT); Motorola/Frescale: 6502; Intel/AMD: 8086, 80286, 80386, 80486 (PC AT), Pentium, Atlhon
  • 3. 29/10/2012 3 1. O que é um Microcontrolador? • É um dispositivo capaz de processar informações seguindo um software nele programado. Ex.: • Microchip: PIC16F84, PIC16F877, PIC18F452... • Texas Instruments: MSP430F149, MSP430F123, MSP430F122, MSC1211... • Freescale: 68HC908AP16, 68HC08GP32A, MM908E621... • Atmel: AT89C51, AT89C2051, AT89C51SND2C... Microprocessador vs Microcontrolador
  • 4. 29/10/2012 4 Microcontrolador vs Microprocessador? • Microcontroladores são “computadores” em um único chip! – Possuem internamente unidade lógica e aritmética, memória de programa, memória de dados, portas de entrada e saída serial e paralela, timers, contadores, PWM, conversores analógicos e digitais etc. • Microprocessadores são processadores de uso genérico. Microprocessador CPU General- Purpose Micro- processor RAM ROM I/O Port Timer Serial COM Port Data Bus Address Bus Many chips on mother’s board O clock pode alcançar até 3.33Ghz. Em overclocking, com cooler de ar, até 4.0Ghz, e com cooler de refrigeração baseada em água até 5Ghz. Com refrigeração a nitrogênio líquido ( somente em experimentos ) já foram alcançados 6.00Ghz.
  • 5. 29/10/2012 5 Microcontrolador O clock pode alcançar 48 MHz (12 MIPS). Microprocessor • CPU is stand-alone, RAM, ROM, I/O, timer are separate • designer can decide on the amount of ROM, RAM and I/O ports. • expansive • versatility • general-purpose Microcontroller • CPU, RAM, ROM, I/O and timer are all on a single chip • fix amount of on-chip ROM, RAM, I/O ports • for applications in which cost, power and space are critical • single-purpose Microprocessor vs. Microcontroller
  • 6. 29/10/2012 6 Evolução para microcontroladores? • Com o barateamento dos CIs e o surgimento de microprocessadores (CPUs) mais poderosos, começou-se a usar as CPUs mais simples para implementar tarefas dedicadas: controle de impressora, plotter, reguladores de velocidade, acionadores de motores de passo, controladores de elevadores, etc. • Contudo, qualquer controle implicará uma circuitaria muito grande, que muitas vezes encarece o custo do controlador. Por quê microcontroladores? •Estas aplicações tinham o custo dependente do preço da CPU e dos periféricos (ROM, RAM, Portas, A/D, D/A, etc) e também da quantidade de conexões e do tamanho da placa. • Para reduzir o custo, começou a surgir a idéia de colocar todos estes periféricos dentro do chip da CPU. • Isso baratearia e diminuiria o tamanho do circuito impresso além de aumentar a confiabilidade.
  • 7. 29/10/2012 7 Por quê microcontroladores? • Por outro lado, uma CPU dedicada a um determinado controle não precisa ser muito rápida nem tampouco ter um conjunto de instruções extenso e poderoso. • Não são necessárias instruções para trabalhar com ponto flutuante, com strings ou vetores e também os mecanismos de endereçamento • Devem ser simples. • Ou seja, pode-se simplificar a CPU. • Assim surgem os microcontroladores, que são simples, baratos e eficientes. Por quê microcontroladores? •Os microcontroladores são específicos para controle, não tem grande capacidade de processamento e por isso nunca haverá um computador pessoal cuja CPU seja um microcontrolador. • Eles podem estar presentes em um PC, mas apenas para controlar periféricos. • Embora existam vários microcontroladores que têm aplicações específicas, como por exemplo o controlador de teclado 80C51SL-BG e o controlador de comunicações universal 82C152. •Os microcontroladores estão aplicados em sistemas embarcados
  • 8. 29/10/2012 8 O que é um Sistema Embarcado (SE)? 15 “Um sistema embarcado é um computador especial com propósito específico que é usado dentro de um dispositivo. Exemplo: Um aparelho de microondas possui um sistema embarcado que aceita entradas do painel, controla o display e liga e desliga os elementos para aquecimento.” “Um S.E. é qualquer dispositivo controlado por instruções armazenadas em um chip. Estes dispositivos são normalmente controlado por um microprocessador que executa instruções armazenadas num chip ROM.” 16 Definição
  • 9. 29/10/2012 9 “An embedded system employs a combination of hardware & software (a “computational engine”) to perform a specific function; is part of a larger system that may not be a “computer”; works in a reactive and time-constrained environment”. (Gupta UCI). A designação de Sistema Embarcado cabe a quaisquer sistemas digitais que estejam incorporados a outros sistemas, com o fim de acrescer ou otimizar funcionalidades. (Meuse Oliveira Jr, Cin/UFPE) 17 Definição 18 S.E. são... •Incorporado a outros sistemas; •São microprocessados; •Têm severas restrições (temporais, energia, ...); •Funcionalidade específica; •São “invisíveis”; S.E. podem não ser tão visíveis como os PCs e laptops, mas consomem 98% dos processadores vendidos no mundo todo ano (computerword, maio 2011)
  • 10. 29/10/2012 10 19 Por que esse avanço na área de S.E.? • Avanço tecnológico na área de micro-processadores • Preços reduzidos • Novos métodos, técnicas e ferramentas tiveram que ser desenvolvidos • Redução de custo de desenvolvimento • Sistemas em rede, seguro, reconfigurável, restrições temporais rígidas, ... • Técnicas de verificação e validação • Geradores de código, APIs, middleware, ... • Os sistemas são bastante interessantes e com maiores desafios implementacionais... 20 Apresentar Slides 16 – 50 (ISE-02-introdução.pdf)
  • 11. 29/10/2012 11 21 4 - Como desenvolver um projeto de um SE? • Especificar e delimitar o projeto • Listar recursos necessarios •* Atentar para acessibilidade I. Definir o microcontrolador II. Definir a linguagem de programação III. Definir ferramentas de suporte ao desenvolvimento Simulação do circuito, programação, gravação, etc 22 I. Definir o Microcontrolador Família de microcontroladores: •PIC – Microchip •8051 - Vários •ARM – Vários Qual utilizar?
  • 12. 29/10/2012 12 1. meeting the computing needs of the task efficiently and cost effectively • speed, the amount of ROM and RAM, the number of I/O ports and timers, size, packaging, power consumption • easy to upgrade • cost per unit 2. availability of software development tools • assemblers, debuggers, C compilers, emulator, simulator, technical support 3. wide availability and reliable sources of the microcontrollers. Three criteria in Choosing a Microcontroller 24 II. Definir a Linguagem de Programação •Linguagem de alto nível – C •Linguagem de baixo nível - Assembly Qual utilizar?
  • 13. 29/10/2012 13 Assembly ou C ? Linguagem Vantagens Desvantagens Assembly •Código Rápido; •Total controle do hardware; •Mehor controle dos tempos de execução das rotinas; •Código de máquina gerado menor (economia de memória) •Estrutura simples e intuitiva •Dificuldades para trabalho com variáveis e expressões matemáticas; •Necessidade de muitas linhas de programa; •Deficiência em estrutura de controle e repetição; •Dificuldade de migração do programa (baixa portabilidade) C •Criação de programas que utilizam menos linhas; •Utilização de estruturas de controle de repetição (if, for, while...) •Facilidade para trabalhar com variáveis e expressões aritméticas; •Portabilidade do código; •Perda do controle do tempo de execução de cada rotina; •Código de máquina maior e mais lento;
  • 14. 29/10/2012 14 27 III. Definir Ferramentas •Circutito – Proteus •Programação e Compilação – CCS, PICc, Mplab, Keil, MicroC... •Gravação- WinPIC800 Qual utilizar? Sistemas Processados Fundamentos de computação: (cont.) • Programa (Software): conjunto de instruções arranjadas de forma organizada que apresenta função específica (Ex: Programas Básicos, Aplicativos, Utilitários, etc.); • Firmware: Programa que está armazenado em memória não volátil (ROM); • Hardware: partes eletrônicas de um microcomputador; • Microcontrolador: microcomputador integrado num único chip (microprocessador + periféricos);
  • 15. 29/10/2012 15 Sistemas Processados • Periféricos – Circuitos acessórios ao computador que realizam tarefas específicas; – Exemplos: • Timers; • CCP (Comparação, Captura e PWM); • Conversores Analógico-Digital e Digital-Analógico; • Portas de comunicação (USART, I2C, SPI, USB, CAN,...). Arquiteturas • von Neumann “Instruções e dados compartilham a mesma unidade física de memória” Hamacher – Computer Organization
  • 16. 29/10/2012 16 Arquiteturas - von Neumann A AX BX CX DX tempA tempB IR=MOV AX,0 MA = 0 MD=MOV AX,0 BUS Entrada B Saída Z Entrada A Entrada B Saída Z Entrada A MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 0 1 2 3 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 0 1 2 3 ...4 .4 Memória IP = 0 uP tempA = 0tempA ...4 O5 ...4 L6 ...4 A7 Inst. Dados Arquiteturas • Harvard “Instruções e dados são armazenados em memórias diferentes” Heuring – Computer Systems Disignd and Architecture Vantagem: Instruções e dados podem ser acessados simultaneamente, aumentando o desempenho! O PIC segue esta arquitetura! Um barramento de dados de 8 bits e outro para instruções (12, 14 ou 16 bits)
  • 17. 29/10/2012 17 Arquiteturas • Harvard AX BX CX DX tempA tempB IR=MOV AX,0 MA = 0 MD=MOV AX,0 BUS Entrada B Saída Z Entrada A Entrada B Saída Z Entrada A MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 0 1 2 3 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 0 1 2 3 ...4 .0 Memória de Programa IP = 0 uP tempA = 0tempA ...4 O1 ...4 L2 ...4 A3 Inst. Dados Memória de Dados IP CTRL Instruction Set • Definição: Conjunto de instruções que um processador compreende; • Cada processador possui seu próprio conjunto de instruções, inviabilizando, na maioria dos casos, a portabilidade.
  • 18. 29/10/2012 18 Instruction Set • CISC – Complex Instruction Set Computing – Computação onde o número de instruções é muito grande; – O 8051 pertence a este grupo. (120 inst.) • RISC – Computação onde um número reduzido de instruções estão disponíveis. – O PIC possui um número reduzidos de Instruction Set (RISC) (35 inst.) Instruction Set • Considerações sobre RISC e CISC – Uma única instrução CISC pode equivaler a várias instruções RISC; – Uma instrução CISC precisa realizar passos semelhantes aos realizados pelas RISC equivalentes (não há ganho de desempenho); – CISC minimiza o número de acessos a memória de programa; – RISC simplifica a decodificação de instruções, deixando esta etapa mais rápida.
  • 19. 29/10/2012 19 Instruction Set • Vantagens CISC: – Apesar do conjunto de instruções ser muito grande, oferece um número maior de instruções (“ferramentas”) ao programador Assembly; – Menor quantidade de instruções são necessárias para desenvolver um programa (programas ocupam menos memória). Instruction Set • Vantagens RISC: – Etapa de decodificação tão simples que pode, em alguns casos, ser eliminada; – Com um número menor de instruções, os parâmetros destas podem ser agregados no opcode (código de máquina de uma instrução), simplificando inclusive o FETCH. – Simplificação dos circuitos eletrônicos.
  • 20. 29/10/2012 20 PIC • O PIC, da Microchip, é o microcontrolador mais acessível localmente. • O dispositivo em si é um microcontrolador de 8 bits relativamente simples, mas com ampla aplicação. • Porém, o mais importante é que não existe somente o CI PIC, mais sim uma família de microcontroladores baseada no mesmo. • Entende-se família como sendo um conjunto de dispositivos que compartilha os mesmos elementos básicos, tendo também um mesmo conjunto básico de instruções. 39 PIC • Alguns exemplos de cada família da Microchip. 40
  • 21. 29/10/2012 21 PIC • Sistemas microprocessados são aqueles que têm por elemento central um microprocessador. • O microprocessador funciona como um sistema seqüencial síncrono, onde a cada pulso, ou grupos de pulsos de clock, uma instrução é executada. • Embora já existam microprocessadores que trabalhem a centenas de MHz, o PIC utiliza tipicamente um clock de 12 MHz, com tempos de execução de cada instrução variando entre 1μs e 4 μs. • No PIC, cada pulso de máquina corresponde a 4 pulsos do relógio (clock) – Para clock de 4 MHz, um pulso de clock ocorre em 1/4000000 s. – Cada pulso da máquina ocorre a cada 1/1000000 = 1μs. 41 Principais Características do PIC 16F628 • Microcontrolador de 18 pinos • Até 16 portas configuráveis como entrada ou saída • 2 Osciladores internos (4MHz ou 37kHz) • 10 Interrupções Disponíveis "Timers, Externa, Mudança de Estado, EEPROM, USART e Comparador • Memória de programa. FLASH (2K “words” – 14 bits) • EEPROM interna de 128 bytes • RAM interna de 224 bytes • Hardwares especiais: CCP, Comparador Interno e USART • Programação com 14 bits e 35 instruções
  • 22. 29/10/2012 22 Pinagem: Principais Características do PIC 16F628 • 16 I/Os separados em dois grupos denominados PORTAS (port A e port B) – port A: RA0; RA1 ... RA7 – Idem para port B – Pinos de múltiplas funções – VDD (5V) e VSS (GND)