in crescita AVR a 8 bit, non sono sicuro di dove passare


8

Uso AVRS a 8 bit da alcuni anni. Ultimamente mi sono sentito limitato dalle velocità di trasferimento dei dati periferici e dalle librerie di livello superiore.

Ho problemi a trovare / scegliere una nuova linea di microcontrollori da esplorare. Ho guardato

  • NXP - Impossibile trovare un programmatore
  • Freescale - Devi registrarti per IDE
  • AVR32 - Selezione di chip limitata su digikey

I chip NXP sembrano davvero belli, ma come per qualsiasi cosa che non sia PIC / AVR / Ardiuno la curva di apprendimento è piuttosto ripida.

Mi chiedevo se qualcuno potesse suggerire una linea di micro controller che soddisfano (in ordine di importanza) i seguenti requisiti

  1. Chip saldabili a mano. (Posso fare LQFP 100)
  2. 32 bit
  3. Host Linux
  4. Toolchain gratuito
  5. IDE buono / gratuito
  6. <500 $ di costo iniziale per programmazione / debugging / compilazione illimitati
  7. PUO 'supportare
  8. Supporto Ethernet / USB

Sono disposto a guardare di nuovo Freescale e NXP, se qualcuno può mostrarmi che ho perso alcune informazioni sulla loro toolchain e programmatori. Suppongo che potresti dire che gli AVR32 sono esattamente quello che sto cercando, ma non sono contento della loro selezione di chip. Tutti hanno un numero di pin più alto e uno stock ridotto su digikey.

Grazie.


2
Qual è il problema con la registrazione per l'IDE di Freescale?
Stevenvh,

5
Saltare attraverso i cerchi per avere il privilegio di usare le loro chips che hai comprato?
XTL,

Sì, bene, diranno che hanno bisogno di sapere chi sei per fornire un servizio migliore, leggere per vendere le loro cose. Peggiora se devi registrarti solo per scaricare una scheda tecnica (mi è successo un paio di volte). La vita è dura :-)
stevenvh,

Dover "registrarti" per le cose online, sicuramente una mossa senza precedenti. FWIW, i loro forum richiedono anche quella registrazione, quindi è bello essere preparati anche per quello.
Nick T,

1
@stevenvh, nel caso di Wavecom, è stato impossibile trovare qualsiasi cosa (fogli dati, post sul forum, documenti ecc.) usando un motore di ricerca come tutto ciò che richiedeva la registrazione. Anche il download della vecchia versione dell'IDE è un problema ora che sono stati acquisiti.
Peter Gibson,

Risposte:


4

Consiglio vivamente NXP - buona gamma di chip, buone periferiche (UART con baudgen flessibile e FIFOS, SPI con FIFO ecc.) Eccellente documentazione * e opzioni di programmazione flessibili. Ottieni un debugger JTAG / SWD (le parti Cortex usano SWD - meno pin rispetto a JTAG e possono fare cose come impostare i breakpoint durante l'esecuzione). Uso la versione kickstart gratuita di IAR embedded workbench - questo ha un limite di codice di 32 KB che va bene per me, ma tieni presente che gli aggiornamenti delle dimensioni del codice sono costosi. Un sacco di persone sembrano andare bene con GCC / Winarm. Alcune parti Cortex (ad es. LPC1343) possono caricare il firmware da una chiavetta USB utilizzando il bootloader integrato. La disponibilità delle parti è generalmente buona - non ho mai avuto difficoltà a trovare stock. Ci sono anche molti devboard / breakout disponibili per le parti NXP.

  • la documentazione nei manuali dell'utente è buona, tuttavia la maggior parte delle cose viene menzionata esattamente una volta, quindi vale la pena dedicare del tempo a leggere l' intera sezione relativa a ciascuna periferica che verrà utilizzata. I manuali per le parti successive sono migliorati in quanto all'inizio di ogni sezione ti indicano alcune cose critiche non ovvie come l'orologio / pin abilita documentato altrove che sono necessari per far funzionare quella periferica

12

BRACCIO, BRACCIO, BRACCIO.

ARM concede in licenza i core del processore a molte aziende. Ciò significa che troverai buoni strumenti, supporto e documentazione da più di una fonte.

PIC, AVR e MSP430 soffrono tutti del problema di essere interamente di proprietà di una società.

Tieni presente con i microcontrollori ARM che un Cortex-M3 di NXP sarà più vicino a un Cortex-M3 di ST o Luminary di un ARM9 o ARM7TDMI di NXP. Più spesso, compilatori, debugger e programmatori sono comuni tra i core piuttosto che i produttori.

Avere la toolchain GCC ARM Codesourcery e un dongle ARM JTAG economico ti farà fare molta strada.


1
dongle ARM JTAG economico == OpenOCD
Johan

@Johan Oppure puoi convincere l'ATmega esistente in uno.
Maxthon Chan,

5

Preferirei NXP. In breve tempo Cortex-M3 è diventato lo standard per i controller ARM (suppongo che per Freescale intendi Coldfire). Poiché ARM7TDMI NXP ha anche una tradizione di una vasta famiglia di dispositivi tra cui scegliere.
Per quanto riguarda un programmatore per NXP, IMO qualsiasi programmatore JTAG dovrebbe fare il lavoro (CMIIW).

modifica
Attualmente sto leggendo di mbed , che sembra il modo più semplice per iniziare con NXP Cortex M3 (il controller utilizzato è LPC1768). Programmate / compilate online (quindi Linux non è un problema) e programmate tramite USB (il dispositivo appare come un dispositivo di archiviazione di massa in cui è possibile copiare il programma compilato). Nessun programmatore richiesto. I programmi scritti per mbed dovrebbero essere direttamente trasportabili su LPC1768 su altre schede.


2

Prova i PIC24 a 16 bit e i dsPIC. Molti di questi sono disponibili in DIL e offrono fino a 40 MIPS. È disponibile un software di sviluppo gratuito e il debugger / programmatore PICkit 3 è abbastanza economico a $ 50. La prossima versione di MPLAB avrà il supporto Linux, una versione beta è disponibile.


1

Pensavo che saresti stato in grado di ottenere strumenti gratuiti per gli ARM. La programmazione dovrebbe essere eseguibile dal bootloader seriale o (aperto) JTAG. Ci sono alcuni chip e moduli STM32 e NXP che ho visto che mi hanno lasciato con questa impressione.

Mi è stata anche ricordata questa domanda .


1

Se vuoi davvero andare a 32 bit, prova i PIC32. Alta disponibilità da Microchip. Per il debug di Linux, MPLAB X è in beta 4 e supporta Linux, Windows e Mac OS X. Penso che avrai bisogno anche di un PICkit 3 o di un programmatore simile per $ 50-60.

Tuttavia, sarei più inclinato verso i dsPIC a 16 bit e PIC24 perché sono molto più economici, possono essere sottoposti a debug con un PICkit 2 e sono facili da programmare. Inoltre sono disponibili in pacchetti DIP, anche se questo non ha importanza per te (?) Sono leggermente distorto nei loro confronti dato che li uso nel mio progetto.


Ci sono oltre una dozzina di PIC32 ora disponibili in un pacchetto DIP a 28 pin, il che li rende ideali per la prototipazione. Anche la nuova linea PIC32MZ (disponibile solo in SMD) ha fino a 2 MB di Flash, 512K di RAM e supporta Host CAN / Ethernet / USB 2.0.
Tcrosley,

1

L' unico processore a 32 bit attualmente prodotto in un pacchetto DIP è l' elica Parallax . (Lo stesso chip è disponibile anche in pacchetti QFP a 44 pin e QFN a 44 pin molto più piccoli, tutti con 32 pin I / O per uso generico). Ci sono anche alcuni strumenti di sviluppo che funzionano su Linux .

Quindi soddisfa facilmente i tuoi primi 2 criteri e la maggior parte (purtroppo, non tutti) dei restanti criteri.


0

Dai un'occhiata a FEZ Domino . Non soddisfa tutti i tuoi requisiti, ma offre molto se non hai bisogno del controllo di livello più basso possibile.


0

La serie di chip Cypress PSoC ha una combinazione di funzionalità che non ho mai visto in nessun altro circuito integrato.

Il chip PSoC5 include un ARM Cortex M3 a 32 bit, ma per quanto ne so sono tutti confezionati in qualcosa come un TQFP100. La serie di chip PSoC1 e PSoC3 include molti chip DIP confezionati, ma tutti hanno un core a 8 bit o un altro.

Oltre alla CPU, il chip ha anche un'interconnessione programmabile simile a un piccolo FPGA e alcuni amplificatori operazionali analogici su chip.

http://www.psocdeveloper.com/


0

I bracci Atmel possono adattarsi al conto, per lo più

Chip saldabili a mano. (Posso fare LQFP 100)

Sono disponibili in TQFP e puoi usare uno dei più piccoli a 64 pin.

32 bit

Dai un'occhiata

Host Linux

Sviluppo esclusivamente in Linux

Toolchain gratuito

GCC ARM Toolchain, che ora è più facile da configurare con gli script di build come il summon arm toolchain.

IDE buono / gratuito

Mi hai lì. Presumibilmente si potrebbe configurare eclipse o forse kdevelop per fare il lavoro, ma non ci ho provato. Uso vim e kate.

<500 $ di costo iniziale per programmazione / debugging / compilazione illimitati

La programmazione e la compilazione ti costerebbero circa 100 $, forse, per prototipare una scheda minima. I chip sono dotati di un bootloader integrato nella ROM che consente di programmare il chip. Non è necessario un debugger per programmarlo. Puoi ottenere il segger con marchio Atmel (e bloccato) per circa 100 $. Se te lo puoi permettere, ti suggerisco di non sceglierne uno bloccato ma di pagare 200 o 300 per quello sbloccato. Ci sono anche altre opzioni che sono molto più economiche che non ho mai provato. La usbprog sembra molto promettente.

PUO 'supportare

Abbastanza certo è lì, anche se si dovrebbe verificare per essere sicuri. Non lo uso, quindi non sono sicuro che lo abbiano tutti.

Supporto Ethernet / USB

Il supporto USB è lì. Il supporto Ethernet deve essere aggiunto esternamente. Molti esempi tra cui scegliere, però.


Abbiamo CAN su ATSAM. Almeno ATSAM3X8E ne ha uno come Arduino Duo, usando questo chip, ne ha esposto uno.
Maxthon Chan,

0

Uso la scheda demo lpc4330-xplorer per LPC4330 di NXP. Uso una toolchain costruita a mano, ma potresti usare Yagarto (se non ti interessa il FP duro) o qualsiasi compilatore ARM, se riesci a scavare negli script del linker. NXP ha alcune periferiche davvero eleganti come il Timer configurabile dello stato (puoi leggere: generatore di funzioni) che è in grado di fare un certo numero di cose. Hanno anche dei simpatici SGPIO. Inoltre hanno una pletora di timer a bordo. È anche un doppio processore (chip basato su M4-M0). Naturalmente, tutta la loro linea LPC è piuttosto carina.

Ad essere onesti, anche la linea Cypress pSOC sembra carina, ma non ho avuto la possibilità di usarla. Gli altri hanno sicuramente i loro usi e il loro pubblico, ma io uso un ambiente di sviluppo Linux, nessun IDE e una manciata di strumenti da riga di comando. Scelgo questo percorso perché quando qualcosa va storto, e inevitabilmente lo fa, trovo più facile per me dare la caccia al problema se non devo staccare strati di strumenti. Inoltre, nessun limite di codice. E, sebbene non ampiamente chiarito dalle ricerche su Internet, la linea LPC è abbastanza ben supportata dall'open source.

Infine, LPC fornisce una buona quantità di codice di esempio in LPCOpen. Ancora una volta, per essere onesti, se vuoi che si compili con strumenti open source, ci vuole un po 'di lavoro, ma non è difficile. Avevano persino un esempio di server web piuttosto carino nel loro. Hanno anche un libro di cucina SCT (SCT richiede un po 'di comprensione, ma una volta che lo fai, è davvero bello), ma può richiedere un po' di lavoro attraverso gli esempi, e gli esempi SCT in LPCOpen sono pietosi. Ma ne vale la pena per mettere in funzione i chip NXP. Sto anche trascorrendo un po 'di tempo con NuttX (ero stanco del codice bare metal TUTTO il tempo) e con lpc4330-xplorer.

Ad ogni modo, buona fortuna con qualunque cosa tu scelga.


0

Ecco le mie opzioni:

  • Un sacco di IO ma accettabile a bassa velocità? Aggancia gli AVR. Ho provato a parlare SMBus su linee I2C ed è almeno accettabile.
  • Hai bisogno di velocità? La serie ATSAM sembra buona con i pacchetti TQFP100 e TQFP144. Abbiamo Arduino SAM3X8E in Arduino Duo. ATSAM ha anche MII / RMII ma il chip di interfaccia può essere impegnativo. Se vuoi che la linea ATSAMA5 continui a leggere e a ripensarci, Allwinner A20 probabilmente la batte lì.
  • Più velocità, contenuti multimediali, probabilmente supporto Linux? Dato che vengo dalla Cina, un particolare produttore nativo è davvero interessante: Allwinner. I loro SoC Cortex-A7, A20 dual-core da $ 5 e A31 quad-core da $ 10, nonché un grande octa-core grande. SoC Cortex-A15 / 7 A80 a $ 20, il tutto con rispettabili GPU OpenGL e OpenCL integrate, nonostante nei pacchetti BGA, sono abbastanza buoni per tablet Android di livello medio-alto, più che sufficienti per Ubuntu Server in piena regola alcuni demoni che bruciano GPU che scricchiolano numeri, instradano pacchetti a velocità di linea di 1 Gbps o guidano due 1080P o un Display 4K.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.