Tecnologia Embarcada Fonte:http://pt.wikipedia.org/wiki/Sistema_embarcadoUm sistema embarcado (ou sistema embutido, ou sistema embebido) é um sistemamicroprocessadono qual ocomputadoré completamente encapsulado ou dedicado ao dispositivo ou sistema que ele controla [1] . Diferentemente de computadores de propósito geral, como ocomputador pessoal , um sistema embarcado realiza um conjunto de tarefas predefinidas, geralmente com requisitos específicos. Já que o sistema é dedicado a tarefas específicas, através deengenhariapode-se otimizar o projeto reduzindo tamanho, recursos computacionais e custo do produto. Em geral tais sistemas não podem ter sua funcionalidade alterada durante o uso. Caso queira- se modificar o propósito é necessário reprogramar todo o sistema. Sistemas comoPDAssão geralmente considerados sistemas embarcados pela natureza de seuhardware, apesar de serem muito mais flexíveis em termos desoftware. Fisicamente, os sistemas embarcados passam desdeMP3 playersasemáforos.História Nos primeiros anos dos computadores digitais nadécada de 1940, os computadores eram porvezes dedicados a uma única tarefa. Eram, entretanto, muito grandes para serem considerados embarcados. O conceito de controlador programável foi desenvolvido algum tempo depois. O primeiro sistema embarcado reconhecido foi oApollo Guidance Computer, desenvolvido porCharles Stark DrapernoMIT. O computador de guia, que operava emtempo real, era considerado o item mais arriscado doprojeto Apollo. O uso decircuitos integradosmonolíticos para reduzir o tamanho e peso do equipamento aumentou tal risco. O primeiro sistema embarcado deprodução em massafoi o computador guia do míssil nuclearLGM-30 Míssil Minuteman, lançado em1961. Ele possuía umdisco rígidopara a memória principal. Quando a segunda versão do míssil entrou em produção em1966, o computador guia foi substituído por um novo, que constituiu o primeiro uso em grande volume de circuitos integrados. A tecnologia desse projeto reduziu o preço de circuitos integrados como oNANDde mil para três dólares americanoscada, permitindo seu uso em sistemas comerciais. Desde suas primeiras aplicações nadécada de 1960, os sistemas embarcados vêm reduzindo seu preço. Também tem havido um aumento no poder de processamento e funcionalidade. Em1978foi lançada pelaNational Engineering Manufacturers Associationa norma para microcontroladores programáveis. Em meados dadécada de 1980, vários componentes externos foram integrados no mesmochipdo processador, o que resultou em circuitos integrados chamadosmicrocontroladorese na difusão dos sistemas embarcados. Com o custo de microcontroladores menor que um dólar americano, tornou-se viável substituircomponentes analógicos caros comopotenciômetrosecapacitorespor eletrônica digital controlada por pequenos microcontroladores. No final da década de 1980, os sistemas embarcados já eram a norma ao invés da exceção em dispositivos eletrônicos. Características
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Um sistema embarcado (ou sistema embutido, ou sistema embebido) é um
sistema microprocessado no qual o computador é completamente encapsulado ou dedicado aodispositivo ou sistema que ele controla[1]. Diferentemente de computadores de propósito geral,
como o computador pessoal, um sistema embarcado realiza um conjunto de tarefas
predefinidas, geralmente com requisitos específicos. Já que o sistema é dedicado a tarefas
específicas, através de engenharia pode-se otimizar o projeto reduzindo tamanho, recursos
computacionais e custo do produto.
Em geral tais sistemas não podem ter sua funcionalidade alterada durante o uso. Caso queira-
se modificar o propósito é necessário reprogramar todo o sistema.
Sistemas como PDAs são geralmente considerados sistemas embarcados pela natureza de
seu hardware, apesar de serem muito mais flexíveis em termos de software. Fisicamente, os
sistemas embarcados passam desde MP3 players a semáforos.
História
Nos primeiros anos dos computadores digitais na década de 1940, os computadores eram por
vezes dedicados a uma única tarefa. Eram, entretanto, muito grandes para serem considerados
embarcados. O conceito de controlador programável foi desenvolvido algum tempo depois.
O primeiro sistema embarcado reconhecido foi o Apollo Guidance Computer , desenvolvido
por Charles Stark Draper no MIT. O computador de guia, que operava em tempo real, era
considerado o item mais arriscado do projeto Apollo. O uso de circuitos integrados monolíticos
para reduzir o tamanho e peso do equipamento aumentou tal risco.
O primeiro sistema embarcado de produção em massa foi o computador guia do míssil
nuclear LGM-30 Míssil Minuteman, lançado em 1961. Ele possuía um disco rígido para a
memória principal. Quando a segunda versão do míssil entrou em produção em 1966, o
computador guia foi substituído por um novo, que constituiu o primeiro uso em grande volume
de circuitos integrados. A tecnologia desse projeto reduziu o preço de circuitos integrados
como o NAND de mil para três dólares americanos cada, permitindo seu uso em sistemas
comerciais.
Desde suas primeiras aplicações na década de 1960, os sistemas embarcados vêm reduzindo
seu preço. Também tem havido um aumento no poder de processamento e funcionalidade.
Em1978 foi lançada pela National Engineering Manufacturers Association a norma para
microcontroladores programáveis.
Em meados da década de 1980, vários componentes externos foram integrados no
mesmo chip do processador, o que resultou em circuitos integrados
chamados microcontroladores e na difusão dos sistemas embarcados.
Com o custo de microcontroladores menor que um dólar americano, tornou-se viável substituir
componentes analógicos caros como potenciômetros e capacitores por eletrônica digital
controlada por pequenos microcontroladores. No final da década de 1980, os sistemas
embarcados já eram a norma ao invés da exceção em dispositivos eletrônicos.
Sistemas embarcados são desenvolvidos para uma tarefa específica. Por questões como
segurança e usabilidade, alguns inclusive possuem restrições para computação em tempo real.
Osoftware escrito para sistemas embarcados é muitas vezes chamado firmware, e armazenado
em uma memória ROM ou memória flash ao invés de um disco rígido. Por vezes o sistema
também é executado com recursos computacionais limitados: sem teclado, sem tela e com
pouca memória.
Interfaces do utilizador
Sistemas embarcados podem possuir desde nenhuma interface do utilizador (dedicados
somente a uma tarefa) a uma interface de utilizador completa, similar à dos sistemas
operacionaisdesktop (em sistemas como PDAs). Sistemas mais simples utilizam
botões, LEDs ou telas bastante limitadas, geralmente mostrando somente números ou uma fila
pequena de caracteres.
Sistemas mais complexos utilizam uma tela gráfica completa, usando tecnologias como ecrã
táctil ou aquela em que o significado dos botões depende do contexto da tela. Computadores
de mão também oferecem joysticks para apontar. O surgimento da World Wide Web forneceuaos desenvolvedores de sistemas embarcados a possibilidade de fornecer uma interface Web
através de uma conexão por rede. Isso evita o custo de uma tela sofisticada, ainda que seja
fornecida uma interface complexa e completa a ser acessada em outro computador . De modo
geral,roteadores usam tal habilidade.
Processamento
Em geral os sistemas embarcados possuem uma capacidade de processamento reduzida em
comparação com computadores desktops. Ao invés de utilizar microprocessadores, os
desenvolvedores preferem utilizar microcontroladores, pois estes já possuem diversos
periféricos integrados no mesmo chip.
Outra diferença é a variedade de arquiteturas disponíveis tais
A computação embarcada estuda os computadores embutidos que sãoencontrados nos mais diversos equipamentos eletro-eletrônicos, tais como,máquinas de lavar roupas, televisores, celulares, automóveis e outros.Essesdispositivos embutidos executam aplicações bem específicas enormalmente o usuário não percebe que está usando um computador. Nessaárea, um dispositivo muito utilizado é o microcontrolador, que é um tipo de
microprocessador construído objetivando-se auto-suficiência (“computador em um chip”) e melhor custo-benefício. A programação dosmicrocontroladores pode ser realizada em linguagem de baixo nível(assembly) ou de alto nível (geralmente em “C”) e requer conhecimentos
sobre os recursos disponíveis no dispositivo.
"O que é programação embarcada?"
Desenvolvimento de software embarcado é uma modalidade de
desenvolvimento na qual se desenvolve os programas e aplicativos que irãofazer parte de dispositivos eletrônicos que possam funcionar independentes
de estarem ou não ligadas a um computador central.
"O que são Sistemas Eletrônicos Embarcados?"
Sistema eletrônico embarcado ou sistema eletrônico embutido é umsistema eletrônico que tem como base um microprocessador que possui umsoftware completamente dedicado ao dispositivo ou sistema que elecontrola. Assim sendo, ao contrário dos computadores de propósito geral,como o computador pessoal, um sistema embarcado realiza um conjunto detarefas pré-definidas, geralmente com requisitos específicos. Já que osistema é dedicado a tarefas específicas, através de técnicas adequadas
pode-se aperfeiçoar o projeto, conduzindo à redução do tamanho, dosrecursos computacionais e do custo do produto final.
"Exemplos de Sistemas Eletrônicos Embarcados:"
São exemplos de sistemas eletrônicos embarcados os seguintesequipamentos:
• Telefones celulares e centrais telefônicas; • Equipamentos para a montagem de redes de computadores, comoroteadores, hubs, switches, firewalls e Access Point WiFi;• Modems ADSL e de PLC (Power Line Communication);
• Controlador de injeção eletrônica de combustíveis para motores àexplosão, a gasolina, a óleo Diesel ou bio-Diesel ou sistemasmulticombustível (Flex Fuel);• Controladores da tração, acionadores de air bags e sistemas anti-bloqueiodos freios (freios ABS) em automóveis, motocicletas, ônibus e caminhões;• Equipamento de geolocalização (GPS) e de rastreamento de veículos e
cargas;• Calculadoras eletrônicas e agendas eletrônicas de bolso;• Controladores eletrônicos de eletrodomésticos, como fornos microondas,
máquinas de lavar e também dos refrigeradores e aparelhos de ar condicionado mais modernos;• Aparelhos de TV com controle remoto, CD players, DVD players e Blue-Ray Disc players;• Equipamentos médicos; • Alarmes programáveis para residências e comércio; • Videogames; • Receptores de TV por satélite e de TV por cabo coaxial; • Televisores digitais com telas a LCD ou plasma e monitores de
"Breve histórico dos Sistemas Eletrônicos Embarcados:"
Nos primeiros anos dos computadores digitais na década de 1940, oscomputadores eram por vezes dedicados a uma única tarefa. Eram,entretanto, muito grandes para serem considerados embarcados. O conceitode controlador programável foi desenvolvido algum tempo depois. O
primeiro sistema embarcado reconhecido mundialmente foi o ApolloGuidance Computer, desenvolvido nos EUA por Charles Stark Draper noMIT para a NASA. O "computador de guia", que operava em tempo real,
era considerado o item eletrônico mais arriscado do projeto Apollo. No projeto desenvolvido pelo MIT foram usados circuitos integradosmonolíticos para reduzir o tamanho e peso do equipamento e aumentar asua confiabilidade.
O primeiro sistema eletrônico embarcado que foi produzido em grandequantidade foi o computador guia do míssil nuclear norte-americano LGM-30 (Míssil Minuteman), lançado em 1961, que possuía um disco rígido paraa memória principal. Quando a segunda versão do míssil entrou em
produção em 1966, o computador guia foi substituído por um novo, sem odisco rígido, que constituiu o primeiro uso em grande volume de circuitosintegrados.
Desde suas primeiras aplicações na década de 1960, os sistemas eletrônicosembarcados vêm reduzindo seu preço. Também tem havido um aumento no
poder de processamento e funcionalidade. Em 1978 foi lançada pela National Engineering Manufacturers Association dos EUA uma norma paramicrocontroladores programáveis. Em meados da década de 1980, várioscomponentes externos foram integrados no mesmo chip do processador, o
que resultou em circuitos integrados chamados microcontroladores e nadifusão dos sistemas eletrônicos embarcados.
Atualmente, com a disponibilidade de microcontroladores a um customenor que US$ 1, tornou-se viável substituir componentes analógicoscaros como potenciômetros e capacitores por eletrônica digital controlada
através de pequenos microcontroladores. Assim sendo, o público leigo nãosabe que sua vida é repleta de microcontroladores, embutidos emdispositivos corriqueiros. Por exemplo, o acionamento do relógio de umforno microondas é feito por um pequeno microcontrolador, que recebe,interpreta e aciona o equipamento a partir dos comandos do teclado.Também o aparelho de TV moderno possui pelo menos ummicrocontrolador, que recebe os comandos do controle remoto e aciona asvárias funções. O mesmo ocorre com aparelhos de DVD e até emequipamento de som doméstico de baixo custo. O telefone celular é umnotável exemplo de um equipamento eletrônico do tipo embedded system,
pois possui em seu interior um microprocessador, que executa diversasfunções a partir da programação básica, juntamente com as opçõesdefinidas pelo usuário. Nos automóveis, além do sistema de injeçãoeletrônica, encontram-se microcontroladores no equipamento de som, nascentrais de alarme, no sistema anti-bloqueio dos freios (freios ABS) e nosistema de acionamento dos airbags. Assim sendo, os veículos maissofisticados fazem uso de uma grande quantidade de microcontroladores;uma fonte consultada afirma que o automóvel BMW 850i possui mais de100 microcontroladores em seu interior.
Um episódio curioso ocorreu em uma das primeiras conferências em que sediscutiu o impacto dos microcontroladores na eletrônica, realizado em 1975no Hotel Hilton na cidade de Nova Iorque (EUA). Um dos palestrantes,Danny Hillis da empresa Thinking Machines Corporation, previu que omercado mundial de microcontroladores seria em poucos anos na faixa demilhões de unidades produzidos a cada ano. Um dos participantes doauditório manifestou-se contra esta idéia, afirmando que nunca seriamnecessários tanto microcontroladores no mundo. Segundo este participante
não identificado, o futuro descrito pelo palestrante seria como setivéssemos “um microcontrolador em cada quarto deste hotel”. De fato,
poucos anos depois outro evento realizou-se no mesmo Hotel Hilton, quenesta época acabara de instalar fechaduras eletrônicas nos apartamentos,acionadas por um cartão magnético entregue ao hóspede. Ou seja, havia ummicrocontrolador em cada quarto do hotel, embutido na fechadura das
Microcontrolador Texas MSP430O MSP430 é uma entrada relativamente recente no mercado de microcontroladores.Com consumo muito baixo e uma arquitetura de 16 bits voltada para linguagens dealto nível, ele é uma alternativa muito interessante às consagradas famílias PIC e8051.
As informações que se seguem vem da documentação do MSP430 (que pode ser obtida aqui), do material fornecido no MSP430 Day e da minha experiência dedesenvolvimento de software para os modelos MSP430F2011 e MSP430F2121.Arquitetura do MSP430
Os microcontroladores PIC e 8051 possuem arquiteturas esquisitas, dividindo amemória em regiões distintas que precisam ser acessadas por instruçõesespecializadas. O resultado é uma dificuldade tanto para a programação assembler como para a construção de compiladores.
O MSP possui uma estrutura de 16 bits, tanto na capacidade de processamento daunidade lógica aritmética como nos registradores de trabalho e no endereçamento dememória. Ram, Flash e controle dos periféricos compartilham este mesmo espaço deendereçamento e são manipulados pelas mesmas instruções de acesso á memória.
Uma diferença em relação ao PIC é que o MSP430 não possui memória EEProminterna. Por outro lado ele dispõe de 4 áreas de 64 bytes de memória Flash quepodem ser usadas para salvar parâmetros de forma não volátil.
O MSP dispõe de 16 registradores de 16 bits (R0 a R15), dos quais 12 são de usogeral (R4 a R15). R0 é o contador de programa, R1 é o ponteiro da pilha e R2 é o
status do processador. R2 e R3 são geradores de constantes (usados como operandogeram os valores 0, 1, 2, 4, 8 e 0xFFFF).
Modelos mais recentes expandem a arquitetura para endereços de 20 bits, parasuportar um quantidade maior de memória.
Sistema Flexível de Clock
O MSP430 possui diversas opções de clock, que podem inclusive ser mudadasdurante a execução para reduzir o consumo em momentos de espera e aumentar odesempenho na hora de processar.
Dependendo do modelo, existem até 4 fontes possíveis para o sinal de clock: VLOCLK: clock interno de 12KHz de baixíssimo consumo.
LFXT1CLK: clock lento gerado por um cristal ou ressonador externo,tipicamente um cristal padrão de relógio de 32.768KHz (que fornece uma base detempo de 1 segundo bastante precisa).
XT2CLK: clock rápido gerado por um cristal ou ressonador externo.
DCOCLK: clock interno gerado por um digital controlled oscillator (DCO) de até
16MHz com alguns valores pré-calibrados na fábrica para baixo erro.Os sinais destas fontes podem ser dirigidos para três usos: ACLK: clock auxiliar para os dispositivos (por exemplo o temporizador), podeser VLOCLK ou LFXT1CLK, dividido por 1, 2, 4 ou 8.
MCLK: clock mestre, usado pela CPU. Pode vir de qualquer uma das fontesdividida por 1, 2, 4 ou 8.
SMCLK: clock sub-principal (!), pode ser usado nos dispositivos. Também podevir de qualquer uma das fontes dividida por 1, 2, 4 ou 8.
Baixo consumo
Com todos os clocks parados (LPM4 - Low Power Mode 4), o MSP430 consome
apenas 0,1 uA para manter o conteúdo da Ram.
Numa situação mais comum (LPM3), é mantido ligado apenas o ACLK para permitir acordar o processador após um determinado período de tempo. Neste caso oconsumo fica em 0,9 uA (para alimentação em 3V).
Em todos os modos de baixo consumo o processador está parado mas é acordadorapidamente (menos de 1 uSeg para o DCO voltar a oscilar na família MSP430F2xx)quando recebe uma interrupção.
Periféricos Internos
Os vários modelos de MSP430 possuem internamente os periféricos tradicionais demicrocontroladores:
Entradas e Saídas Digitais: todos os modelos possuem e/s digital comcapacidade de interrupção (por borda de subida ou descida), pull-up e pull-downconfiguráveis.
Watchdog Timer (WDT): também presente em todos os modelos, resseta oprocessador se não for periodicamente desarmado (usado para colocar o processador em uma situação conhecida no caso de alguma falha de programação).
Timers: o MSP430 difere um pouco de outros micontroladores pelo fato decada timer ter um único registrador de contagem e múltiplos registradores de
comparação/captura. No modo continuous o registrador de contagem é continuamenteincrementado por um dos clock (dando a volta quando atinge 0xFFFF) e interrupçõesde tempo real são geradas quando o registrador de contagem atingem o valor de umdos registradores de comparação. No modo up a contagem vai de 0 até o valor de umdos registradores de comparação, este modo pode ser usado para gerar um sinalPWM em um pino. Na operação de captura uma interrupção é gerada quando ocorre amudança de sinal em um pino, neste instante o valor no registrador de contagem écopiado para o registrador de captura.
Comparador Analógico: compara o sinal presente em um pino com umareferência interna ou externa. Útil, por exemplo, para detectar bateria baixa.
Conversor A/D: não disponível em todos os modelos, codifica o nível de um
sinal analógico em um valor digital de 10 ou 12 bits (dependendo do modelo).
USART: não diponível nos modelos mais simples, implementa comunicaçãoserial síncrona ou assíncrona.
Os modelos mais sofisticados possuem capacidade de DMA (tansferência automáticaentre um bloco de memória e um dispositivo), interface I2C, um multiplicador por hardware (útil para endereçar vetores de estruturas) e conversor digital analógico.
Alguns modelos incluem um sensor de temperatura. A família MSP430x4xx inclui ainda um controlador de LCD.
Programação e Debug a Baixo Custo
Os modelos MSP430F20xx permitemprogramação e debug através de um dispositivo semelhante a um pen-drive (eZ430-F2013), através de uma conexão chamada pela Texas de Spy-By-Wire. O custo destedispositivo nos EUA é de apenas U$20, no Brasil ele pode ser encontrado por R$100. A única restrição que encontrei foi o baixo número de breakpoints por hardware.
Uma vantagem adicional é que o programador vem com uma versão limitada do IAR
Embedded Workbench Kickstart. Trata-se de uma IDE e compilador C bastanterazoáveis. A limitação do compilador gratuito é de 4K de código, mais que sufientepara aplicações simples.
Se os até 2K de Flash dos modelos MSP430F20xx forem insuficientes e você optar pelos modelos MSP430F21xx, você vai precisar de um programador JTAG. O MSP-FET430UIF suporta todos os modelos e custa US$100 nos EUA (R$720 no Brasil!).Ele vem com o mesmo pacote de software que o eZ430-F2013.
Uma limitação nos dois casos é a ausência de um software de gravação standalone(por exemplo para uso na produção). Nos dois casos a gravação é feita disparando oDebug na IDE.
Baixo Custo (Em Termos)
Uma limitação para o hobista é que a maioria dos modelos está disponível apenas emencapsulamento do tipo surface-mounted. Apenas os modelos MSP430F20xx estãodisponíveis no encapsulamento PDIP).
No folheto que está no site da Texas estão os preços sugeridos para revenda nosEUA, para mil peças. O modelo mais barato (MSP430F2001) estava a $0,55 quandoconsultei. Entretanto, este modelo tem apenas 1K de Flash e 128 bytes de Ram, o quelimita muito suas aplicações principalmente quando programado em C. O
MSP430F2121, com 4K de Flash e 256 bytes de Ram, estava a $1,35.No Brasil, para compras unitárias, o preço é mais alto. O modelo NSP430F2013 (2K