Posts com Tag ‘critérios’

Caro(a) Colega,

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

Para ler outros artigos técnicos nesse blog, acesse a seção de ARTIGOS TÉCNICOS. Mais artigos técnicos com o foco em sistemas embarcados, acesse diretamente no site EMBARCADOS.

Boa leitura!Abraço,

Henrique

consulte sempre um engenheiro eletrônico

=============================

uc

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

Características Técnicas

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 para esse 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 d 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 eCooCox. 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.

Componentes-660x328

 .

Introdução

Nos artigos técnicos da série Projetos de Desenvolvimento Antes de Começar enfatizamos a necessidade e a importância de se realizar uma boa especificação inicial dos requisitos do nosso projeto e um esforço para se aprofundar no conhecimento relativo à matéria específica que envolve esse projeto. Os artigos dessa série estão relacionados no final deste texto. No artigo Projetos de Desenvolvimento – Primeiros passos foi apresentada uma metodologia para desenhar o projeto em blocos, detalhando as conexões e interfaces do projeto. Esse desenho serve de referência para o restante do desenvolvimento.

Quando se chega no ponto em que devemos especificar os componentes do nosso projeto, é interessante, além de atender às especificações técnicas, tentar atender também a alguns requisitos e critérios não técnicos para a seleção. Nem sempre é fácil encontrar o que necessitamos e, quando encontramos, devemos tentar considerar esses critérios não técnicos para que esse componente não se transforme num grande problema ao invés de uma boa solução.

 

Alguns critérios para a seleção de componentes

 Neste artigo serão destacados os critérios focados no pequeno e médio negócio, cuja produção do projeto será realizada num volume pequeno. Se a empresa em questão for de grande porte, esses critérios podem ser outros. Algumas empresas, por exemplo, incentivam que seus projetistas utilizem preferencialmente componentes que constam de uma lista de componentes homologados. De qualquer maneira é sempre bom estabelecer claramente esses critérios antes de selecionar os componentes para evitar surpresas desagradáveis. Alguns possíveis critérios para a seleção de componentes são:

  • Fornecedor: De preferência escolher componentes fabricados por empresas tradicionais (por exemplo: Texas Instruments, National Semiconductors – atual Texas -, Analog Devices, Fairchild, Freescale etc), que sejam distribuídos no Brasil e facilmente encontrados. Isso aumenta a chance de você encontrar mais de um fornecedor para esses componentes, o que garante uma perspectiva de vida mais longa para o seu projeto;
  • Encapsulamento: Encapsulamentos do tipo BGA (Ball Grid Array) ou similares podem causar muitos transtornos por causa da dificuldade de se montar um protótipo com eles ou de se realizar a troca desses componentes quando for necessária uma manutenção. Para pequenos projetos, pode-se ainda considerar o encapsulamento DIP (Dual Inline Package) como alternativa viável, especialmente para a nossa realidade;
  • Fornecedores Alternativos: Se houver fabricantes alternativos para o mesmo componente, pode-se garantir uma maior expectativa de vida  para o seu projeto, pois as empresas freqüentemente param de fabricá-los;
    • Verificar antes de eleger um componente, se o principal fabricante anunciou o encerramento de fabricação do mesmo. Eles fazem isso com alguma antecedência;
  • Quantidades mínimas: Evitar de especificar componentes que são fornecidos exclusivamente em embalagens com grandes quantidades (por exemplo 2000 ou 4000 unidades), a não ser que o seu projeto seja produzido em grande escala. A melhor estratégia na maioria dos casos é a de ter a possibilidade de fornecimento no varejo ou em pequenas quantidades;
  • Preço – O preço do componente pode muitas vezes ser proibitivo.

No artigo técnico O melhor microcontrolador para seu projeto publicado originalmente no site Embarcados, são apresentados alguns critérios específicos para selecionar microcontroladores. Vale a pena conferir.

Recursos para auxiliar a sua busca

Para encontrar componentes especiais, ou realizar uma busca por função, eu recomendo inicialmente o uso do site DIGCHIPNa opção Browse by function é apresentada uma lista dos componentes e seus fabricantes, inclusive vários datasheets. Pode-se observar essa página na Figura 1.

.

DIGCHIP_01_s

Figura 1: Página da busca de componentes eletrônicos por função.

.

Para mostrar um exemplo de busca, suponhamos que você deseje encontrar osciladores a cristal do tipo TCXO (Temperature Compensated Crystal Oscillators). Selecionando na página mostrada na Figura 1 a opção Timing Circuits, é apresentada a página mostrada na Figura 2.

.

DIGCHIP_02_s

Figura 2: Página da busca de componentes eletrônicos temporizadores.

.

Nessa página, mostrada na Figura 2, selecionando a opção TCXO, você obtém a resposta mostrada na Figura 3.

.

DIGCHIP_03

Figura 3: Resultado da busca por circuitos do tipo TCXO.

.

Os resultados mostrados na Figura 3 enfocam mais as especificações dos componentes. É possível encontrar os mesmos resultados com enfoque nos fabricantes, se for realizada no mesmo site uma busca paramétrica.

Há outras formas para se fazer esse tipo de busca por função. Pode-se recorrer às páginas dos grandes distribuidores de componentes eletrônicos e utilizar-se desse recurso quando disponibilizado nessas páginas. Na Figura 4 é mostrada a página do distribuidor NEWARK. Outros que você pode utilizar: FARNELL, RS COMPONENTS, DIGI-KEY etc.

.

Newark

 Figura 4: Detalhe da busca por função na página da NEWARK

 .

Outra forma de busca é a pesquisa direta nos sites dos fabricantes. O profissional de eletrônica mais experiente conhece os fabricantes mais tradicionais e também a sua principal vocação quanto ao tipo de componente. Por exemplo, a Vishay tem uma variedade enorme de componentes passivos. Microcontroladores? Tem os da Microchip, Texas, NXP, Atmel etc. Nesses sites também pode-se realizar a busca por função.

Como encontrar os fornecedores?

Uma vez selecionados os componentes que se pretende utilizar, torna-se necessário encontrar os fornecedores para esses componentes e consequentemente verificar seus preços e disponibilidade. Uma forma simples de se fazer isso é consultar diretamente os distribuidores listados no site do fabricante, onde com frequência são listados distribuidores brasileiros, ou então realizar uma busca simples na internet. Outra forma é a utilização de algumas ferramentas de busca globais. Veja alguns exemplos para você experimentar:

Essas ferramentas de busca não contemplam os distribuidores brasileiros. Porém muitos distribuidores internacionais têm representação ou filial no Brasil. Vale consultá-los também.

Como encontrar componentes alternativos ou equivalentes?  

Existem várias maneiras para se encontrar componentes alternativos ou equivalentes. Garimpar direto nos sites dos fabricantes ou de fabricantes de componentes semelhantes utilizando ferramentas de busca de referência cruzada (cross-reference) ou de substituição (replacement) que geralmente são disponibilizadas para o usuário, é uma delas.  Há também algumas ferramentas na internet que ajudam nessa identificação. Por exemplo:

Vale lembrar que a equivalência nem sempre é total. Podem haver pequenas diferenças nas especificações técnicas, encapsulamento, distribuição dos sinais nos pinos do CI etc. É necessário analisar os componentes equivalentes caso a caso e verificar se a compatibilidade é satisfatória.

.

Resumo

O importante é estabelecer os critérios não técnicos para a seleção de componentes para o seu projeto de forma que esses possam ser aplicados após você encontrar os componentes que atendam aos requisitos técnicos. A observação de todos esses requisitos ajuda na escolha da melhor solução de compromisso. Dificilmente você vai encontrar um componente que atenda a todos os seus critérios de seleção.

Neste artigo o foco foi a elaboração de critérios para a seleção dos principais componentes eletrônicos do seu projeto. Foram apresentados alguns recursos que te ajudam a encontrar esses componentes, Na sequência,  A arte de especificar e encontrar componentes – Parte II, serão apresentados recursos para se encontrar outros componentes e materiais não necessariamente eletrônicos.

Para aprender mais

Na série de artigos técnicos Projetos de Desenvolvimento: Antes de começar  foi enfatizada a necessidade e a importância de se realizar uma boa especificação inicial dos requisitos do nosso projeto e um esforço para se aprofundar no conhecimento relativo à matéria específica que envolve esse projeto. Para isso abordamos os seguintes temas:

Projetos de Desenvolvimento: Antes de começar
  • Pesquise Patentes! – A vantagem de se pesquisar os sistemas de patentes para adquirir conhecimento nos assuntos específicos e conhecer as soluções dadas pelos concorrentes;
  • Consulte as Normas Técnicas! – Os cuidados que se deve ter, se para o projeto houver a exigência de atender aos requisitos necessários de normas técnicas específicas;
  •  Estude mais um pouco! – Outras fontes para se adquirir o conhecimento necessário e extrair as informações que são necessárias.

Licença Creative Commons Esta obra, “A arte de especificar e encontrar componentes – Parte I“, de Henrique Frank W. Puhlmann, foi licenciada sob uma Licença Creative Commons Atribuição-NãoComercial-CompartilhaIgual 3.0 Não Adaptada.