Você está na página 1de 22

29/10/2012

1
Programao de Sistemas Embarcados
Prof. Murilo Plnio
muriloplinio@gmail.com
UNIFACS Universidade Salvador
Engenharia da Computao
Aula 2 Introduo a Sistemas Embarcados e a Microcontroladores
Perguntas:
1. O que um Microcontrolador?
Qual a diferena 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
Port
OSC
Interrupt
Control
External interrupts
Timer 1
Timer/Counter
Bus
Control
TxD RxD P0 P1 P2 P3
Address/Data
Counter
Inputs
1. O que um Microprocessador?
um dispositivo capaz de processar
informaes. constitudo de uma unidade
lgica aritmtica, uma unidade de controle
para manipulao 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 informaes
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 so computadores em
um nico chip!
Possuem internamente unidade lgica e
aritmtica, memria de programa, memria de
dados, portas de entrada e sada serial e paralela,
timers, contadores, PWM, conversores analgicos
e digitais etc.
Microprocessadores so processadores de uso
genrico.
Microprocessador
CPU
General-
Purpose
Micro-
processor
RAM ROM
I/O
Port
Timer
Serial
COM
Port
Data Bus
Address Bus
Many chips on mothers board
O clock pode alcanar at 3.33Ghz. Em
overclocking, com cooler de ar, at 4.0Ghz, e com
cooler de refrigerao baseada em gua at 5Ghz.
Com refrigerao a nitrognio lquido ( somente em
experimentos ) j foram alcanados 6.00Ghz.
29/10/2012
5
Microcontrolador
O clock pode alcanar 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
Evoluo para microcontroladores?
Com o barateamento dos CIs e o surgimento de
microprocessadores (CPUs) mais poderosos,
comeou-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 aplicaes tinham o custo dependente do
preo da CPU e dos perifricos (ROM, RAM,
Portas, A/D, D/A, etc) e tambm da quantidade de
conexes e do tamanho da placa.
Para reduzir o custo, comeou a surgir a idia de
colocar todos estes perifricos dentro do chip da
CPU.
Isso baratearia e diminuiria o tamanho do circuito
impresso alm de aumentar a confiabilidade.
29/10/2012
7
Por qu microcontroladores?
Por outro lado, uma CPU dedicada a um determinado
controle no precisa ser muito rpida nem tampouco ter
um conjunto de instrues extenso e poderoso.
No so necessrias instrues para trabalhar com ponto
flutuante, com strings ou vetores e tambm os
mecanismos de endereamento
Devem ser simples.
Ou seja, pode-se simplificar a CPU.
Assim surgem os microcontroladores, que so simples,
baratos e eficientes.
Por qu microcontroladores?
Os microcontroladores so especficos para controle, no
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 perifricos.
Embora existam vrios microcontroladores que tm
aplicaes especficas, como por exemplo o controlador de
teclado 80C51SL-BG e o controlador de comunicaes
universal 82C152.
Os microcontroladores esto aplicados em sistemas
embarcados
29/10/2012
8
O que um Sistema Embarcado (SE)?
15
Um sistema embarcado um computador especial com
propsito especfico 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 instrues
armazenadas em um chip. Estes dispositivos so normalmente
controlado por um microprocessador que executa instrues
armazenadas num chip ROM.
16
Definio
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 designao 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
Definio
18
S.E. so...
Incorporado a outros sistemas;
So microprocessados;
Tm severas restries (temporais, energia, ...);
Funcionalidade especfica;
So invisveis;
S.E. podem no ser to visveis 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 avano na rea de S.E.?
Avano tecnolgico na rea de micro-processadores
Preos reduzidos
Novos mtodos, tcnicas e ferramentas tiveram que ser desenvolvidos
Reduo de custo de desenvolvimento
Sistemas em rede, seguro, reconfigurvel, restries temporais rgidas, ...
Tcnicas de verificao e validao
Geradores de cdigo, APIs, middleware, ...
Os sistemas so bastante interessantes e com maiores desafios
implementacionais...
20
Apresentar Slides 16 50
(ISE-02-introduo.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 programao
III. Definir ferramentas de suporte ao desenvolvimento
Simulao do circuito, programao, gravao, etc
22
I. Definir o Microcontrolador
Famlia de microcontroladores:
PIC Microchip
8051 - Vrios
ARM Vrios
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 Programao
Linguagem de alto nvel C
Linguagem de baixo nvel - Assembly
Qual utilizar?
29/10/2012
13
Assembly ou C ?
Linguagem Vantagens Desvantagens
Assembly
Cdigo Rpido;
Total controle do hardware;
Mehor controle dos tempos de
execuo das rotinas;
Cdigo de mquina gerado menor
(economia de memria)
Estrutura simples e intuitiva
Dificuldades para trabalho com
variveis e expresses
matemticas;
Necessidade de muitas linhas de
programa;
Deficincia em estrutura de
controle e repetio;
Dificuldade de migrao do
programa (baixa portabilidade)
C
Criao de programas que utilizam
menos linhas;
Utilizao de estruturas de controle
de repetio (if, for, while...)
Facilidade para trabalhar com
variveis e expresses aritmticas;
Portabilidade do cdigo;
Perda do controle do tempo de
execuo de cada rotina;
Cdigo de mquina maior e mais
lento;
29/10/2012
14
27
III. Definir Ferramentas
Circutito Proteus
Programao e Compilao CCS, PICc, Mplab, Keil,
MicroC...
Gravao- WinPIC800
Qual utilizar?
Sistemas Processados
Fundamentos de computao: (cont.)
Programa (Software): conjunto de instrues arranjadas de
forma organizada que apresenta funo especfica (Ex:
Programas Bsicos, Aplicativos, Utilitrios, etc.);
Firmware: Programa que est armazenado em memria no
voltil (ROM);
Hardware: partes eletrnicas de um microcomputador;
Microcontrolador: microcomputador integrado num nico
chip (microprocessador + perifricos);
29/10/2012
15
Sistemas Processados
Perifricos
Circuitos acessrios ao computador que realizam
tarefas especficas;
Exemplos:
Timers;
CCP (Comparao, Captura e PWM);
Conversores Analgico-Digital e Digital-Analgico;
Portas de comunicao (USART, I2C, SPI, USB, CAN,...).
Arquiteturas
von Neumann
Instrues e dados compartilham a mesma
unidade fsica de memria
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
Sada Z
Entrada A Entrada B
Sada 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
Memria
IP = 0
uP
tempA = 0 tempA
... 4 O 5
... 4 L 6
... 4 A 7
Inst.
Dados
Arquiteturas
Harvard
Instrues e dados so armazenados em
memrias diferentes
Heuring Computer Systems Disignd and Architecture
Vantagem: Instrues e dados podem ser acessados
simultaneamente, aumentando o desempenho!
O PIC segue esta arquitetura! Um barramento de
dados de 8 bits e outro para instrues (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
Sada Z
Entrada A Entrada B
Sada 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
Memria de
Programa
IP = 0
uP
tempA = 0 tempA
... 4 O 1
... 4 L 2
... 4 A 3
Inst.
Dados
Memria de
Dados
IP CTRL
Instruction Set
Definio: Conjunto de instrues que um
processador compreende;
Cada processador possui seu prprio conjunto
de instrues, inviabilizando, na maioria dos
casos, a portabilidade.
29/10/2012
18
Instruction Set
CISC Complex Instruction Set Computing
Computao onde o nmero de instrues
muito grande;
O 8051 pertence a este grupo. (120 inst.)
RISC
Computao onde um nmero reduzido de
instrues esto disponveis.
O PIC possui um nmero reduzidos de Instruction
Set (RISC) (35 inst.)
Instruction Set
Consideraes sobre RISC e CISC
Uma nica instruo CISC pode equivaler a vrias
instrues RISC;
Uma instruo CISC precisa realizar passos
semelhantes aos realizados pelas RISC
equivalentes (no h ganho de desempenho);
CISC minimiza o nmero de acessos a memria de
programa;
RISC simplifica a decodificao de instrues,
deixando esta etapa mais rpida.
29/10/2012
19
Instruction Set
Vantagens CISC:
Apesar do conjunto de instrues ser muito
grande, oferece um nmero maior de instrues
(ferramentas) ao programador Assembly;
Menor quantidade de instrues so necessrias
para desenvolver um programa (programas
ocupam menos memria).
Instruction Set
Vantagens RISC:
Etapa de decodificao to simples que pode, em
alguns casos, ser eliminada;
Com um nmero menor de instrues, os
parmetros destas podem ser agregados no
opcode (cdigo de mquina de uma instruo),
simplificando inclusive o FETCH.
Simplificao dos circuitos eletrnicos.
29/10/2012
20
PIC
O PIC, da Microchip, o microcontrolador mais
acessvel localmente.
O dispositivo em si um microcontrolador de 8
bits relativamente simples, mas com ampla
aplicao.
Porm, o mais importante que no existe
somente o CI PIC, mais sim uma famlia de
microcontroladores baseada no mesmo.
Entende-se famlia como sendo um conjunto de
dispositivos que compartilha os mesmos elementos
bsicos, tendo tambm um mesmo conjunto bsico
de instrues.
39
PIC
Alguns exemplos de cada famlia da Microchip.
40
29/10/2012
21
PIC
Sistemas microprocessados so aqueles que tm por
elemento central um microprocessador.
O microprocessador funciona como um sistema
seqencial sncrono, onde a cada pulso, ou grupos de
pulsos de clock, uma instruo executada.
Embora j existam microprocessadores que trabalhem a
centenas de MHz, o PIC utiliza tipicamente um clock de
12 MHz, com tempos de execuo de cada instruo
variando entre 1s e 4 s.
No PIC, cada pulso de mquina corresponde a 4 pulsos
do relgio (clock)
Para clock de 4 MHz, um pulso de clock ocorre em 1/4000000
s.
Cada pulso da mquina ocorre a cada 1/1000000 = 1s.
41
Principais Caractersticas do PIC
16F628
Microcontrolador de 18 pinos
At 16 portas configurveis como entrada ou sada
2 Osciladores internos (4MHz ou 37kHz)
10 Interrupes Disponveis "Timers, Externa, Mudana de
Estado, EEPROM, USART e Comparador
Memria de programa. FLASH (2K words 14 bits)
EEPROM interna de 128 bytes
RAM interna de 224 bytes
Hardwares especiais: CCP, Comparador Interno e USART
Programao com 14 bits e 35 instrues
29/10/2012
22
Pinagem:
Principais Caractersticas 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 mltiplas funes
VDD (5V) e VSS (GND)

Você também pode gostar