org Este Material livre e no pode ser comercializado
1
1. Introduo
Segundo alguns dados estimados por pesquisas em alta tecnologia, mais de 90% dos microprocessadores fabricados mundialmente so destinados a mquinas que usualmente no so chamadas de computadores. Dentre alguns destes dispositivos esto aparelhos celulares, fornos microondas, automveis, aparelhos de DVD e PALMs. 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 constitudo por Hardware, Software e Perifricos um Sistema Embarcado [1].
Um Sistema Embarcado, Embedded System, pela sua natureza especialista, pode ter inmeras aplicaes. Pode-se ter sistema embarcado para controle de freios de um veculo automvel, em que esse sistema deve gerenciar certos perifricos de controle como um sensor. Em outra aplicao, um sistema embarcado atravs de suas funes de aquisio de dados, captura informaes dos sensores de temperatura e umidade, e envia estes dados a um display ou para um computador via comunicao serial.
Os Sistemas Embarcados encontram-se cada vez mais presentes em nosso dia-a-dia, e com uma utilizao e importncia crescente, tornam-se necessrios estudos nas reas de projeto em hardware, software e interfaceamento com base em sistemas embarcados.
O presente trabalho tem como objetivo apresentar uma introduo ao mundo dos sistemas embarcados, com uma base terica necessria para o planejamento e construo de sistemas embarcados clssicos, que sero vistos na prtica neste material.
Sistemas Embarcados Escrito por: Otavio Chase
Em 12/2007 www.sbajovem.org SBAJovem 2010 www.sbajovem.org Este Material livre e no pode ser comercializado 2 Obs1: Colocar capacidade computacional dentro de um circuito integrado, equipamento ou sistema: So definies para um sistema embarcado [2]. importante ressaltar que um sistema como este deve ser mais do que um simples computador, ou seja, um sistema completo e independente, mas desenvolvido para realizar apenas uma determinada tarefa.
Exemplo1: O forno microondas dotado de uma capacidade computacional maior do que tinha o computador de bordo do projeto Apolo 13 [2]. Ao pressionarmos a tecla PIPOCA, um sistema interno deve saber ajustar a potncia correta, selecionar e medir o tempo em que o forno deve ficar acionado e emitir um sinal quando a tarefa for concluda.
Para operar esta simples operao, o crebro do forno deve receber sinais de sensores (como o da porta, para saber se a mesma foi realmente fechada), fazer o acionamento do equipamento de potncia, calcular o tempo da operao, acionar o motor que far a rotao do prato, permitir que o usurio interrompa a operao a qualquer momento, atualizar o display e medir quanto tempo se passou desde o incio da operao.
Diferente dos computadores que rodam sistemas operacionais e softwares para as mais variadas aplicaes, os sistemas embarcados so construdos para executar uma tarefa pr- determinada. Logo na maioria dos projetos para estes sistemas no h flexibilidade de software ou hardware que lhes permita realizar outras tarefas que no sejam aquelas para as quais foram desenhados e desenvolvidos.
A nica flexibilidade permitida e desejada no caso de um upgrade de novas verses, fazendo com que o sistema possa ser reprogramado com correes ou novas funes que o tornem melhor. O telefone celular um exemplo de sistema embarcado que sofre vrios upgrades e que j possui funes como mquina fotogrfica, agenda telefnica, agenda de compromissos, navegador para internet, etc.
H ento a necessidade de um crebro que gerencie todo o funcionamento deste sistema. Um microprocessador ou microcontrolador so opes ideais para esta funo, pois ambos tm a capacidade de realizar a leitura de sinais externos, executar programas com as tarefas a serem feitas, processar os sinais e enviar para atuadores os resultados esperados. Na figura 01 visto um diagrama bsico de um sistema embarcado controlando uma varivel ambiente como temperatura, umidade ou o pH do ar de uma estufa, sala ou armazm.
Fig. 01 Diagrama bsico de um sistema embarcado dotado de um microcontrolador monitorando o ambiente.
www.sbajovem.org Este Material livre e no pode ser comercializado 3 1.1 Sistemas Embarcados - Conceitos Um sistema classificado como embarcado quando este dedicado a uma nica tarefa e interage continuamente com o ambiente a sua volta por meio de sensores e atuadores [3]. Por exigir uma interao contnua com o ambiente, este tipo de sistema requer do projetista um conhecimento em programao, sistemas digitais, noes de controle de processos, sistemas de tempo real, tecnologias de aquisio de dados (converso analgico/digital e sensores) e de atuadores (converso digital/analgico, acionamento eletromecnico e PWM), e cuidados especiais na eficincia de estruturao do projeto e do cdigo produzido.
A denominao embarcado (do ingls Embedded Systems) vem do fato de que estes sistemas so projetados geralmente para serem independentes de uma fonte de energia fixa como uma tomada ou gerador. As principais caractersticas de classificao deste sistema so a sua capacidade computacional e a sua independncia de operao. Outros aspectos relevantes dependem dos tipos de sistemas, modos de funcionamento e itens desejados em aplicaes embarcadas.
Fig. 02 Lgica de um sistema embarcado usando um microprocessador como unidade de processamento.
Todo sistema embarcado composto por uma unidade de processamento, que um circuito integrado, fixado a uma placa de circuito impresso. Possuem uma capacidade de processamento de informaes vinda de um software que est sendo processado internamente nessa unidade, logo o software est embarcado na unidade de processamento. Todo software embarcado classificado de firmware [3].
1.1.1 Sistemas Embarcados Histria
O termo sistema embarcado tem sua origem no fim da dcada de 1960 [3]. 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, no especfica para dado dispositivo, na realidade eram adaptados os sinais de entrada e sada definidos no programa, para as caractersticas do dispositivo, porm sem modificar qualquer linha de cdigo do programa feito.
Posteriormente com o advento de microprocessadores especialistas, foi possvel desenvolver software especfico para os variados tipos de processador. Os programas eram escritos em linguagem de mquina. Na dcada de 1970 comeavam a surgir bibliotecas de cdigos direcionados para sistemas embarcados especficos com processadores especficos. Atualmente os sistemas embarcados podem ser programados em linguagens de alto nvel e possuem sistemas operacionais.
Sistema Embarcado Unidade de Processamento Firmware Microcontrolador / Microprocessador IPhone Cdigo-Fonte www.sbajovem.org Este Material livre e no pode ser comercializado 4 1.2 Exemplos e Aplicaes
Os sistemas embarcados esto inseridos em milhares de dispositivos comuns utilizados no dia a dia como em eletrodomsticos, aparelhos de udio e vdeo, celulares e outros [4]. A Seguir alguns exemplos de aplicaes:
1. Setor Automobilstico
Um veculo top de linha um excelente exemplo de um complexo sistema literalmente embarcado. Centenas de sensores fornecem informaes sobre todo o funcionamento do veculo. Vrias unidades de processamento independentes atuam em regies diferentes e se comunicam entre si, captando os sinais destes sensores e fazendo com que as aes referentes a cada caso sejam tomadas.
Fig. 03 Sistemas embarcados em um veculo: Sensor de proximidade, ngulo e atuador para freios. Todos os sistemas se comunicam entre si atravs de uma central para controle do diagnstico do veculo.
Esta comunicao geralmente se d atravs de redes, cujo o protocolo CAN tem se tornado o padro. Isto acontece desde a central que memoriza a posio dos bancos, espelhos, volante, etc. Para cada usurio do veculo at a central que gerencia o funcionamento do motor.
2. Aquisio de Dados Data Logger
Fig. 04 Data Logger para Temperatura do ar. A aquisio de dados um exemplo de aplicao mais utilizada em Sistemas embarcados. Consistem de sistemas que atravs de sensores (temperatura, umidade, pH e outros) capturam as variveis ambientes a serem analisadas e so gravadas em memria para consultas posteriores.
O Sistema alm de monitorar o ambiente, com adio de atuadores ao projeto, pode ter a capacidade de controlar as variveis ambiente com base em um critrio estabelecido pelo projetista do sistema.
www.sbajovem.org Este Material livre e no pode ser comercializado 5 3. Propsito Geral
Fig. 05 Nintendo Wii e sua grande interao com o usurio So as aplicaes mais parecidas com os computadores de mesa, mas em embalagens embarcadas.
Nelas costuma haver grande interao entre os usurios e o sistema, geralmente atravs de terminais de vdeo ou monitores. Como exemplo tem- se os videogames, os conversores de TV a cabo, caixas de banco.
4. Sistemas de Controle
Fig. 06 Sistema de Controle Industrial com Supervisrio Controles em malha fechada com realimentao em tempo real. Geralmente so aplicaes mais robustas, com placas dedicadas e mltiplos sensores de entrada e sada.
Muitas vezes fornecem pouca interao com o usurio, mostrando sinalizaes atravs de LEDs. Usados nos motores de automveis, processos qumicos, controle de vo, usinas nucleares, aplicaes aeroespaciais e monitoramento e controle de variveis ambiente (temperatura, umidade, pH do ar).
5. Processamento de Sinais
Fig. 07 Ambiente de desenvolvimento DSP para o dsPIC. Onde envolve um grande volume de informao a ser processada em curto espao de tempo. Os sinais a serem tratados so digitalizados atravs de conversores Analgico/Digital, processados e novamente convertidos em sinais analgicos por conversores Digital/Analgico.
Casos de tratamento de udio, filtros, modems, compresso de vdeo, radares e sonares, etc. Existem os DSP (Digital Signal Processor Processador Digital de Sinais) os microcontroladores dotados deste recurso so os Blackfin da Analog Devices e o DsPIC da Microchip.
www.sbajovem.org Este Material livre e no pode ser comercializado 6 6. Comunicaes, Redes e TV Digital
Fig. 08 Roteador Cisco Circuito composto por vrios sistemas embarcados. Chaveamento e distribuio de informaes. Sistemas de telefonia e telecomunicaes e internet. Hubs, Switchs e Roteadores so dotados de microprocessadores e de microcontroladores para controle digital de sinais. Na TV Digital estes controladores digitais tm um ncleo para processamento digital de sinais, instalado na antena (smart antennas) e no receptor da TV Digital, com objetivo de selecionar o melhor foco do canal e eliminar sinais ruidosos.
Obs2: Microprocessadores X Microcontroladores
Os microprocessadores so componentes dedicados ao processamento de informaes com capacidade de clculos matemticos e endereamento de memria externa. Utilizam barramentos de dados, controle e endereos para fazer acesso aos perifricos de entrada e sada e dependem de circuitos integrados externos como memria para armazenamento de dados e execuo do programa, conversor A/D para aquisio de dados analgicos e sensores e outro perifrico necessrio conforme aplicao do sistema. A vantagem dos microprocessadores que ainda possuem maior velocidade de processamento e so usados em solues mais complexas, porm esta vantagem os microcontroladores esto prestes a adquirir com seus ncleos de 16 e 32 bits.
Fig. 09 Diferenas Entre o Microprocessador e o Microcontrolador Nmero de Circuitos Integrados.
Os microcontroladores so pequenos sistemas computacionais bastante poderosos que englobam em um nico chip: interfaces de entrada/sada digitais e analgicas, perifricos importantes como a memria RAM, memria FLASH, interfaces de comunicao serial, conversores analgicos/digitais e temporizadores/contadores. A vantagem dos microcontroladores que alm de possuir os perifricos integrados a um nico chip, so responsveis por executar e armazenar os programas escritos para eles (firmware), assim como a capacidade de absorver mais funes com o incremento de perifricos, atravs de CIs drivers, como comunicao USB, pilha do TCP/IP, comunicao RF e porta PS/2. Com o advento dos microcontroladores de 16 e 32 bits (atualmente o padro de 8bits) a capacidade de gerenciar solues mais complexas e maior velocidade de processamento se iguala ao do microprocessador. O crescimento dos sistemas embarcados muito se deve a este componente.
Perifricos: UART, PWM, Conversor A/D, I2C, EEPROM, Timers, I2C, SPI, WDT... Memria ROM Memria RAM Portas I/O M Mi ic cr ro op pr ro oc ce es ss sa ad do or r Integrar CIs a parte
M Mi ic cr ro oc co on nt tr ro ol la ad do or r Memria RAM Memria ROM Portas I/O Unidade Lgica Controle Perifricos: UART, PWM, Conversor A/D, I2C, EEPROM, Timers, I2C, SPI, WDT... Tudo integrado em um nico CI www.sbajovem.org Este Material livre e no pode ser comercializado 7 1.3 Como Projetar em Sistemas Embarcados
O primeiro passo escolher o ncleo do sistema, ou seja, a unidade de processamento do sistema embarcado que pode ser um microcontrolador ou um microprocessador, neste trabalho a nfase dada ao microcontrolador.
Fig. 10 Projeto de Sistema Embarcado soldado em placa de circuito impresso
O sistema embarcado geralmente uma soluo formada de microcontrolador e software(firmware) dedicados e especficos para desempenhar as funes operacionais de um equipamento/produto para o qual foi projetado e desenvolvido. Outros fatores importantes que ajudam a classificar um sistema como embarcado so:
Dimenses fsicas: desde a fase inicial do projeto tem haver ateno ao tamanho e peso do sistema em desenvolvimento, sempre os menores possveis. Com a crescente miniaturizao dos equipamentos eletroeletrnicos, os fatores tamanho e peso so decisivos na locomoo do sistema, assim como sua competitividade caso se torne um produto.
Consumo de energia eltrica: Quanto maior for autonomia do sistema e menor for sua necessidade de recarga, troca de sistema de alimentao ou baixo consumo eltrico, mais competitivo ser o produto. Usar baterias, pilhas ou uma alimentao regular dentro de normas e legislaes para o painel industrial em indstrias.
Resistncia e durabilidade: Muitos sistemas embarcados so projetados para trabalhar em ambientes com condies adversas (vibraes, calor, poeira, variaes na tenso de alimentao, interferncias eletromagnticas, raios, umidade, corroso, etc.) necessrio que o sistema resista ao mximo a todas estas interferncias, logo para cada ambiente onde atuar o sistema embarcado, deve haver um estudo da forma de revestimento do circuito, existem fabricantes especializados como a Patola www.patola.com.br
Na escolha do microcontrolador importante observar se os recursos que ele oferece suportam o objetivo do projeto, por exemplo, se for usado um sensor de temperatura como o LM35 com sinal de sada analgica de 10mV por grau centgrado necessrio que o microcontrolador seja dotado de um conversor A/D para a aquisio e tratamento destes sinais e, enviar o sinal convertido e tratado para retornar o valor em graus Celsius, para um computador atravs de porta serial (se o microcontrolador tiver o registrador UART), ou para um display LCD, ou sinalizar com Leds as faixas de temperatura definidas no programa.
1.4 Referncias Bibliogrficas
[1] Reis, Claiton Sistemas Operacionais para Sistemas Embarcados, Tutorial, Editora: ED- UFBA, BRASIL, 2004.
[2] Cunha, Alessandro Sistemas Embarcados, Revista Saber Eletrnica, 414, Editora: Saber, BRASIL, 2007.
[3] Ball, Stuart. Embedded Microprocessor Systems: Real World Design, 3 rd edition, Editora: MCPros, EUA, 2005.
[4] Prof. Rajesh K. Gupta Introduction to Embedded Systems, Website, Capturado em: 07/07/2006. UCLA, EUA, 2002. http://www.ics.uci.edu/~rgupta/ics212/w2002/intro.pdf