Existem inúmeras plataformas de MCU e, quando alguém se acostuma a uma, geralmente reluta em mudar para outra plataforma.
Minha pergunta é: se alguém começasse a usar um MCU para tarefas de uso geral hoje, como alguém escolheria um? Quais são os pontos de venda exclusivos das diferentes plataformas?
microcontroller
ARF
fonte
fonte
Respostas:
Um ano depois, dei uma palestra sobre o assunto de escolher microcontroladores (levou cerca de 1,5 horas). O público era de programadores e fabricantes de software de alto nível. A maioria do público não tinha experiência prévia em μC, o restante tocou apenas com o Arduino. O número de pessoas na platéia era de cerca de 30. Portanto, esse foi um multicast, em oposição a uma clínica individual.
O slide principal da conversa foi o seguinte:
ps
Eu devo definir o escopo ao qual esta resposta minha é limitada. Eu vejo essa pergunta de seleção de plataforma através de dois tipos de lentes. O primeiro é um protótipo. O segundo é um desenvolvedor de equipamentos profissionais com preços nas ruas da ordem de US $ 3 mil e quantidades em centenas por ano. A lente amadora também não está muito longe. Nesses casos, o custo incremental do microcontrolador é pequeno, comparado ao custo de desenvolvimento ou ao custo do equipamento profissional no qual o microcontrolador entra.
Há, é claro, uma perspectiva muito diferente da produção em massa. Quando alguém escolhe um microcontrolador para um dispositivo barato que será produzido em grandes quantidades (os brinquedos tradicionais são um bom exemplo), eles serão movidos pelo custo do hardware. Uma economia modesta no custo de hardware multiplicada por um grande volume de produção (em centenas de milhares ou mais) pode justificar a dor de usar um ambiente de desenvolvimento pesado e um microcontrolador de preço acessível com um suporte mediocre.
fonte
Como essa pergunta ainda não produziu a comparação de plataformas que eu esperava, tentei criar uma, estudando a literatura e as outras respostas. Talvez isso possa ajudar outra pessoa no futuro.
Informe-me se houver algum erro ou se houver informações que eu possa adicionar.
Comparação de plataformas
Notas sobre a comparação:
FOTO:
AVR:
Braço Córtex-M:
PSoc: (da resposta de Rocketmagnet)
Hélice: (da resposta de Rocketmagnet)
Comparação por Aplicação
USB:
"Legenda" para a lista abaixo:
Propriedades do dispositivo mais barato: (em aproximadamente ordem de preço)
Ethernet:
fonte
Sua escolha do MCU depende muito do tipo de projeto em que você estará trabalhando. Você está fabricando dispositivos de alto volume, baratos e simples, como luzes de bicicleta? Você está desenvolvendo robôs protótipos complexos que precisam lidar com vários dispositivos e sensores de IO bizarros?
Eu principalmente trabalho neste último. O principal problema para mim é tentar encontrar microcontroladores com o conjunto periférico que desejo. Isso é muito difícil, pois nossos requisitos não parecem ser comuns. Queremos coisas como 5 canais PWM, 5 decodificadores em quadratura, 2 portas SPI não padrão e um UART com E / S negada.
Os únicos MCUs que eu vi que podem lidar com esse tipo de requisitos com facilidade são o PSoC e o Propeller.
O Propeller é basicamente oito MCUs de 32 bits em um único chip. Se você deseja algum tipo de periférico, basta programar um dos MCUs para executar esse trabalho. Então você pode ter o que quiser.
Os PSoCs têm dois sabores, 3 e 5. O 3 é um núcleo 8051 e o 5 é um córtex M3 do BRAÇO. Também estão incluídos no chip blocos reconfiguráveis digitais e analógicos que podem ser transformados em uma ampla gama de periféricos: ADCs, filtros, amplificadores operacionais, DACs, SPI, UART, decodificador em quadratura, gerador CRC, etc.
O ambiente de desenvolvimento é fantástico. Você tem a edição normal do código-fonte de um IDE típico, mas também possui um editor esquemático. Você pode literalmente conectar qualquer circuito digital que desejar, conectando os periféricos a portões, chinelos, etc. Precisa de 5 PWMs? Fácil, basta colocá-los no esquema, conectá-los e sair daqui. Você pode até escrever seus próprios periféricos no Verilog, se desejar algo que não é fornecido. Grande parte do seu aplicativo pode ser simplesmente implementada nesse tipo de hardware.
O benefício real é que você pode ficar com um chip, sabendo que ele pode enfrentar muitos dos projetos que você deseja realizar no futuro. O que eu achava irritante nos PICs estava constantemente vasculhando dezenas de dispositivos procurando aquele que tinha o conjunto periférico específico de que eu precisava. Agora não tenho esse problema.
fonte
Para mim, o requisito mais importante era se o dispositivo / IDE é bem suportado no meu PC não Windows (Linux). Aconteceu que, para mim, os AVRs da Atmel tinham um suporte melhor (de código aberto) do que o PIC.
fonte
Usar mais de uma plataforma é bom. Selecionando o melhor para cada trabalho e também disponibilidade de código e exemplos relacionados ao trabalho.
A maioria deles possui boas ferramentas de desenvolvimento, o arduino possui o visual studio, o pic possui uma ótima ferramenta e outras também. Então, para mim, é com que rapidez e facilidade posso fazer o trabalho bem, + quantas pessoas de código aberto trabalham na mesma coisa?
fonte
Os microcontroladores são um mundo em rápida mudança, há muitas vantagens em aprender sobre os chips "in" atuais e o mais notável do IDE mais popular é obter ajuda da comunidade. Como pessoa do PIC, eu diria que o Aduino provavelmente tem as melhores placas de IDE e desenvolvimento para iniciantes no momento e você pode adicionar muito a uma placa aduino básica sem tocar em um ferro de solda.
Qualquer pessoa que use um aduino para coisas da vida real em breve pode querer seguir em frente, mas a essa altura você já terá aprendido muita eletrônica digital básica e um bom subconjunto de C para usar facilmente algo mais adequado.
Como alguém mencionou que você escolhe o chip para o seu projeto, já vi alguns projetos usando chips ARM como simples sensores de temperatura ou conversores AD, da mesma forma que vi aduinos e PIC 16 sendo levados ao limite para gerar um jogo de invasores espaciais, os FPGAs você é galso reat e é bom entender o HDL se você estiver seriamente envolvido no design de eletrônicos .. mas, infelizmente, não existem muitos projetos no mundo real nos quais você precisará usar um dos trabalhos: volume baixo, design rápido e preço limitado. é aqui que o uC de 8 bits reina supremo
fonte
Como muitas das respostas postadas se concentram no uso de entusiastas, aqui estão várias recomendações direcionadas apenas a desenvolvedores profissionais.
Requisitos mínimos nus
Se o MCU não atender a todos eles, não deverá ser usado.
Sinais de alerta - hardware MCU
Essas são coisas com as quais você não deve perder tempo no ano de 2019.
int
, que por sua vez vem com todos os perigos ocultos das promoções com números inteiros na linguagem C.Sinais de alerta - cadeia de ferramentas
fonte
Se você está realizando tarefas de uso geral que podem ter processamento analógico e digital, eu teria preferido o PSoC por seu IDE, depurador e grande número de coisas que você pode fazer com isso.
Eu usei o PSoC3 na faculdade para meus projetos e é muito simples de dominar. A única coisa é que se você precisar de alguns chips de desempenho, ainda precisará obtê-los separadamente. Tem portas boas o suficiente. Portanto, se você estiver procurando alguns chips de desempenho junto com o kit de desenvolvimento, é melhor optar por componentes separados.
fonte