Sistemas embarcados ou embutidos são sistemas microprocessados responsáveis por um conjunto restrito de funções específicas, ou seja, são sistemas que executam funções dedicadas. Por se tratar de um dispositivo dedicado pode-se através de engenharia otimizar o projeto, reduzindo seus custos, recursos computacionais e tamanho.
A complexidade e importância dos sistemas embarcados são bastante variáveis, podendo ir desde a um brinquedo simples ou um controle remoto até uma máquina com centenas de processadores destinada ao controle de tráfego aéreo ou criar previsões sobre mercado de capitais. Como podemos ver, nos deparamos a todo o momento com sistemas como estes, de forma que muitas vezes sequer percebemos que eles existem.
Sistemas embarcados são formados basicamente pelos mesmos componentes de hardware de um computador, como processador, memória, dispositivos de armazenamento, interfaces, periféricos e demais componentes. Já o software escrito para estes sistemas é muitas vezes chamado de firmware, e é armazenado em memória ROM ou flash ao invés do disco rígido.
Para sistemas embarcados mais simples, que não exigem processadores potentes, o Z80 ou Motorola 68000 são dois dos processadores mais utilizados, principalmente pelo fato apresentarem baixo custo e satisfazerem as necessidades de um MP3 player, por exemplo. Já para dispositivos que necessitam de mais processamento utilizam-se processadores ARM, chips RISC de 32 bits. Utilizando um ARM de pelo menos 4MB de memória já é possível rodar Linux no sistema embarcado. Os chips ARM são relativamente baratos e possuem baixo consumo elétrico, por isso são extremamente populares em celulares, modems ADSL, videogame e assim por diante.
Além dos microprocessadores, os microcontroladores são dispositivos bastante utilizados em sistemas embarcados. Os microcontroladores se diferenciam dos processadores, pois além dos componentes lógicos e aritméticos usuais de um microprocessador, o microcontrolador integra elementos adicionais em sua estrutura interna, como memória de leitura e escrita para armazenamento de dados, memória somente de leitura para armazenamento de programas, EEPROM para armazenamento permanente de dados, dispositivos periféricos como conversores analógico/digitais (ADC), conversores digitais/analógicos (DAC) e interfaces de entrada e saída de dados. Dentre os microcontroladores mais utilizados em sistemas embarcados estão os microcontroladores PIC da Microchip.
Em aplicações onde um chip personalizado é essencial, existe a opção de usar chips programáveis, chamados de FPGAs (field-programmable gate arrays) ou de LCAs (logic-cell arrays). São chips compostos por um enorme número de chaves programáveis, que podem ser configurados para simular o comportamento de qualquer outro circuito. Porém, ao invés de desenvolver e fabricar seus próprios chips, as empresas passaram a, cada vez mais, utilizar componentes disponíveis no mercado, que são fabricados em massa e vendidos a preços incrivelmente baixos.
Cada um destes dispositivos, seja ele microprocessador ou microcontrolador, conta com um conjunto próprio de ferramentas de desenvolvimento, que incluem compiladores, debuggers, documentação e ferramentas úteis. Em alguns casos o conjunto de ferramentas de desenvolvimento é distribuído gratuitamente, mas em outras precisa ser comprado ou licenciado, tornando um projeto um pouco caro. Normalmente estas ferramentas de desenvolvimento de software para sistemas embarcados são executadas em um computador e apenas nos estágios finais do desenvolvimento o software é transferido para o hardware do sistema que está se desenvolvendo.
Embora os computadores normalmente roubem a cena, os sistemas embarcados são mais numerosos e são responsáveis por boa parte da estrutura que utilizamos no dia-a-dia. Com essa presença e importância crescente tornam-se necessários e promissores os estudos nas áreas de projeto em hardware, software e interfaceamento destes sistemas.
Nenhum comentário:
Postar um comentário