domingo, 11 de agosto de 2013

Qual melhor microcontrolador para seu projeto?


   Os principais critérios de decisão sobre a escolha do uso do microcontrolador certo em um projeto de sistemas embarcados deve levar em conta vários diferentes fatores. Entre eles destaco:


Preço

É necessário que se pense comercialmente quando é feita uma escolha de microcontrolador. O preço de um produto nao indicado para novos desenvolvimentos pode ser muito caro. Uma característica que contribui com o aumento do preço é a tecnologia em que a FLASH é construída. Em determinados microcontroladores é utilizada tecnologia de 90 nm, enquanto em outros, 63 nm. Essa diminuição permite que um maior número de componentes seja contruido em uma mesma área de silício. Para um mesmo tamanho de flash, a área ocupada é menor – menos material é utilizado e o preço cai.


Tempo de fornecimento deste produto e disponibilidade

O histórico de fornecimento de determinadas empresas, através muitas vezes de seus distribuidores e o bom relacionamento comercial, podem e devem influenciar na escolha do melhor microcontrolador. O bom relacionamento também propicia ótimo suporte dos fabricantes. 


Suporte, de acordo com o país que esta sendo desenvolvido o projeto

Diversas empresas, além de disponibilizar tempo de engenharia, criam projetos personalizados experimentais para que os desenvolvedores possam acelerar o desenvolvimento de novos projetos. Em diversas oportunidades um engenheiro da própria empresa fabricante de um circuito integrado senta ao lado da equipe responsável por determinado projeto e auxilia no start-up e vão direto para o hands-on, propriamante dito.


Experiência

A experiência da equipe de desenvolvimento de uma determinada empresa conta muito para a escolha do melhor microcontrolador a ser utilizado no projeto de sistemas embarcados. Ter que aprender do zero sobre uma arquitetura nova ou sobre novas características pode consumir tempo precioso que poderia estar sendo aplicado ao projeto. Se a equipe já possui um bom domínio sobre a arquitetura, ferramentas de desenvolvimento, cross-compiladores e, em muitos casos, o RTOS utilizado, farão os projetos funcionarem muito mais rapidadente com microcontroladores similares aos atualmente utilizados do que escolher uma família nova de microcontroladores que deveria ser aprendida do zero. A ponderacao que deveria ser feita é quando a familia de microcontroladores não atende tecnicamente os projetos propostos, suas ferramentas não são mais adequadas ou ultrapassadas para o desenvolvimento, os chips se tornaram muito caros e/ou não existe mais viabilidade econômica.


Características técnicas:- Arquitetura- Consumo- Periféricos- Velocidade e capacidade de processamento- Tamanho

Claro que toda essa discussão não teria sentido se o microcontrolador escolhido não satisfizesse as características técnicas do projeto, em especial periféricos, velocidade, capacidade de escalabilidade, consumo, tamanho. Existe hoje uma grande briga pelo mercado de baixo consumo de microcontroladores. Várias aplicações estão exigindo menores consumos e os fabricantes estão apresentando sempre novidades que chegam a marcas de nanoAmperes para microcontroladores operando em frequências de 10 MHz.
Há também uma briga muito acirrada com os microcontroladores de capacidade media de processamento, com unidades de ponto flutuante e com mais de 1MB de Memória Flash. 


Documentação

A documentação de uma família de microcontroladores e sua coleção de application notes disponíveis, códigos prontos para integração no projeto ou em ROM, auxiliam muito a equipe de desenvolvimento que ganha um tempo precioso em testes de hardware e em seu primeiro firmware, que pode ser aplicado ao desenvolvimento do projeto.


Time to market – ferramentas que proporcionam velocidade no desenvolvimento do projeto

A decisão de uso de um sistema operacional de tempo real proprietário para determinada linha de microcontroladores de uma marca pode prejudicar uma eventual mudança de tecnologia e de fornecedor. No entanto, essa escolha pode ser benéfica se acelerar muito o desenvolvimento do projeto, através da utilizacão de bibliotecas prontas, reaproveitamento de código e muitas funções prontas pra uso e integração. 


Ferramentas de debug

A utilização de ferramentas de debug que permitem um completo monitoramento das variáveis internas de um microcontrolador em tempo de execução, aliado a ferramentas de software proprietárias ou free, além da possibilidade de monitoramento em tempo de execução de várias características do sistemas utilizando um RTOS, auxiliam no tempo de desenvolvimento de sistemas embarcados, uma vez que se adiantam à correção de bugs e a previnem de antemão eventuais erros. Existem disponiveis no mercado ferramentas de debug rápidas, que consomem poucos recursos do microcontrolador e via USB, utilizando placas de 10 a 20 dolares. Sim, hoje em dia debug com equipamentos sofisticados, utilizando osciloscópio para contar bit de comunicação serial ou via UART é coisa de museu. Todas essas ferramentas apresentadas propiciam um melhor time to market e mais segurança ao desenvolvedor. É possível também com JTAG fazer um teste de boundary scan, que permite verificar a integridade da montagem do hardware.


Conclusão:


   O melhor microcontrolador é aquele que permite um desenvolvimento rápido de uma solução eletrônica segura a requisitos de projeto bem definidos e que seja fácil de encontrar para venda a um preço baixo no mercado internacional.



Agradecimentos e créditos:

Alessandro Cunha pelas dicas apresentadas na lista, muitas delas apresentadas acima.
Felipe Lavrati pelas discussoes da lista de sistemas embarcados.
Henrique Rossi e William Lyra, por todos os bate papos sobre o assunto.



2 comentários:

  1. Boa Thiago!! Fico no aguardo de próximos posts...

    Parabéns!

    Henrique

    ResponderExcluir