Estou trabalhando em um projeto com um grupo e sou responsável pela parte digital do projeto, por isso vou escrever o código. Para ir de analógico para digital, tenho que escolher um microcontrolador.
Eu estava olhando para os microcontroladores da TI e descobri que eles têm muitos. Eles têm:
Stellaris
Hércules
MSP430 Series
E a lista continua ..
Minhas perguntas:
Qual microcontrolador se usa e por quê?
Sob quais condições devo usar o microcontrolador X em vez de Y?
Por que existem tantos micro controladores diferentes?
microcontroller
texas-instruments
Andy_A̷n̷d̷y̷
fonte
fonte
Respostas:
Sou um funcionário da TI que trabalha em um grupo de desenvolvimento da MCU, mas essa não é uma declaração oficial da TI. Em particular, esta não é uma declaração oficial sobre roteiros ou prioridades. Além disso, eu não estou no marketing, por isso, se contradizer nosso material de marketing, eles estão certos e eu estou errado. :-)
A resposta do médico está correta, mas achei que mais alguns detalhes seriam úteis. A TI tem como alvo diferentes aplicativos com diferentes requisitos. Quando você está competindo por um soquete MCU (e há muita concorrência nesse setor), os recursos e o preço são importantes. Uma diferença de custo de dez centavos pode ganhar ou perder o encaixe. Um dos principais fatores de custo é o tamanho da matriz - quanta coisa há no chip. Portanto, faz sentido ter diferentes linhas de produtos e famílias diferentes dentro dessas linhas de produtos. As linhas de produtos diferem principalmente em tipos e arquitetura periféricas, enquanto as famílias em produtos de uma linha diferem principalmente em termos de custo e conjunto de recursos.
Aqui estão alguns detalhes sobre as linhas de produtos:
Como você pode ver, essas linhas de produtos têm como alvo aplicativos muito diferentes, com requisitos muito diferentes. Colocar um chip Hercules de 300 MHz em um dispositivo alimentado por bateria seria um desastre, mas o MSP430 também seria colocado em um airbag. O tamanho físico também pode importar. Um pacote BGA de 337 pinos é estranho para caber em um sensor minúsculo, mas não é nada para um equipamento industrial.
Dentro das linhas de produtos, existem várias famílias. Os dispositivos C2000 Delfino são mais rápidos, têm mais periféricos e têm mais pinos em suas embalagens. Eles também podem custar (pelo menos) o dobro de um dispositivo Piccolo. De qual você precisa? Depende da sua aplicação. O MSP430 possui alguns produtos que equilibram o consumo e o desempenho de energia e outros que se concentram exclusivamente na baixa energia. (Esse MCU de uma bateria atinge o máximo de 4 MHz e 2 kB de RAM.)
Existem muitos produtos em cada família, porque novos produtos são desenvolvidos o tempo todo. Os transistores ficam menores / mais baratos, para que mais coisas possam funcionar em um chip. Hoje, um MCU de gama média teria sido de altíssima qualidade há dez anos. Geralmente, cada produto é feito para direcionar alguns aplicativos específicos e oferecer suporte a outros sempre que possível.
Por fim, existem várias variantes de cada produto (também conhecido como o último dígito no número de peça). Eles geralmente têm quantidades diferentes de memória e (talvez) pequenas variações de quais periféricos estão disponíveis. Novamente, isso é tudo sobre fornecer uma faixa de preço.
A versão curta é que cada produto fornece um equilíbrio diferente de preço, desempenho e recursos. É simples segmentação de mercado antigo. Nossos clientes são fabricantes, que se preocupam muito mais com pequenas diferenças de preço do que com os usuários finais. As pessoas compram todos os números de peça que temos, portanto, claramente, a demanda está lá fora. :-)
ATUALIZAÇÃO: Jeremy perguntou como os requisitos de grandes clientes afetam o processo de design e se criamos MCUs personalizados. Eu já vi vários MCUs TMS470 / 570 criados para um único grande cliente automotivo. Esse grupo também tinha alguns MCUs cujas arquiteturas foram projetadas por e para um cliente. Em pelo menos um deles, o cliente escreveu a maior parte do RTL. Eles estão sob fortes restrições da NDA, então não posso dar detalhes.
Os produtos gerais de mercado geralmente têm pelo menos um grande cliente em mente. Às vezes, grandes clientes recebem um número de peça especial. Às vezes, adicionaremos um periférico apenas para ganhar um grande soquete. Mas, em geral, acho que os grandes clientes têm mais um piso do que um teto quando se trata de recursos.
Um exemplo extremo de peças personalizadas é o nosso grupo de alta confiabilidade. Eu só ouvi histórias sobre esses caras, mas aparentemente eles pegam os produtos existentes e os refazem para trabalhar em condições extremas - altas temperaturas, radiação, pessoas atirando em você etc. Eu conheço alguém que compra o HiRel TMS470s para perfuração de fundo de poço , onde a temperatura pode chegar a 200 ° C. (Talvez este - em estoque na Arrow por apenas US $ 400 / chip!) Eles têm um monte de produtos padrão listados no site, mas pelo que ouvi dizer, eles podem ser feitos sob encomenda, mesmo em pequenas quantidades - você você pode comprar uma dúzia de versões HiRel de qualquer chip que desejar, se estiver disposto a gastar mais de US $ 50.000 por chip. :-)
Como regra geral, tudo nos negócios é negociável se você estiver gastando dinheiro suficiente.
fonte
O MSP430 foi / é um núcleo desenvolvido pela TI. É um núcleo de 16 bits e foi comercializado como extremamente baixa potência. Como o mercado de MCU de 16 bits está evaporando rapidamente com a proliferação do Arm Cortex-M0, existem mais novos MSP430s baseados no núcleo do Cortex. Os MPS430s mais antigos normalmente estão competindo por soquetes de 8 bits agora.
Stellaris, renomeado como Tiva, é o ex-Luminary Micro MCUs. Essa empresa foi adquirida pela TI há talvez 6 ou 7 anos. Estes eram (são?) Dispositivos baseados em Cortex-M3 / M4. Mais capaz / poderoso que o MSP430 na maioria das circunstâncias.
O C2000 (Piccolo / Delfino / etc.) É direcionado ao controle em tempo real (controle do motor, conversão / regulação de potência, etc.). Essa família também possui funcionalidade DSP de extremidade inferior. Destinado mais a indústrias e, talvez, a alguns setores automotivos (um dos poucos MCUs TI qualificados para automóveis).
Hercules está focado na segurança. Redundância, verificação de erros em tempo de execução, BIST, muitas funcionalidades do watchdog. Aplicações críticas de segurança.
Existem várias outras partes que possuem alguma combinação de recursos e / ou funcionalidade de nicho (ou seja, sem fio integrado, dual core, FRAM, etc.). E também existem os DSPs e microprocessadores mais capazes oferecidos.
Qual é a sua aplicação? Volume? Cronograma de desenvolvimento? Quais periféricos / recursos você precisa? Quanto - e que tipo - de poder de processamento é necessário? Você consegue conviver com os periféricos analógicos de baixo desempenho do MCU ou estará processando todo o caminho do sinal externamente / discretamente? Existem muitos fatores na escolha de um processador / controlador para um sistema / aplicativo específico.
fonte
A Microchip é outra empresa que possui uma linha completa de microcontroladores - mais de 4.000 estocados na Digi-Key, incluindo todas as variantes de pacotes. Como a TI, eles abrangem a gama de 8 bits a 32 bits:
Observe que o menor é especificado em bytes, não em KB.
Eles variam de preço de 35 ¢ a US $ 13,36 em quantidades únicas. Eu imagino que os preços mais baixos podem custar menos de 20 centavos em grandes quantidades. Talvez até 10 ¢ para os não testados (onde o cliente faz o teste de aceitação em vez do fabricante). O ARM de 32 bits mais barato é o dobro em quantidades únicas a 76 ¢. Para um produto de alto volume, essa é uma grande diferença. O PIC10F200 é o µC mais barato de todos os quase 15.000 que a Digi-Key possui.
O Microchip também possui uma excelente reputação por manter os estoques de seus µCs mais antigos (listados no seletor de produtos abaixo como "Maduros"), o que é outra coisa a considerar.
Como entender tudo isso? Use um seletor de produto. A Digi-Key, a Mouser e outros distribuidores possuem produtos razoavelmente bons, mas eles não incluem todos os parâmetros (o seletor de produto µC da Digi-Key tem menos de 20, a tabela abaixo tem mais de 50). O microchip (e imagino outros fabricantes) possui outros mais extensos, como o abaixo. Observe que você pode fornecer intervalos para quase todos os parâmetros:
Agora, com a aquisição da Atmel pela Microchip, será interessante ver o que acontece. Parece que há um pouco de sobreposição em algumas linhas.
fonte
Sem entrar em detalhes exatos de quais ofertas a TI (que já foi respondida aqui), gostaria de enfatizar que você precisa de especificações. Se você não os tiver, assuma que é seu trabalho identificá-los. Isso pode ser um pouco impressionante se você é novo, mas vamos citar algumas especificações que podem ocorrer em um projeto:
O que o MCU fará? É limitado pelo tempo de CPU? Você fará algum "processamento especial" como ponto flutuante? Isso determinará o núcleo da CPU e a velocidade do relógio necessários.
Ou é limitado pela duração da bateria? Se então; você precisa investigar os modos de espera que um microcontrolador tem para oferecer, latência para ativação, fontes de ativação, trilho de voltagem para digital e analógico (por exemplo, se você o alimenta diretamente da bateria), etc. Além disso, observe todas as E / S no sistema também. Você pode ter um ótimo microcontrolador que consome 50nA durante o sono - mas é insignificante se, por exemplo, um LDO ou EEPROM estiver consumindo 10uA inativo.
Qual pacote você pode / precisa usar? Quantos pinos e que tecnologia? Quanto espaço você tem, o que você pode montar?
Quanto código você vai escrever para ele? Você tem alguma idéia de quanta RAM / FLASH você precisa? Alguma experiência prática em um devboard pode ajudar com isso.
Quais interfaces você precisa usar no design do sistema e como deseja usá-las? Pontos de partida básicos:
1) Restrições de velocidade (por exemplo, eu preciso de um USART rodando a 3 MBaud)
2) Restrições de contagem de portas (por exemplo, eu preciso de 5 USARTs)
3) Restrições de taxa de transferência (por exemplo, eu preciso que o DMA transfira 2 Mbps de dados de / para o USART)
4) Observe quaisquer "eventos" que possam ocorrer no sistema e quais latências você deve atender. Por exemplo, você pode pesquisar um pino de alerta de um dispositivo ou precisa de um pino de interrupção externo?
Essa pode ser uma pergunta difícil, não importa se você projeta "de baixo para cima" ou "de cima para baixo". Se você projetar "de cima para baixo", poderá descobrir que, nesse ponto, não há microcontrolador com 16 USARTs que o design do sistema tinha como garantido.
OTOH, se você projetar "de baixo para cima", poderá escolher um microcontrolador que você conheça e esteja familiarizado, mas descubra que ele não possui a quantidade certa de E / S e precisa de "chips de cola" para funcionar.
Se alguma coisa; familiarize-se com as ofertas dos fornecedores. É bom saber onde estão as restrições quando você coloca todos os seus desejos em uma pesquisa paramétrica e obtém 0 resultados.
É sempre uma boa ideia identificar os gargalos em um design e tentar resolvê-los. Uma placa de desenvolvimento pode ser uma boa experiência prática para testar seu código em termos de tempo da CPU, requisitos de memória e "peculiaridades" que o microcontrolador pode ter.
fonte