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
- Microplaquetas que podem ser soldadas à mão. (Eu posso fazer o LQFP 100)
- 32 bit
- Host Linux
- Toolchain grátis
- IDE bom / gratuito
- Custo de inicialização <500 $ para programação / depuração / compilação ilimitadas
- Suporte CAN
- 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.
fonte
Respostas:
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.
fonte
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.
fonte
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.
fonte
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.
fonte
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 .
fonte
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.
fonte
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.
fonte
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.
fonte
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/
fonte
Os ARMs da Atmel podem ser adequados, principalmente
Eles vêm no TQFP e você pode usar um dos menores de 64 pinos.
Verifica
Eu desenvolvo exclusivamente no Linux
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.
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.
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.
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 USB está lá. O suporte à Ethernet precisa ser adicionado externamente. Muitos exemplos para escolher, no entanto.
fonte
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.
fonte
Aqui estão as minhas opções:
fonte