Buscar

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 49 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 49 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 49 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

Sistemas 
Embarcados: 
Microcontroladores
Prof. Protásio
Laboratório de Microengenharia/DEE/CEAR/UFPB
Apresentação da disciplina
▪ Disciplina
▪ Sistema Embarcados: microcontroladores
▪ Horário
▪ Às quintas-feiras das 14h00 às 16h00
▪ Contato
▪ protasio@cear.ufpb.br
▪ Onde me encontrar
▪ Laboratório de microengenharia
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 2
Apresentação da disciplina
▪ Ementa
▪ Sistemas embarcados: contexto, características e especificações.
▪ Hardware para sistemas embarcados: 
▪ estrutura geral de unidades de processamento (processador, memórias, 
barramentos, subsistemas internos, interfaceamento e modos de operação), 
▪ microcontroladores, DSPs, ASIPs, lógica reconfigurável, ASICs, 
▪ interface de entrada (sensores, sample-hold, conversores A/D), 
▪ interface de saída (conversores D/A, atuadores), 
▪ elementos de memória embarcada e externa. 
▪ Gerenciamento de eficiência energética. 
▪ Metodologias e ferramentas de projeto. 
▪ Microcontroladores: famílias, programação assembly e C, contadores, 
temporizadores e dispositivos de segurança de operação, 
interrupções. 
▪ Programação concorrente e em tempo real. 
▪ Redes de microcontroladores e protocolos de comunicação. 
▪ Sistemas com comunicação sem fio. 
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 3
Apresentação da disciplina
▪ Bibliografia
▪ Ed Lipiansky. Embedded Systems Hardware for Software 
Engineers. McGraw Hill, 2012.
▪ Elecia White. Making Embedded Systems: Design Patterns for 
Great Software, O’Reilly, 2012.
▪ Frank Vahid and Tony Givargis. Embedded System Design: A 
Unified Hardware/Software Approach. Department of Computer 
Science and Engineering. University of California. 1999.
▪ NOERGAARD, Tammy. Embedded Systems Architecture. Newnes
ed. 2005.
▪ Data sheets.
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 4
Etapas do Curso
▪ 1ª Teoria
▪ Sistema embarcados 
▪ Definições
▪ Arquitetura e Metodologia de Projeto
▪ 2ª Teoria/Prática
▪ Organização, programação, IDE e projeto inicial em MCU1
▪ Organização, programação, IDE e projeto inicial em MCU2
:
▪ Organização, programação, IDE e projeto inicial em MCUn
▪ 3ª Aplicação
▪ Desenvolvimento de projetos com MCUs
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 5
Apresentação da disciplina
▪ Avaliações
▪ 1ª. Prova escrita
▪ 2ª. Seminários: documentos escritos e apresentação.
▪ 3ª. Projeto de um sistema embarcado: relatório e 
apresentação.
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 6
Etapas do Curso
▪ Para cada microcontrolador (MCU):
▪ ARQUITETURA E ORGANIZAÇÃO
▪ FAMÍLIAS
▪ CLOCKS
▪ REGISTRADORES
▪ MEMÓRIAS
▪ RISC X CISC
▪ PLACAS EXPERIMENTAIS
▪ IDE
▪ ESTRUTURA DE PROGRAMAÇÃO EM “ASSEMBLY” E “C”
▪ BOTÕES E LEDS
▪ INTERRUPÇÕES
▪ PERIFÉRICOS
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 7
Sistemas 
Embarcados
Conceitos Iniciais
O que é um sistema 
embarcado?
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 9
O que é um sistema embarcado?
▪É um sistema computacional que é 
parte de um sistema maior e que realiza 
alguns dos requerimentos deste 
sistema. 
▪ IEEE Standard Computer Dictionary, 1990.
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 10
O que é um sistema embarcado?
▪É qualquer sistema que utiliza uma CPU 
de propósito geral, mas não é um 
computador de propósito geral. 
▪ WOLF, Wayne and FREY, Ernest. Tutorial on Embedded System 
Design, Design on VLSI in Computer & Processors, 1992.
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 11
O que é um sistema embarcado?
▪É um sistema computacional aplicado.
▪ NOERGAARD, Tammy. Embedded Systems Architecture, 
2005.
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 12
O que é um sistema embarcado?
▪É um sistema baseado em 
microprocessamento que é construído 
para controlar a função, ou conjunto de 
funções, deste sistema, mas não é 
programável pelo usuário final na 
mesma forma que um PC é.
▪ HEATH, Steve. Embedded system design. 2ed, 2003.
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 13
O que é um sistema embarcado?
▪ É um sistema computadorizado construído 
para uma aplicação que não seja a 
computação em si.
▪ Entretanto, não há uma definição clara o suficiente 
do que seja um sistema embarcado, no sentido de 
definir:
▪ Qual o tamanho
▪ Sistema de controle de um navio
▪ Controle remoto de TV
▪ Qual a rapidez de processamento
▪ Um celular de última geração
▪ Um nó sensor com um microcontrolador de 8-bits
▪ Onde é localizado
▪ Em uma indústria (fixo)
▪ Junto ao uma baleia (móvel)
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 14
Sistema Embarcado: exemplos
Mercado Dispositivo embarcado
Automotivo Sistema de ignição
Controle do motor
Sistema de freio antitravamento
Eletrônica de 
consumo
Televisão analógica e digital
Set-Top Boxes (DVDs, VCRs, TV a cabo, etc.)
Personal Data Assistant (PDAs)
Aparelhos domésticos (refrigerador, tostadeira, 
forno de microondas, etc.)
Brinquedos, Jogos
Telefones, celulares, pagers, GPS
Câmeras
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 15
Sistema Embarcado: exemplos
Mercado Dispositivo embarcado
Controle 
industrial
Robôs
Sistemas de controle
Médico Bombas de infusão
Máquina de hemodiálise
Próteses eletroeletrônica
Monitores cardíacos
Rede Roteadores, Hubs, gateways
Escritório Fax
Fotocopiadoras
Impressoras
Monitores, escâneres
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 16
Sistema Embarcado: exemplos
▪ Universidade de Michigan
▪ Tiny generators to harvest energy from the bug’s
movements ou body heat.
Utilidade: 
monitoramento 
de desastre
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 17
Características de Sistemas Embarcados
▪ Todos os sistemas embarcados apresentam as 
seguintes características comuns:
▪ Hardware embarcado
▪ Software e Firmware embarcado
▪ Restrições (muitas restrições)
Características de Sistemas Embarcados
▪ Forte acoplamento entre HW e SW.
▪ Requer um misto de metodologias de projeto
em HW, SW e FW.
▪ Requer projetos distintos em HW, SW e FW.
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 19
Características de Sistemas Embarcados
▪ Conceitos básicos
▪ Hardware
▪ São os equipamentos físicos utilizados para processamento, 
armazenamento e/ou transmissão de programas ou dados de 
computadores
▪ IEEE Standard Computer Dictionary
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 20
Características de Sistemas Embarcados
▪ Conceitos básicos
▪ Software
▪ Programa de computador e possível documentação associada e 
os dados pertinentes à operação de um sistema 
computadorizado.
▪ IEEE Standard Computer Dictionary
▪ São programas que operam em níveis de abstração superior ao 
nível de HW. Em geral, detalhes de HW são abstraídos (WOLF, 
1992). 
▪ Por exemplo: através do sistema operacional. 
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 21
Características de Sistemas Embarcados
▪ Conceitos básicos
▪ Firmware
▪ São programas que manipulam diretamente o HW sem qualquer 
nível de abstração intermediário (WOLF, 1992).
▪ Frequentemente, são programas residentes em ROM.
▪ É a combinação de um dispositivo (HW) e as instruções e dados 
que residem como SW somente de leitura neste dispositivo 
▪ IEEE Standard Computer Dictionary
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 22
Características de Sistemas Embarcados
▪ Nem todo Sistema Embarcado tem SW.
▪ HW e SW, em geral,têm metodologias de 
desenvolvimento aplicáveis em diferentes 
projetos
▪ podem ser reutilizados
▪ FW, em geral, são ad hoc. 
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 23
Características de Sistemas Embarcados
▪ Vantagens do uso de Sistemas Embarcados
▪ Como eram os sistemas de controles antes do advento 
dos SE?
▪ Exemplo: calculadoras eletrônicas 
▪ Antes de 1970, eram construídas com centenas de 
chips discretos que implementavam as funções lógicas 
necessárias.
▪ Após, com o uso de microprocessadores, as 
calculadoras ficaram baratas e mais funcionais
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 24
Características de Sistemas Embarcados
▪ O uso de MCU facilita a atualização (upgrade) 
do Sistema Embarcado
▪ Antes, era necessário modificar o HW
▪ Após, faz-se necessário somente modificar o SW
▪ Facilita a manutenção
▪ Pode até ser feita remotamente
▪ Sistema Embarcado tiver link de comunicação
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 25
Características de Sistemas Embarcados
▪ O uso de sistemas embarcados promove 
controle mais preciso
▪ Com o uso de controladores digitais, por exemplo, o 
motor de um carro pode ter seu desempenho 
melhorado pela medição da temperatura, mistura do 
combustível, posição do acelerador, etc.
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 26
Características de Sistemas Embarcados
▪ O uso de sistemas embarcados promove 
proteção da propriedade intelectual
▪ Antes, com sistemas baseados em chips e 
componentes de prateleira era relativamente fácil 
fazer engenharia reversa.
▪ Após, existem proteção de conteúdo da memória 
interna de µP sendo extremamente difícil obter o FW 
e/ou SW de controle. 
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 27
Sistemas 
embarcados
HARDWARE EMBARCADO
HARDWARE EMBARCADO
▪ Consiste de todos os:
▪ Componentes eletrônicos, tais como: 
▪ circuitos integrados, indutores, capacitores, resistores, cristais 
osciladores, LEDs e displays;
▪ Componentes eletromecânicos ou mecânicos, tais 
como: 
▪ sensores de pressão, temperatura, fluxo, relês, atuadores, etc.; 
▪ e os demais componentes de suporte (placas, 
chassis, etc.) e específicos dependentes da aplicação. 
HARDWARE EMBARCADO
▪ O principal componente de um sistema embarcado é a 
unidade de processamento (CPU).
▪ Diagrama de bloco de uma unidade de processamento
CPU
PORTAS 
DE 
ENTRADAS 
DE DADOS
PORTAS 
DE SAÍDAS 
DE DADOS
Memória 
de 
Programa
Memória 
de Dados
HARDWARE EMBARCADO
▪ Tipos de unidades de processamento
▪ MPU - Micro Processor Unit
▪ Caracterizada pela alta capacidade de processamento.
▪ Interliga memória externa com unidades externas de I/O
▪ MCU - Micro Controller Unit
▪ Caracterizado por conter em um único CI:
▪ Processador (em geral, com baixa capacidade de processamento)
▪ Dispositivos de entrada: ADC, Entradas binárias, etc.
▪ Dispositivos de saída: DAC, Saídas binárias, etc.
▪ Outros periféricos: timers, counters, rádios, etc.
▪ Memórias: RAM, Flash, etc.
▪ Também é denominado de computador em um chip, controlador embarcado.
▪ DSP - Digital Signal Processor
▪ Caracterizado pela alta capacidade de processamento matemático.
▪ DSC - Digital Signal Controller
▪ Meio termo entre MCU e DSP
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 31
HARDWARE EMBARCADO
▪ Exemplo generalizado
HARDWARE EMBARCADO
▪ Air-bag electronics block diagram
▪ It consist of
▪ Crash detection sensors (typically piezoelectric) with a signal conditioning amplifier
▪ A microcontroller distinguishing between crashes and normal vehicle dynamics, 
▪ An igniter triggering for the pyrotechnic inflator used for air-bag deployment and seat belt tightening. 
FONTE: http://web.iitd.ac.in/~achawla/public_html/736/18-Control%20Systems%20in%20Automobiles_v3.pdf
HARDWARE EMBARCADO
▪ Electronic fuel injection
FONTE: http://web.iitd.ac.in/~achawla/public_html/736/18-Control%20Systems%20in%20Automobiles_v3.pdf
HARDWARE EMBARCADO
▪ Electronically controlled damping system
FONTE: http://web.iitd.ac.in/~achawla/public_html/736/18-Control%20Systems%20in%20Automobiles_v3.pdf
HARDWARE EMBARCADO
▪ Brush DC Motor Control
FONTE: http://www.infineon.com/
HARDWARE EMBARCADO
▪ Brushless DC (BLDC) motors
FONTE:http://www.freescale.com/webapp/sps/site/application.jsp?code=APLBDCM
Sistemas 
embarcados
Software Embarcados
SOFTWARE EMBARCADO
▪ São os softwares que realizam os requisitos do 
sistema em que este está implementado.
▪ Software embarcado podem atuar:
▪ DETERMINISTICAMENTE
▪ Produz sempre a mesma resposta para uma dada entrada.
▪ EM TEMPO REAL
▪ Sempre reage a um evento rápido suficiente dependente do 
sistema.
▪ TOLERANTE À FALHA
▪ Na ocorrência de erros, recupera-se ou opera em condições com 
baixa degradação.
▪ Exemplo de aplicação: em satélites.
▪ EM APLICAÇÕES CRÍTICAS
▪ Na ocorrência de erro, emita alertas. Ex: sistema de monitoramento 
cardíaco.
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 39
SOFTWARE EMBARCADO
▪ Em geral, no desenvolvimento dos software 
embarcado é usada compilação-cruzada.
▪ Compilação-cruzada
▪ O compilador-cruzado é executado em uma máquina (ex. 
computador desktop ou notebook) diferente da máquina alvo (ex. 
microcontrolador) em que o código compilado irá ser executado. 
▪ Em geral, o fabricante da máquina embarcada alvo 
vende ou fornece o compilador-cruzado (cross-
compiler).
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 40
SOFTWARE EMBARCADO
▪ Em geral, a linguagem de programação usada na 
produção de softwares embarcados é a C.
▪ Outra oferecem suporte à programação-orientada à objeto (em 
geral, em C++)
▪ Abstração de dados, encapsulamento, herança, com certas 
limitações. 
▪ Java é também utilizada, mas somente em sistemas embarcados 
com maior poder de processamento, devido sua necessidade de 
máquina virtual. 
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 41
SOFTWARE EMBARCADO
▪ Compilação-cruzada e depuração-cruzada
▪ Oferecer depuração-cruzada, em geral, produz alguma perda de 
recursos do processador para dar suporte à depuração.
▪ Existem diversos processadores embarcados que não dão 
suporte à depuração-cruzada. 
Sistemas 
Embarcados
RESTRIÇÕES
RESTRIÇÕES
▪ Sistemas embarcados são caracterizados por 
terem um conjunto diverso de restrições:
▪ No hardware embarcado
▪ Pouca memória RAM para dados e pouca ROM ou Flash para 
programa.
▪ Unidade de processamento rudimentar
▪ Baixa velocidade de processamento 
▪ Em geral, precisa ter baixo consumo de energia
▪ Isso influencia diretamente no tempo de descarga da bateria
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 44
RESTRIÇÕES
▪ Sistemas embarcados são caracterizados por 
terem um conjunto diverso de restrições:
▪ No hardware embarcado
▪ No projeto, em geral, deve-se ter um equilíbrio entre a 
velocidade de processamento (VP) e o consumo de energia 
(CE):
▪ Maior VP, Maior CE
▪ Menor VP, Menor CE
▪ Há uma infinidade de opções de unidade de processamento 
(isso é bom, ok?)
▪ Nem sempre os periféricos são os de melhor desempenho, 
principalmente, em MCU
Prof. Protásio / Laboratório de Microengenharia/DEE/CEAR/UFPB 45
RESTRIÇÕES
▪ No software embarcado
▪ O código precisa ser extremamente otimizado
▪ Pouca disponibilidade de depuração-cruzada efetiva
▪ Quando não se tem isso, é preciso habilidade para verificar se o 
sistema está operando corretamente
▪ Depuração baseada em printf
▪ Em geral, requer um tempo de aprendizado alto das 
instruções de acesso aosperiféricos ou especificidades 
para cada unidade de processamento
▪ Linguagem Assembly diferentes
▪ Mesmo em C, a interação é específica para cada unidade de 
processamento
RESTRIÇÕES
▪ Em todas as etapas do projeto, o custo é um fator que 
deve ser sempre observado
▪ Lembre-se: o sistema embarcado faz parte de um sistema maior. 
▪ Este é o objetivo do projeto e o sistema embarcado não pode/deve onerá-lo.
▪ Tempo de projeto é uma restrição
▪ Lembre-se: tem uma outra equipe trabalhando no sistema maior e 
o mercado exige rapidez.
▪ A manufaturabilidade deve ser prevista
▪ O sistema embarcado projetado
▪ pode ser reproduzido?
▪ Tem confiabilidade?
▪ Pode ser testando?
▪ É flexível?
▪ Em campo (no consumidor final), pode ser alterado para atender uma possível 
modificação?
▪ Recall
RESTRIÇÕES
▪ Em geral, sistemas embarcados não possuem 
sistema operacional, assim:
▪ Programação embarcada, não tendo o suporte de um 
SO, é muito diferente da programação para 
computadores de uso geral
▪ Deve-se sempre atentar para:
▪ Tempo de inicialização ou reinicialização
▪ Inicialização de variáveis
▪ Vetor de inicialização
▪ Tratamento de interrupção
▪ Interfaces de entrada e saída
Tarefas
▪ Faça uma lista de 10 sistemas (equipamentos ou dispositivos) 
que você acha que tem um sistema embarcado.
▪ Classifique o possível sistema embarcado de acordo com sua:
▪ Capacidade de processamento. É usada uma MCU, MPU, DSC ou 
DSP?
▪ Capacidade de memória
▪ Velocidade de processamento
▪ Criticidade
▪ Tamanho do sistema alvo
▪ Linguagens de programação que podem ser usadas
▪ Consumo de energia
▪ Necessita de componentes eletrônico? Quais?
▪ Necessita de componentes eletromecânicos? Quais?

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes