Por que a TI tem tantos microcontroladores?

44

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?

Andy_A̷n̷d̷y̷
fonte
5
Como você decide seus requisitos, pesquise e encontre um que corresponda a 90% em vez de apenas comprar um que possa fazer tudo e 150% a mais por três vezes o preço.
precisa saber é o seguinte
4
@PlasmaHH 90% não é uma boa escolha :)
Eugene Sh.
39
Por que há tantos carros para escolher quando eu só quero uma maneira de ir ao trabalho?
Wouter van Ooijen
9
Super-mega aproximadamente: 1) MSP430: aplicações de baixa potência e bateria; 2) C2000: controle do motor e eletrônica de potência; 3) Tiva (TM4C): processadores ARM de uso geral; 4) Sitara: muito mais avançado (córtex A8, A9 e assim por diante), você pode executar o Linux nele; 5) Hércules: aplicações de segurança. Também há muitos DSPs (C5000 e C6000). Esse link pode ser útil. Também TI tem muitos guias de seleção vincular Eu não usei pessoalmente até 10% deles, por isso não posso dizer mais ...
Gattuso
9
Parte da resposta é que a TI comprou vários fabricantes de microcontroladores bem-sucedidos e semi-bem-sucedidos e continuou o desenvolvimento e a produção dessas linhas.
DoxyLover

Respostas:

123

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:

  • Hercules é uma continuação da linha TMS470 / TMS570. É focado em segurança e desempenho. Um dos principais recursos do Hercules são CPUs duplas executando o mesmo código em paralelo ("lock-step"). Isso permite que você detecte imediatamente falhas na própria CPU. Confira esta folha de dados para obter algumas informações de desempenho de um produto mais recente. A CPU Cortex-R5F é executada a> 300 MHz e há um grande número de periféricos com recursos avançados - os módulos CAN possuem 64 caixas de correio, por exemplo. Obviamente, esse material não é barato. Mas observe as aplicações - desfibriladores, ventiladores, elevadores, bombas de insulina ... esses são locais onde os clientes estão dispostos a pagar por segurança. A Hercules também aplica produtos automotivos com faixa de temperatura mais ampla e vida útil mais longa.
  • O foco do C2000 está no suporte a algoritmos de controle. O "CPU" C28x é realmente um DSP, e seu conjunto de instruções foi estendido para lidar com coisas como trigonometria e números complexos. Há também um processador baseado em tarefas separado chamado Control Law Accelerator (CLA) que pode executar algoritmos de controle independentemente da CPU. Os ADCs e PWMs também suportam muitas opções de tempo. O desempenho varia de médio porte ( Piccolo ) a high-end ( Delfino de núcleo duplo ). As grandes aplicações aqui são conversores de energia, comunicação por linha de energia, acionamentos industriais e controle de motores.
  • MSP430 é tudo sobre baixo consumo de energia. Eles possuem alguns produtos que utilizam FRAM (memória não volátil ferroelétrica), que consome menos energia que o flash, e até um que fica com 0,9V (uma bateria). Eles têm alguns periféricos menos comuns para suportar coisas como LCDs e sensor de toque capacitivo. Examine as planilhas de dados e verá aplicativos como sensores remotos, alarmes de fumaça e medidores inteligentes.
  • Não sei muito sobre o grupo Wireless MCU, mas obviamente a conectividade sem fio tem seus próprios requisitos especiais. Eles parecem ter os processadores Cortex-M e MSP430, com aplicativos em eletrônicos de consumo e na Internet das Coisas. A Internet das Coisas tem sido um grande chavão há algum tempo, então eu imagino que esse seja um dos seus principais alvos. O seu mais novo produto (?) É descrito como uma "solução Internet-on-a-chip ™". ATUALIZAR: O colega justinrjy comentou com mais informações sobre os MCUs sem fio / conectividade: "Os produtos 'Wireless MCU' se distinguem por terem um núcleo de processador que executa os drivers / pilha do protocolo sem fio. Por exemplo, o CC26xx executa a pilha BLE inteira no uC em si, facilitando o desenvolvimento. O mesmo acontece com o CC3200, exceto que o processador executa todos os drivers WiFi no Cortex-M4. O núcleo e os drivers integrados são realmente o que os torna um 'MCU sem fio', em vez de um transceptor . "

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.

Adam Haun
fonte
3
Uau, que resposta! Fantástico! Obrigado senhor por dedicar um pouco do seu precioso tempo e responder minha pergunta completamente. Eu amo a TI e adoraria trabalhar para a TI algum dia. Vocês estão fazendo grandes coisas na TI.
Andy_A̷n̷d̷y̷ 26/01
4
@ Jeremy: por dinheiro suficiente, você pode basicamente conseguir qualquer coisa (que esse dinheiro possa comprar). Mas lembre-se de que sua ideia de "grande volume" e a do fabricante podem não corresponder exatamente. Lembro-me que o Raspberry Pi Foundation teve um momento muito difícil fazer negócios com Broadcom, uma vez que eles (Broadcom) geralmente não lidam em tais números "baixos" ...
DevSolar
5
Dez centavos? Certa vez, trabalhei em um local em que reduzir 1/10 de um centavo do custo de produção valia mais do que o salário de um ano para um engenheiro sênior. Obviamente, nessa escala, eles não estavam comprando MCUs discretos: estavam licenciando o IP e usando-o em projetos ASIC totalmente personalizados.
Solomon Slow
4
Engenheiro de aplicações de TI falando aqui - talvez eu consiga preencher algumas lacunas de informações relacionadas à parte do MCU de conectividade / sem fio! Os produtos "Wireless MCU" são diferenciados por possuir um núcleo de processador que executa os drivers / pilhas do protocolo sem fio. Por exemplo, o CC26xx executa toda a pilha BLE no próprio uC, facilitando o desenvolvimento. O mesmo acontece com o CC3200, exceto que o processador executa todos os drivers WiFi no Cortex-M4. O núcleo e os drivers integrados são realmente o que os torna um "MCU sem fio", em vez de um transceptor.
justinrjy
2
@ Rev1.0, unidades de disco rígido para PCs comuns.
Solomon Slow
27

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.

MD
fonte
6
Os núcleos Cortex de baixa potência são chamados de MSP432 para (minimamente) diferenciá-los do MSP430. Stellaris se tornou Tiva. E a série Hercules é dividida entre as séries automotiva e industrial / médica - principalmente na faixa de temperatura e no suporte CAN para o setor automotivo, eu acho.
Brian Drummond
1
Em um ponto IIRC, os Hercules eram núcleos Cortex-Rx, completos com dutos de instruções de bloqueio duplo. Destina-se a uso em controladores de freio, módulos de airbag, etc.
Krunal Desai
1
Resposta muito boa. Você parece saber muito sobre a TI. Eu não sabia que eles adquiriram o Luminary Micro MCU. Obrigado pelo seu tempo.
Andy_A̷n̷d̷y̷ 26/01
18

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:

~2700  8-bitters: from 384 bytes Flash and 16 bytes RAM to 128 KB Flash and 4 KB RAM 
~1000 16-bitters: from 4 KB Flash and 256 bytes RAM to 1 MB Flash and 96 KB RAM
 ~500 32-bitters: from 16 KB Flash and 4 KB bytes RAM to 2 MB Flash and 512 KB RAM

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:

insira a descrição da imagem aqui

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.

tcrosley
fonte
15

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.

  • Alguma outra restrição específica? Como mencionado; alguns microcontroladores possuem periféricos muito específicos para gerenciamento de energia (módulos PWM de alta resolução) ou segurança (redundância, watchdog determinístico e ciclos de redefinição, etc.).

É 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.

Hans
fonte