Escolar Documentos
Profissional Documentos
Cultura Documentos
VITÓRIA
2023
2
INTRODUÇÃO
Como se pode observar cotidianamente, devido à evolução tecnológica,
cada vez mais sistemas computacionais são utilizados para facilitar tarefas do
dia a dia. Eles são utilizados para diferentes propósitos, como entretenimento,
comunicação, controle de eletrodomésticos e veículos, entre vários outros.
Estes sistemas são chamados de sistemas computacionais embarcados, já
que exemplos práticos de utilização destes são em fornos de microondas,
videogames, impressoras, mp3 players, câmeras fotográficas digitais e
telefones celulares. O uso de processadores e sistemas integrados em
silício (SoC) dedicados a este propósito estão em franca expansão.
Segundo alguns dados estimados por pesquisas em alta tecnologia, mais
de 90% dos microprocessadores fabricados mundialmente são destinados a
máquinas que usualmente não são chamadas de computadores. Dentre alguns
destes dispositivos estão aparelhos celulares, fornos microondas, automóveis,
aparelhos de DVD e PALM´s. O que diferencia este conjunto de dispositivos de
um computador “convencional” (PC – Desktop, Notebook), conhecido por todos
é o seu projeto baseado em um conjunto dedicado e especialista constituído
por Hardware, Software e Periféricos – um Sistema Embarcado.
Um Sistema Embarcado, Embedded System, pela sua natureza
especialista, pode ter inúmeras aplicações. Pode-se ter sistema embarcado
para controle de freios de um veículo automóvel, em que esse sistema deve
gerenciar certos periféricos de controle como um sensor. Em outra aplicação,
um sistema embarcado através de suas funções de aquisição de dados,
captura informações dos sensores de temperatura e umidade, e envia estes
dados a um display ou para um computador via comunicação serial. Os
Sistemas Embarcados encontram-se cada vez mais presentes em nosso dia a
dia, e com uma utilização e importância crescente, tornam-se necessários
estudos nas áreas de projeto em hardware, software e interfaceamento com
base em sistemas embarcados.
O desafio no desenvolvimento de sistemas embarcados, especialmente
naqueles que são portáteis, é conseguir combinar características de forma a
obter um sistema que apresente pouco tempo e baixo custo de produção, uma
vez que esses aspectos têm enorme impacto na eletrônica de consumo; baixo
3
CONCEITO
Sistemas embarcados são sistemas eletrônicos microprocessados que,
após serem programados, possuem uma função específica que geralmente
não pode ser alterada. Uma impressora, por exemplo, mesmo possuindo um
processador que poderia ser utilizado para qualquer tipo de atividade, tem sua
funcionalidade restrita apenas à impressão de páginas. Um computador de
propósito geral, no entanto, pode ser utilizado num instante como um ambiente
de entretenimento, em outro como estação de trabalho, ou até mesmo um
telefone.
4
HISTÓRIA
O termo sistema embarcado tem sua origem no fim da década de 1960.
Nessa época o que existia era um pequeno programa de controle funcional de
telefones. Logo este pequeno programa escrito em assembler estava sendo
usado em outros dispositivos, entretanto de forma customizada, não específica
para dado dispositivo, na realidade eram adaptados os sinais de entrada e
saída definidos no programa, para as características do dispositivo, porém sem
modificar qualquer linha de código do programa feito.
Posteriormente com o advento de microprocessadores especialistas, foi
possível desenvolver software específico para os variados tipos de
processador. Os programas eram escritos em linguagem de máquina. Na
década de 1970 começavam a surgir bibliotecas de códigos direcionados para
sistemas embarcados específicos com processadores específicos. Atualmente
os sistemas embarcados podem ser programados em linguagens de alto nível
e possuem sistemas operacionais.
BIBLIOTECA
Uma biblioteca em linguagem C é um conjunto de funcionalidades reunidas
de modo a facilitar a utilização por parte do programador. Estas funcionalidades
podem ser agrupadas de diversas maneiras.
A biblioteca funciona como modo de organização do código. À medida que
o projeto cresce em complexidade, manter todas as funções num mesmo
arquivo pode dificultar uma futura manutenção ou atualização do programa.
Outra vantagem do uso de uma biblioteca é a capacidade de reutilização
de código. Uma vez criada a biblioteca matemática, seu código pode ser
utilizado em vários outros projetos. De fato, algumas funcionalidades são tão
básicas que as bibliotecas que suprem essa necessidade são padronizadas e
disponibilizadas diretamente com o compilador de linguagem C. Essas
bibliotecas formam o conjunto das bibliotecas padrão, ou standard libs.
Para a primeira versão da linguagem C, havia 15 bibliotecas padronizadas,
que proviam desde funções matemáticas, como seno e cosseno, passando
pela manipulação de tempo e strings até o controle de alocação de memória ou
geração de números aleatórios. Em 1995, três novas bibliotecas foram
adicionadas, em geral para gerenciar operações com caracteres. Em 1999,
seis novas bibliotecas, a maioria para operações numéricas, foram inseridas.
Em 2011, foram adicionadas mais cinco, totalizando 29. A relação destas
bibliotecas pode ser encontrada na tabela 2.
Em geral, a biblioteca é composta de um arquivo de cabeçalho, ou header,
com extensão .H, e um arquivo de código, com extensão .C. O arquivo .H
funciona como um índice ou resumo, explicando quais funcionalidades foram
implementadas no arquivo de código. Em geral, são disponibilizados apenas os
protótipos de função e definição de tipos no header. As funções são
implementadas no arquivo .C, bem como o armazenamento de informações.
9
PROCESSO DE COMPILAÇÃO
O processo de compilação pode ser visualizado como a tradução de um
texto. Se estivermos utilizando um compilador de linguagem C, a linguagem
original é a C e a linguagem final é geralmente um código binário entendido
pelo processador.
O arquivo de entrada contém o programa escrito pelo programador,
também conhecido como código fonte. Este arquivo pode ser editado em
qualquer ferramenta de edição de texto.
O arquivo de saída, ou código de máquina, indica ao processador como
executar os comandos que foram definidos no arquivo texto. O arquivo binário
depende da arquitetura de processador utilizado. O mesmo código em C gerará
arquivos diferentes para processadores diferentes.
O processo de compilação é realizado em quatro etapas que, em geral,
são sequenciais: pré-compilação, compilação, assemblagem e linkagem,
conforme apresentado na figura 3.
código, ele contém valores de conferência para garantir que os dados não
foram alterados na transmissão.
EXEMPLOS E APLICAÇÕES
Os sistemas embarcados estão inseridos em milhares de dispositivos
comuns utilizados no dia a dia como em eletrodomésticos, aparelhos de áudio
e vídeo, celulares, carrinho com controle remoto e outros. A Seguir alguns
exemplos de aplicações:
SETOR AUTOMOBILÍSTICO
Um veículo top de linha é um excelente exemplo de um complexo sistema
literalmente “embarcado”. Centenas de sensores fornecem informações sobre
todo o funcionamento do veículo. Várias unidades de processamento
independentes atuam em regiões diferentes e se comunicam entre si, captando
os sinais destes sensores e fazendo com que as ações referentes a cada caso
sejam tomadas.
SISTEMAS DE CONTROLE
Controles em malha fechada com realimentação em tempo real. Geralmente são
aplicações mais robustas, com placas dedicadas e múltiplos sensores de entrada e saída.
Muitas vezes fornecem pouca interação com o usuário, mostrando sinalizações através
de LEDs. Usados nos motores de automóveis, processos químicos, controle de vôo,
usinas nucleares, aplicações aeroespaciais e monitoramento e controle de variáveis
ambiente (temperatura, umidade, pH do ar).
14
PROCESSAMENTO DE SINAIS
Onde envolve um grande volume de informação a ser processada
em curto espaço de tempo. Os sinais a serem tratados são digitalizados
através de conversores Analógico/Digital, processados e novamente
convertidos em sinais analógicos por conversores Digital/Analógico.
Casos de tratamento de áudio, filtros, modems, compressão de vídeo,
radares e sonares, etc. Existem os DSP (Digital Signal Processor –
Processador Digital de Sinais) os microcontroladores dotados deste
recurso são os Blackfin da Analog Devices e o DsPIC da Microchip.