O melhor microcontrolador para seu projeto

microcontrolador

O microcontrolador certo em um projeto de sistemas eletrônicos embarcados devem levar em conta vários diferentes fatores.  Os principais critérios de decisão sobre a escolha do uso domelhor microcontrolador para seu projeto estão dispostos nesse texto.

Características técnicas do microcontrolador

 

O microcontrolador deve satisfazer as características técnicas do projeto. É fundamental levar em consideração:

 

  • Arquitetura
  • Consumo, caso o projeto demande baixo consumo ou seja móvel
  • Periféricos
  • Velocidade e capacidade de processamento
  • Tamanho e encapsulamento
  • Escalabilidade

 

Só para citar um exemplo de quão a arquitetura é importante, aliado a forma que o fabricante escolheu em projetar o circuito integrado, diversos microcontroladores tem um tempo alto de acesso a memória, o que penaliza sua performance, se comparada à velocidade de processamento matemático que o mesmo microcontrolador pode ter.

 

Para projetos automotivos que envolvem segurança, é necessário que para tudo que o processador execute haja uma redundância. Algumas arquiteturas permitem que essa redundância seja feita por hardware. A escolha do dispositivo certo para a aplicação diminui o trabalho necessário para se adequar a determinadas normas.

 

A capacidade de escalabilidade também deve ser considerada. Ao começar a trabalhar com uma família de microcontroladores deve-se atentar para o fato da existência de microcontroladores da mesma família com mais memória FLASH e SRAM, ou capacidade de interfacear com uma memória externa para eventual expansão do projeto, sem grandes traumas. A previsão de dispositivos que poderão ser utilizados no futuro, o que demanda de antemão a reserva de alguns periféricos, também pode fazer parte do projeto, uma vez que mudanças de hardware podem ser caras e demoradas.  

 

Existe hoje uma grande briga pelo mercado de baixo consumo de microcontroladores. Várias aplicações estão exigindo menores consumos, principalmente para economia de bateria, e os fabricantes estão apresentando sempre novidades que chegam a marcas de nanoAmperes para microcontroladores operando em frequências de 10 MHz. Modos especiais de operação, além de alguns periféricos criados especificamente para esse fim, permitem que o projetista do sistema tenha como aliado diversas características interessantes que podem ser usadas na hora da criação do firmware.

 

É importante verificar o conflito dos pinos que compartilham diversos periféricos. Dentre os periféricos mais comuns destaco algumas interfaces de comunicação como UART, I2C, I2S, SPI, Ethernet, USB. Além disso, já é possível encontrarmos periféricos específicos para construção de teclas sensíveis ao toque (touch). Ao escolher um microcontrolador é interessante fazer uma simulação do uso dos pinos desse componente. Quase todos os fabricantes fornecem ferramentas que ajudam na escolha e no projeto do sistema eletrônico microcontrolado. Esses softwares diminuem, com certeza, o risco na hora da escolha do micro com determinado número de periféricos. É de fundamental importância verificar se existe diferença de desempenho entre dois periféricos que, à primeira vista, parecem ser iguais. Por exemplo: dois canais de comunicação de um mesmo tipo, como a SPI ou USART, disponíveis em um microcontrolador, podem apresentar diferenças em relação à máxima velocidade de transferência de dados ou características de registradores, por exemplo. 

 

Há também uma briga muito acirrada quando se trata de diferentes fabricantes entre os microcontroladores de capacidade média de processamento, com unidades de ponto flutuante e com mais de 1MB de Memória Flash Interna. Além das características, deve-se levar em conta que a escolha de um microcontrolador personalizado pode diminuir a lista de materiais do projeto, deixando-o mais barato, ou até mesmo escolhendo o melhor microcontrolador com o periférico correto à aplicação, o que demanda menos esforço da equipe de firmware e de hardware. Um exemplo é quando consideramos um microcontrolador pra interface USB que não demanda cristal externo, ou CI pra trabalhar com ethernet e não necessita de CI externo, pois possui MAC+PHY internos. DMAs, que permitem que atividades sejam realizadas sem a interferência do core, possibilitam ao processador que o mesmo possa ser usado para atividades importantes que não a transferência de dados entre periféricos e memória, memória e memória ou entre periféricos.

 

Com relação à escolha do encapsulamento, pode ser importante por diferentes motivos. Microcontroladores com encapsulamento BGA tem melhor performance com relação à compatibilidade eletromagnética. No entanto, diversas empresas no Brasil preferem utilizar encapsulamentos tradicionais, DIP, SO ou SOIC, devido a facilidade de montagem dos componentes. Encapsulamentos mini BGAs possibilitam placas de circuito impresso de dimensões ainda mais reduzidas. Encapsulamento BGA,  QFN e LQFP podem não ser problema se utilizada montagem SMD por máquina.

 

Alguns equipamentos funcionam em ambientes com muito ruído eletromagnético, principalmente aqueles que trabalham com acionamento de determinados tipos de motor. Outros, além de imunidade a ruído, precisam também de faixas de operação de temperatura muito vastas, que é o caso de aplicações espaciais ou militares. Determinados microcontroladores atendem a esses requisitos, mas essas características vêm acompanhadas de maior preço, uma vez que não são vendidos na mesma escala que os microcontroladores de uso geral. No entanto, vale ressaltar que a indústria automobilística usa alguns desses micros imunes a ruídos e os compram em grandes quantidades. Às vezes esse fato provoca uma distorção nos preços e os micros utilizados em projetos automotivos chegam até a ser mais baratos que os de uso geral.

 

 

Preço

 

É necessário que se pense comercialmente quando é feita a escolha de um microcontrolador para determinado projeto. O preço de um produto não indicado para novos desenvolvimentos pode ser muito caro. Por exemplo, atualmente os microcontroladores ARM7 têm um preço bem maior que os com core CORTEX M3, muitas vezes com poder de processamento maior e vasta gama de periféricos.

 

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 sejam construídos 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. Microcontroladores que acabam de ser lançados também tem preço mais atraente, apesar da disponibilidade ser crítica – os tempos de fornecimento tendem a ser bem altos.

 

 

Tempo de fornecimento deste produto, disponibilidade

 

O tempo é crítico para montagem de projetos eletrônicos. Ao mesmo tempo em que sabemos que microcontroladores são itens caros e que itens caros em estoque é dinheiro parado, o risco de compra conforme a demanda pode atrasar a montagem de equipamentos e cronograma de entrega ou conserto de produtos.

 

Todos os CIs microcontroladores são importados e algumas empresas no Brasil trabalham com estoque local. É natural, então, que dependamos de processos de aduana e da Receita Federal de nosso país. Itens importados de forma não totalmente correta podem ter problemas para entrar no Brasil e ser entregues à empresa, o que causa transtornos e prejuízos financeiros, muitas vezes, irreparáveis.

 

Além disso, tragédias naturais como tufões ou terremotos, além de feriados na Ásia, podem provocar atrasos na entrega de mercadorias ou até mesmo cancelamento de pedidos.

 

Grandes distribuidores tem estoque na América do Norte e Ásia, o que permite uma confiança com relação a sabermos que o item existe, já foi fabricado - e, então, o tempo de fornecimento é bem reduzido. Além disso, podem trabalhar com programação de venda de chips, o que diminui o risco de fabricação, envio e de entrega dos componentes eletrônicos.

 

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. O tempo de fornecimento de micros recém-lançados podem ser mais altos porque nem sempre se sabe qual foi a data exata em que a produção em larga escala foi realizada. Revisões no silício para corrigir alguns erros pequenos na implementação do chip podem fazer com que o lançamento seja postergado por algumas semanas ou até meses. Os objetivos internos das equipes de desenvolvimento das empresas de silício podem alterar os cronogramas e atrasar as datas de lançamento conhecidas pelo grande público.

 

 

Suporte

 

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 ou especialista da própria empresa fabricante de um circuito integrado visita o cliente para dar suporte e até mesmo senta ao lado da equipe responsável por determinado projeto e auxilia no start-up, trabalhando no esquema hands-on. São conhecido como FAE (Field Application Engineers) e prestam serviço aos maiores consumidores ou às dúvidas de seu país ou continente.

 

 

Experiência do time de desenvolvimento

 

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 rapidamente com microcontroladores similares aos atualmente utilizados do que escolher uma família nova de microcontroladores que deveria ser aprendida do zero. A ponderação que deveria ser feita é quando a família 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 ou com relação ao lead-time – tempo de entrega dos itens.

 

 

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. Deve-se verificar sempre o errata sheet antes da escolha do componente. Microcontroladores mais novos podem ter problemas escondidos, ainda não conhecidos ou não oficialmente reportados ou documentados. Os mais tradicionais já possuem erratas completas e auxiliam o desenvolvedor a se prevenir contra eventuais deslizes, que podem demandar muito tempo da equipe.

 

Ressalto que é de fundamental importância ler o datasheet enquanto se projeta o hardware. Ser conservador e copiar trechos dos esquemáticos da placa de avaliação diminui riscos. É de fundamental importância respeitar os circuitos propostos no datasheet e user manual do microcontrolador, bem como os cálculos de componentes passivos externos.

 

 

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 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 utilização de bibliotecas prontas, reaproveitamento de código e muitas funções prontas pra uso e integração. A escolha de um RTOS proprietário permite a criação de aplicações mais customizadas para a linha de microcontroladores escolhida.

Por outro lado, a escolha de RTOSs comerciais ou livres que têm port para diversos microcontroladores ajuda a reaproveitar o código já desenvolvido pelos desenvolvedores para outros microcontroladores, caso ocorra uma mudança do fabricante do micro. Além disso, é, de certa forma, muito mais simples a busca por profissionais qualificados para trabalharem com RTOSs conhecidos como o FreeRTOS, o Micrium uC-OS III e CooCox. Ao utilizar RTOSs livres e gratuitos, tem-se também o apoio da comunidade de software livre e das universidades.

 

 

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 grátis, além da possibilidade de monitoramento em tempo de execução de várias características do sistema utilizando um RTOS, auxiliam no tempo de desenvolvimento de sistemas embarcados, uma vez que se adiantam à correção de bugs e previnem de antemão eventuais erros. Existem disponíveis no mercado ferramentas de debug rápidas, que consomem poucos recursos do microcontrolador e via USB, utilizando placas de US$ 10,00 a US$ 20,00. 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.

Claro que, em muitos casos, o bom e velho osciloscópio é indispensável para elucidação de algum erro de comunicação ou algum outro problema relacionado à instrumentação eletrônica.

 

 

Possibilidade de Expansão

 

Utilizar microcontroladores da mesma família ou do mesmo fabricante é uma ótima opção, caso seja necessária a mudança do CI principal do projeto. Como o tempo de aprendizado de um novo microcontrolador pode ser grande devido a diferentes ambientes de desenvolvimento, ferramentas e/ou datasheets, é desejável que, se possível, o fabricante continue sendo o mesmo do projeto original para se economizar em tempo de desenvolvimento.  O reaproveitamento de código é, sem dúvida nenhuma muito grande quando se mantém a família de microcontroladores de um mesmo fabricante e o trauma gerado por uma mudança de arquitetura pode ser maior ainda.

 

Apesar do uso de RTOS tornar o software de alto nível portável, ainda assim é necessário um longo período de maturação e testes de drivers de periféricos, mesmo que estes tenham sido fornecidos pelos próprios fabricantes ou venham em ROM no micro utilizado.

 

 

Conclusão

  

O melhor microcontrolador é aquele que permite um desenvolvimento rápido de uma solução eletrônica segura conforme os requisitos de projeto, desde que bem definidos, que seja fácil de encontrar para venda a um preço relativamente baixo (depende do voilume de compra) e com tempo de entrega baixo no mercado internacional e que a equipe de desenvolvimento tenha intimidade e demonstre traquejo. É fundamental que disponha de diversas ferramentas para trabalhar com o mesmo. E, claro, que resolva o problema proposto. É importante também que esse item tenha longo prazo de fornecimento, para que o produto tenha uma longa vida no mercado e possa se pensar em um plano de manutenção e assistência técnica adequados.

 

No começo do projeto, é interessante escolher um microcontrolador com um pouco mais de recursos que se pretende utilizar, principalmente memória SRAM e memória Flash. Isso permite que o desenvolvedor de firmware não passe sufoco e tenha uma margem para trabalhar. Ao terminar o projeto, pode-se enxugar os recursos do primeiro microcontrolador escolhido e, assim, escolher o mais barato possível para o projeto eletrônico.

 

Toda a escolha de micro, no entanto, não deve ser definitiva. Ao se perceber que não será possível cumprir o planejado, deve-se replanejar todo o projeto, avaliando a possibilidade de redução de escopo, replanejamento de tempo ou de disponibilidade de recursos para trabalhar no projeto eletrônico. Isso é percebido de forma mais rápida se houver um acompanhamento rígido da execução do projeto. Grandes mudanças podem ser necessárias, no entanto. Nesse momento, é fundamental revisar e agir. Claro que se antecipar a problemas ainda nas fases iniciais de projeto é menos custoso do que nas fases finais. O custo de um projeto, em todos os aspectos cresce exponencialmente conforme o projeto se desenvolve.

 

 Deixo aqui um agradecimento especial a todas as discussões com meus colegas de profissão, especialmente as do fórum sis_embarcados e do pessoal do editorial do Embarcados.

 

 E você? Quais os critérios que considera primordial na escolha de um microcontrolador? Deixe seu comentário.

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Thiago Lima
Apaixonado por sistemas digitais e circuitos eletrônicos, ja contabilizo 16 anos trabalhando com desenvolvimento de produtos eletrônicos. Formado na USP Sao Carlos, com mestrado em Engenharia Elétrica no Rochester Institute of Technology pelo CsF, atualmente lidero boa parte das operações do Embarcados, buscando levar conhecimento de sistemas eletrônicos para o Brasil. Experimentar o mundo das startups nos EUA foi transformador. La fui cofundador de uma startup de tecnologia chamada Una, sendo acelerado e incubado por um programa especial de Startups no RIT. Ao final, recebemos um prêmio de melhor startup do programa. No Laboratório Hacker de Campinas sou um dos entusiastas de novas tecnologias e apoio iniciativas da comunidade. Tambem participo de atividades comunitarias e sou um dos responsáveis pela Plataforma Ituiutaba Lixo Zero, onde escrevo regularmente artigos sobre redução de resíduos. Sou sonhador mesmo e quero acender a luz ?

16
Deixe um comentário

avatar
 
7 Comment threads
9 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
12 Comment authors
Fabio RuedaPlínio BarbosaEuripedes Rocha FilhoMarcelo Rodrigo Dos Santos AndriolliJuliano Marcos de Farias Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
MIRELE MARIA DA SILVA RIBEIRO
Visitante
MIRELE MARIA DA SILVA RIBEIRO

muito bom o artigo!!! estou procurando um que micontrolador que interaja com RFID pn532, se alguem souber de um e puder me indicar...

Franklin S.C. Bonfim
Visitante
Franklin Bonfim

Muito bom o artigo! Venho desenvolvendo alguns projetos com algumas plataformas de desenvolvimento, WeMos arduino... e já pensando em como diminuir os custos, observando quais microcontroladores usar. Vejo que são escassos os exemplos que usam microcontroladores, penso em quando entender melhor passo a estudar mais os microcontroladores.

Fabio_Souza_Embarcados
Visitante
Fabio_Souza_Embarcados

Olá Franklin, aconselho você se guiar pelos fabricantes de microcontroladores(NXP, Microchip, St, Texas, entre outros). Além de toda a documentação fornecida, geralmente há diversos exemplos.

Helbert Luiz Paulino
Visitante
Helbert Luiz Paulino

Excelente matéria. Bem, apesar de ter um bom tempo de faculdade, agora é que estou começando a ir pra área de eletrônica. Gostaria de saber "como começar". Mexi pouco com microcontroladores e gostaria de começar a pensar em soluções e produtos. Qual dica vocês me dão?

Henrique Rossi
Visitante

Olá Helbert,

Segue aqui minha opinião, e foi como comecei. Caso esteja pensando em atuar com microcontroladores no mercado de trabalho, lhe aconselho a comprar alguma placa SBC para estudo, como uma Launchpad Tiva C, STM32F4 Discovery, Freedom da NXP, etc. Com elas você vai conseguir criar projetos simples e ir evoluindo sozinho. Pode ligar um hardware que desejar nos seu ports e brincar. O bacana é que vai encontrar muito material na internet sobre elas.

Se precisar de ajuda, pode entrar em contato. 😉

Abraços,
Henrique

Thiago Lima
Visitante

Oi Helbert.

Gosto do mbed pra comecar. Escolha uma das placas suportadas e comece a trabalhar na plataforma mbed.
https://www.mbed.com/en/development/hardware/boards/

Abracos!

Fulano de Tal
Visitante
Fulano de Tal

Começar - para quem é da Eletrônica: 8051
Começar - para quem é da Computação ou outras engenharias elétricas: Arduino ou PIC

Se precisar de uma solução que precisa de algum desempenho é interessante estudar o kit Tiva ou Stelaris (da Texas Instruments).

Para "produtos" não recomendam kits prontos, geralmente utiliza-se projetos com µcontroladores standalone (solto) e suas próprias PCBs

trackback

[…] técnico O melhor microcontrolador para seu projeto publicado aqui no Embarcados, são apresentados alguns critérios específicos para selecionar […]

trackback

[…] “O melhor microcontrolador para o seu projeto” é uma publicação original do site EMBARCADOS de autoria da Thiago Lima. Leia aqui e confira no site a publicação original desse artigo e muitas outras publicações técnicas sobre esse assunto. […]

Fabio Rueda
Visitante
Fábio Rueda de Toledo

Arduino nem microcontrolador é.... tsc, tsc...eita discussão perdida.

Juliano Marcos de Farias
Visitante
Juliano Marcos de Farias

#define arduino forever 😉

Thiago Lima
Visitante

O arduino pode ser o melhor e mais rápido na execução de um projeto com pequenas dimensões. Mas ele pode se tornar um problema quando precisamos caçar bugs difíceis de serem encontrados, ou mesmo erros de linhas de comunicação.

Em geral, o arduino é mágico pela popularidade, compartilhamento de códigos fontes e de experiencia e facilidade de prototipagem.

Quando descobrimos problemas, melhor teria sido utilizar um Atmel AVR com debugger (comparado com um Arduino UNO), porque perde-se menos tempo na resolução de grandes desafios.

Concorda?

Juliano Marcos de Farias
Visitante
Juliano Marcos de Farias

Não sei te dizer amigo, só sei mexer no arduino... 🙂

Marcelo Rodrigo Dos Santos Andriolli
Visitante
Marcelo Andriolli

Vejo o arduino como uma excelente "plataforma" para teste de conceito em projetos, devido a todas as facilidades descritas a cima pelo Tiago Lima. Agora como uma plataforma pra ser usado em produtos, vejo problemas, entre eles o citado a cima novamento pelo Tiago Lima.

Euripedes Rocha Filho
Visitante
Euripedes Rocha Filho

Eu acredito que inclusive sou mais produtivo trabalhando com o AVR sem a utilização do arduino, só com a avr-libc. Como comecei a usar o AVR bem antes do arduino já estava habituado com o mesmo. Mas acho o arduino uma plataforma interessante.

Plínio Barbosa
Visitante
PlinioBS

Uma alternativa para esse caso da depuração é o uso de uma plataforma que possua OpenSDA integrado. Um exemplo é a Freedom Board da Freescale ou a Mbed. Além da arquitetura ser melhor que o AVR, pois é ARM a interface de depuração integrada nos salva em momentos difíceis.