Você está na página 1de 15

Sistemas Embarcados -

Introdução

CEFET-RJ /UnED Nova Iguaçu


Dept. de Eng. Ind. de Controle e Automação
Informática Industrial
Professor Gardel
Sistemas Embarcados -
Introdução
● Noções Gerais
● Desafios de Projeto
● Reusabilidade de Software
● RTOS (Real-Time Operating Systems)
● Sistemas de Arquivos
● Comunicação Serial
● Gráficos
● Conectividade em Rede
● Suporte IP
● Conclusões
Noções Gerais
● Sistemas Embarcados presentes em
diversos campos
– Aparelhos domésticos
– Automóveis
– Celulares
– Equipamentos industriais
– Redes de Sensores Sem Fio
● O que é Embarcado?
– Muitos não têm idéia do que seja
– Processadores de uso específico limitados em
memória,velocidade e operações
– Exigem resposta a comandos em Tempo-Real
(em geral)
Desafios de Projeto (1)
● Múltiplos Processadores:
– Câmeras digitais têm tipicamente 2:
● Processamento de Imagem
● Processamentos gerais
– Dificuldades de desenvolvimento envolvendo
interações entre os processadores
● Limitação de Memória
– Mesmo não sendo pequena, não pode ser
aumentada sob demanda
– Restrita pelo consumo de energia
– Uso de Linguagem C de forma eficiente
Desafios de Projeto (2)
● Interface de usuário
– Boa parte implementada em software
– Simulação do código de RTOS em
Windows/Linux em PC antes de implementá-lo
– Resultados levados para a Interface de Usuário
que roda no simulador como se fosse no próprio
dispositivo
Reuso de software
● Componentes podendo ser adaptados para
novas funcionalidades
● Prática comum na indústria de software e
hardware isoladamente
– Ainda pouco comum no desenvolvimento
embarcado
● Reuso de código essencial
– Programar de forma mais generalista possível
RTOS (1)
● Sistemas Operacionais de Tempo-Real
– Tempo-Real Rígido: resposta rápida o suficiente,
previsível e determinístico
– Suporte técnico qualificado
– Ferramentas adequadas
– Facilidade de uso
● Dificuldade de programação em contrapartida
● Códigos bem estruturados e comentados para
facilidade de desenvolvimentos posteriores
– Mecanismos de conectividade em Rede
– Suporte a larga faixa de processadores
RTOS (2)
● Padronizações
– OSEK/VDX: Aplicados em automóveis e
similares
– µiTRON: Implementado na maioria dos RTOS
japoneses, como interface para modelos
proprietários inclusive (muitas aplicações)
– POSIX: API padrão do UNIX, também trabalha
como interface para sistemas proprietários

Sistemas de Arquivos
● Alguns Sistemas Embarcados necessitam
de armazenamento persistente
– Meios magnéticos
– Discos ópticos
– Memória flash
● Abordagens padronizadas
– Baseadas no FAT, por exemplo
– Facilidade de interação com os PCs
Comunicação Serial
● Via USB (Universal Serial Bus)
– Simples de usar, difícil de entender
– Fácil acréscimo de periféricos no PC
– Eletrônica extremamente complexa, mas
software inteligente
– Restrições para maiores flexibilizações
● Uma relação estrita mestre/escravo
● Novo padrão OTG (On The Go) altera estas
restrições
● Acrescenta complexidade ao desenvolvimento de
software
Gráficos
● Ex. LCD de Câmera Digital
– GUI (Graphical User Interface)
– Dispositivo de Saída do sistema
– Configuração de RGB bem simples
– Significado dos objetos de interface complicados
● Bibliotecas gráficas
Conectividade em Rede
● Alguns dispositivos com Sistemas
Embarcados requerem conectividade:
– Sensores
– Câmeras
– Smartphones
● Implementações com Bluetooth, ZigBee, Wi-
Fi, Ethernet
● Pilha básica TCP/IP
– Dificuldade surge em novas funcionalidades de
comunicação
Suporte IP (1)
● Conectividade IPv.4 e IPv.6 para aplicações
futuras
– IPv.6 muito difundido na Ásia e Europa
– Implementação de dupla pilha de protocolos
● Servidor Web
– Configuração e controle remotos do dispositivo
– Alternativa a implementar um protocolo de
comunicação específico
– Servidores Web Embarcados de até 20K de
tamanho
Suporte IP (2)
● Gerenciamento de dispositivo:
– Protocolo SNMP (versão 3 atual) como
possibilidade
– HTTP requer SSL (Secure Sockets Layer) como
mecanismo de segurança
– SNMPv.3 tem segurança intrínseca
– Interface bem definida para gerenciar objetos
– Formatação dos dados fixa, maior flexibilidade
com HTTP
Conclusões
● Desenvolvimento de Sistemas Embarcados
– Muitos desafios
● Técnicas e ferramentas adequadas
● Estratégias de projeto de Software bem
delineadas atendendo às necessidades
específicas

Você também pode gostar