Buscar

227394524 Sistemas Embarcados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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 availabilityand 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
B
U
S
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
B
U
S
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)

Continue navegando