AVRs de 8 bits em crescimento, sem saber para onde ir

8

Estou usando o AVRS de 8 bits há alguns anos. Ultimamente, tenho me sentido limitado pelas velocidades de transferência de dados periféricos e pelas bibliotecas de nível superior.

Estou tendo problemas para encontrar / escolher uma nova linha de microcontroladores para explorar. Eu olhei

  • NXP - Não foi possível encontrar um programador
  • Freescale - É necessário se registrar no IDE
  • AVR32 - Seleção limitada de chips no digikey

Os chips NXP parecem realmente bons, mas como em qualquer coisa que não seja PIC / AVR / Ardiuno, a curva de aprendizado é bastante acentuada.

Eu queria saber se alguém poderia sugerir uma linha de microcontroladores que atendam (em ordem de importância) aos seguintes requisitos

  1. Microplaquetas que podem ser soldadas à mão. (Eu posso fazer o LQFP 100)
  2. 32 bit
  3. Host Linux
  4. Toolchain grátis
  5. IDE bom / gratuito
  6. Custo de inicialização <500 $ para programação / depuração / compilação ilimitadas
  7. Suporte CAN
  8. Suporte Ethernet / USB

Estou disposto a analisar o Freescale e o NXP novamente, se alguém puder me mostrar que perdi algumas informações sobre o conjunto de ferramentas e os programadores. Eu acho que você poderia dizer que os AVR32s são exatamente o que estou procurando, mas não estou feliz com a seleção de chips deles. Todos eles têm contagens de pinos mais altas e estoque baixo no digikey.

Obrigado.

Chris H
fonte
2
Qual é o problema com o registro no IDE da Freescale?
stevenvh
5
Saltando por aros para ter o privilégio de usar as fichas que você comprou?
XTL
Sim, eles dirão que precisam saber quem você é para prestar um melhor serviço, ler para vender o material deles. Fica pior se você precisar se registrar apenas para fazer o download de uma folha de dados (aconteceu comigo algumas vezes). A vida é difícil :-)
stevenvh
Ter que "registrar-se" para coisas on-line, certamente uma jogada sem precedentes. FWIW, seus fóruns exigem esse registro também, por isso é bom estar preparado para isso também.
Nick T
1
@stevenvh, no caso da Wavecom, tornou impossível encontrar qualquer coisa (folhas de dados, postagens no fórum, documentos etc.) usando um mecanismo de pesquisa, pois tudo exigia o registro. O download da versão antiga do IDE também é uma dor, agora que eles foram adquiridos.
Peter Gibson

Respostas:

4

Eu recomendaria definitivamente o NXP - variedade decente de chips, bons periféricos (UART com baudgen flexível e FIFOS, SPI com FIFO etc.) excelente documentação * e opções de programação flexíveis. Obtenha um depurador JTAG / SWD (as peças do Cortex usam pinos SWD - menos pinos que o JTAG e podem fazer coisas como definir pontos de interrupção durante a execução). Eu uso a versão gratuita do kickstart do ambiente de trabalho incorporado IAR - isso tem um limite de código de 32K, o que é bom para mim, mas esteja ciente de que as atualizações de tamanho de código são caras. Parece que muitas pessoas estão bem com o GCC / winarm. Algumas peças do Cortex (por exemplo, LPC1343) podem carregar o firmware de um pendrive usando o carregador de inicialização integrado. A disponibilidade de peças geralmente é boa - nunca lutei para encontrar estoque. Também há muitos devboards / breakouts disponíveis para peças NXP.

  • a documentação nos Manuais do Usuário é boa, no entanto, a maioria das coisas é mencionada precisamente uma vez, portanto vale a pena o tempo gasto para ler toda a seção referente a cada periférico que você usará. Os manuais para as peças posteriores melhoraram, pois no início de cada seção eles apontam para algumas coisas críticas não óbvias, como clock / pin, habilitadas documentadas em outros lugares, necessárias para a execução periférica
mikeselectricstuff
fonte
12

BRAÇO, BRAÇO, BRAÇO.

O ARM licencia seus núcleos de processador para muitas empresas. Isso significa que você encontrará boas ferramentas, suporte e documentação de mais de uma fonte.

O PIC, o AVR e o MSP430 sofrem com o problema de pertencer a uma única empresa.

Tenha em mente, com os microcontroladores ARM, que um Cortex-M3 da NXP estará mais próximo de um Cortex-M3 da ST ou Luminary do que um ARM9 ou ARM7TDMI da NXP. Na maioria das vezes, compiladores, depuradores e programadores são comuns em núcleos e não em fabricantes.

Obter a cadeia de ferramentas GCC ARM da Codesourcery e um dongle ARM JTAG barato o levará a um longo caminho.

Toby Jaffey
fonte
1
dongle ARM JTAG barato == OpenOCD
Johan
@ John Ou você pode convencer o ATmega existente em um.
Maxthon Chan
5

Eu iria para o NXP. Em pouco tempo, o Cortex-M3 se tornou o padrão para controladores ARM (suponho que por Freescale você queira dizer Coldfire). Como o ARM7TDMI NXP também tem uma tradição de uma extensa família de dispositivos para escolher.
Quanto a um programador para NXP, IMO qualquer programador JTAG deve fazer o trabalho (CMIIW).

editar
Atualmente estou lendo sobre mbed , que se parece a maneira mais fácil de começar com a NXP Cortex M3 (controlador utilizado é LPC1768). Você programa / compila on-line (para que o Linux não seja um problema) e programa via USB (o dispositivo aparece como um dispositivo de armazenamento em massa para o qual você pode copiar seu programa compilado). Não é necessário programador. Os programas criados para o mbed devem ser diretamente portáteis para os LPC1768s em outras placas.

stevenvh
fonte
2

Experimente o PIC24 e dsPICs de 16 bits. Muitos deles estão disponíveis no DIL e oferecem até 40 MIPS. O software de desenvolvimento gratuito está disponível e o depurador / programador PICkit 3 é bastante barato por US $ 50. A próxima versão do MPLAB terá suporte para Linux, uma versão beta está disponível.

Leon Heller
fonte
1

Eu pensei que você seria capaz de obter ferramentas gratuitas como em liberdade para ARMs. A programação deve ser executável a partir do carregador de inicialização serial ou JTAG (aberto). Existem alguns chips e módulos STM32 e NXP que eu observei que me deixaram com essa impressão.

Eu também fui lembrado desta pergunta .

XTL
fonte
1

Se você realmente deseja 32 bits, tente o PIC32. Alta disponibilidade do Microchip. Para depuração do Linux, o MPLAB X está na versão beta 4 e suporta Linux, Windows e Mac OS X. Acho que você também precisará de um programador PICkit 3 ou similar por US $ 50-60.

No entanto, eu seria mais inclinado para os dsPIC e PIC24 de 16 bits porque eles são muito mais baratos, podem ser depurados com um PICkit 2 e são fáceis de programar. Eles também estão disponíveis nos pacotes DIP, embora isso não importe para você (?) Eu sou um pouco inclinado em relação a eles, uma vez que os uso no meu projeto.

Thomas O
fonte
Agora há mais de uma dúzia de PIC32 disponíveis em um pacote DIP de 28 pinos, o que os torna ideais para prototipagem. Além disso, a nova linha PIC32MZ (disponível apenas em SMD) possui até 2 MB de Flash, 512K de RAM e suporta host CAN / Ethernet / USB 2.0.
tcrosley
1

O único processador de 32 bits atualmente fabricado em um pacote DIP é o Parallax Propeller . (O mesmo chip também está disponível em pacotes QFP de 44 pinos e QFN de 44 pinos, todos com 32 pinos de E / S de uso geral). Existem também algumas ferramentas de desenvolvimento que são executadas no Linux .

Portanto, ele atende facilmente aos seus dois primeiros critérios e à maioria (infelizmente, não todos) dos demais critérios restantes.

davidcary
fonte
0

Dê uma olhada no FEZ Domino . Ele não atende a todos os seus requisitos, mas oferece bastante se você não precisar do controle de nível mais baixo possível.

avra
fonte
0

A série de chips Cypress PSoC possui uma combinação de recursos que eu não vi em nenhum outro IC.

O chip PSoC5 inclui um ARM Cortex M3 de 32 bits, mas, tanto quanto eu posso dizer, todos estão empacotados em algo como um TQFP100. As séries de chips PSoC1 e PSoC3 incluem muitos chips empacotados com DIP, mas todos eles têm um núcleo de 8 bits ou outro.

Além da CPU, o chip também possui uma interconexão programável, como um pequeno FPGA e alguns amplificadores operacionais analógicos no chip.

http://www.psocdeveloper.com/

davidcary
fonte
0

Os ARMs da Atmel podem ser adequados, principalmente

Microplaquetas que podem ser soldadas à mão. (Eu posso fazer o LQFP 100)

Eles vêm no TQFP e você pode usar um dos menores de 64 pinos.

32 bit

Verifica

Host Linux

Eu desenvolvo exclusivamente no Linux

Toolchain grátis

Cadeia de ferramentas do GCC ARM, que é mais fácil de configurar agora com scripts de compilação, como a convocar braço de ferramentas.

IDE bom / gratuito

Você me tem lá. Presumivelmente, pode-se configurar o eclipse ou talvez o kdevelop para fazer o trabalho, mas ainda não tentei. Eu uso vim e kate.

Custo de inicialização <500 $ para programação / depuração / compilação ilimitadas

Programar e compilar custaria cerca de US $ 100, talvez, para prototipar uma placa mínima. Os chips vêm com um gerenciador de inicialização embutido na ROM, que permite programar o chip. Você não precisa de um depurador para programá-lo. Você pode obter o segger da marca Atmel (e bloqueado) por cerca de 100 $. Se você puder pagar, sugiro não optar por um bloqueado, mas pague os 200 ou 300 pelo desbloqueado. Existem também outras opções muito mais baratas que eu ainda não tentei. O usbprog parece muito promissor.

Suporte CAN

Bastante certo está lá, embora você deva verificar para ter certeza. Eu não uso, então não tenho certeza se todos eles têm.

Suporte Ethernet / USB

Suporte USB está lá. O suporte à Ethernet precisa ser adicionado externamente. Muitos exemplos para escolher, no entanto.

Chintalagiri Shashank
fonte
Temos CAN no ATSAM. Pelo menos o ATSAM3X8E tem um como o Arduino Duo, usando esse chip, expôs um.
Maxthon Chan
0

Eu uso a placa de demonstração lpc4330-xplorer para o LPC4330 da NXP. Eu uso uma cadeia de ferramentas criada à mão, mas você pode usar o Yagarto (se você não se importa com FP rígido), ou qualquer compilador ARM realmente, se você pode explorar os scripts do vinculador. O NXP possui alguns periféricos realmente bacanas, como o Timer configurável do estado (você pode ler: gerador de funções) que é capaz de fazer várias coisas. Eles também têm alguns SGPIOs legais. Além disso, eles têm uma infinidade de temporizadores a bordo. É também um processador duplo (chip baseado em M4-M0). Claro, toda a sua linha de LPC é bastante agradável.

Para ser justo, a linha Cypress pSOC também parece boa, mas ainda não tive a chance de usá-la. Os outros definitivamente têm seus usos e públicos, mas eu uso um ambiente de desenvolvimento Linux, sem IDE e algumas ferramentas de linha de comando. Escolho esse caminho porque, quando algo dá errado, e invariavelmente acontece, acho mais fácil caçar o problema se não precisar descascar camadas de ferramentas. Além disso, não há limites de código. E, embora não seja muito clara nas pesquisas na Internet, a linha LPC é muito bem suportada por código aberto.

Finalmente, a LPC fornece uma quantidade razoável de código de amostra no LPCOpen. Novamente, para ser justo, se você deseja compilar com ferramentas de código aberto, é preciso um pouco de trabalho, mas não é difícil. Eles ainda tinham um exemplo muito bom de servidor web. Eles também têm um livro de receitas da SCT (a SCT demora um pouco para entender, mas depois que você o faz, é realmente legal), mas pode demorar um pouco para trabalhar com os exemplos, e os exemplos da SCT no LPCOpen são lamentáveis. Mas vale a pena colocar os chips NXP em funcionamento. Estou passando um pouco de tempo com o NuttX (eu estava cansado do código bare-metal o tempo todo) e com o lpc4330-xplorer.

De qualquer forma, boa sorte com o que você escolher.

roboknight
fonte
0

Aqui estão as minhas opções:

  • Muita IO, mas velocidade lenta aceitável? Agrupe AVRs. Eu tentei falar SMBus através de linhas I2C e é pelo menos aceitável.
  • Precisa de velocidade? A série ATSAM parece boa com os pacotes TQFP100 e TQFP144. Temos o Arduino SAM3X8E no Arduino Duo. ATSAM também possui MII / RMII, mas o chip de interface pode ser um desafio. Se você quiser ler a linha ATSAMA5 e pensar novamente, o Allwinner A20 provavelmente será melhor do que isso.
  • Mais velocidade, multimídia, provavelmente suporte ao Linux? Como sou da China, um fabricante nativo em particular é realmente interessante: Allwinner. Seus SoCs Cortex-A7, A20 de dois núcleos de US $ 5 e A31 de quatro núcleos de US $ 10, além de um grande octa-core.LITTLE Cortex-A15 / 7 SoC A80 de US $ 20, todos com respeitável GPU compatível com OpenGL e OpenCL, apesar de nos pacotes BGA, serem bons o suficiente para tablets Android de nível médio a alto, mais do que suficiente para o Ubuntu Server completo, alguns daemons queimando números de processamento de GPUs, roteando pacotes na velocidade da linha de 1 Gbps ou dirigindo dois 1080P ou Exibição 4K.
Maxthon Chan
fonte