Sie sind sich nicht sicher, wohin Sie mit 8-Bit-AVRs gehen sollen

8

Ich verwende seit einigen Jahren 8-Bit-AVRS. In letzter Zeit habe ich mich durch die Geschwindigkeit der peripheren Datenübertragung und die Bibliotheken höherer Ebenen eingeschränkt gefühlt.

Ich habe Probleme, eine neue Reihe von Mikrocontrollern zu finden / auszuwählen, die ich erkunden möchte. Ich habe angeschaut

  • NXP - Ich kann keinen Programmierer finden
  • Freescale - Müssen sich für IDE registrieren
  • AVR32 - Begrenzte Chipauswahl bei Digikey

Die NXP-Chips sehen wirklich gut aus, aber wie bei allem, was nicht PIC / AVR / Ardiuno ist, ist die Lernkurve ziemlich steil.

Ich habe mich gefragt, ob jemand eine Reihe von Mikrocontrollern vorschlagen könnte, die (in der Reihenfolge ihrer Wichtigkeit) die folgenden Anforderungen erfüllen

  1. Handlötbare Chips. (Ich kann LQFP 100 machen)
  2. 32 Bit
  3. Linux-Host
  4. Kostenlose Toolchain
  5. Gute / kostenlose IDE
  6. <500 $ Startkosten für unbegrenztes Programmieren / Debuggen / Kompilieren
  7. Kann unterstützen
  8. Ethernet / USB-Unterstützung

Ich bin bereit, mir Freescale und NXP noch einmal anzuschauen, wenn mir jemand zeigen kann, dass ich einige Informationen über ihre Toolchain und Programmierer verpasst habe. Ich denke, man könnte sagen, AVR32s sind genau das, wonach ich suche, aber ich bin einfach nicht zufrieden mit ihrer Chipauswahl. Sie haben alle höhere Pin-Zahlen und einen geringen Bestand an Digikey.

Vielen Dank.

Chris H.
quelle
2
Was ist das Problem bei der Registrierung für die IDE von Freescale?
Stevenvh
5
Durch Reifen springen, um das Privileg zu haben, die von Ihnen gekauften Chips zu verwenden?
XTL
Ja, nun, sie werden sagen, sie müssen wissen, wer Sie sind, um einen besseren Service zu bieten, lesen, um ihre Sachen zu verkaufen. Es wird schlimmer, wenn Sie sich nur registrieren müssen, um ein Datenblatt herunterzuladen (ist mir ein paar Mal passiert). Das Leben ist hart :-)
Stevenvh
Sich online "registrieren" zu müssen, ist sicherlich ein beispielloser Schritt. FWIW, ihre Foren erfordern ebenfalls diese Registrierung, daher ist es auch schön, darauf eingestellt zu sein.
Nick T
1
@stevenvh, im Fall von Wavecom war es unmöglich, irgendetwas (Datenblätter, Forenbeiträge, Dokumente usw.) über eine Suchmaschine zu finden, da alles eine Registrierung erforderte. Das Herunterladen der alten Version der IDE ist auch nach dem Erwerb ein Problem.
Peter Gibson

Antworten:

4

Ich würde NXP auf jeden Fall empfehlen - eine gute Auswahl an Chips, gute Peripheriegeräte (UART mit flexiblem Baudgen und FIFOS, SPI mit FIFO usw.), ausgezeichnete Dokumentation * und flexible Programmieroptionen. Holen Sie sich einen JTAG / SWD-Debugger (Cortex-Teile verwenden SWD - weniger Pins als JTAG und können beispielsweise Haltepunkte setzen, während sie ausgeführt werden). Ich verwende die kostenlose Kickstart-Version der eingebetteten IAR-Workbench - diese hat ein 32-KB-Code-Limit, was für mich in Ordnung ist, aber beachten Sie, dass die Aktualisierungen der Codegröße teuer sind. Viele Leute scheinen mit GCC / winarm in Ordnung zu sein. Einige Cortex-Teile (z. B. LPC1343) können mithilfe des integrierten Bootloaders Firmware von einem USB-Stick laden. Die Verfügbarkeit von Teilen ist im Allgemeinen gut - ich hatte nie Probleme, Lagerbestände zu finden. Es gibt auch viele Devboards / Breakouts für NXP-Teile.

  • Die Dokumentation in den Benutzerhandbüchern ist gut, die meisten Dinge werden jedoch genau einmal erwähnt. Es lohnt sich also, den gesamten Abschnitt zu den einzelnen Peripheriegeräten zu lesen, die Sie verwenden. Die Handbücher für spätere Teile wurden dahingehend verbessert, dass sie zu Beginn jedes Abschnitts auf einige wichtige, nicht offensichtliche Dinge hinweisen, wie z. B. Clock / Pin-Aktivierungen, die an anderer Stelle dokumentiert sind und für den Betrieb dieses Peripheriegeräts erforderlich sind
mikeselectricstuff
quelle
12

ARM, ARM, ARM.

ARM lizenziert ihre Prozessorkerne an viele Unternehmen. Dies bedeutet, dass Sie gute Tools, Support und Dokumentation aus mehr als einer Quelle finden.

PIC, AVR und MSP430 leiden alle unter dem Problem, zu 100% im Besitz eines Unternehmens zu sein.

Beachten Sie bei ARM-Mikrocontrollern, dass ein Cortex-M3 von NXP einem Cortex-M3 von ST oder Luminary näher kommt als ein ARM9 oder ARM7TDMI von NXP. In den meisten Fällen sind Compiler, Debugger und Programmierer eher kernübergreifend als herstellerübergreifend.

Wenn Sie die Codesourcery GCC ARM-Toolchain und einen billigen ARM JTAG-Dongle erwerben, sind Sie auf einem langen Weg.

Toby Jaffey
quelle
1
billiger ARM JTAG Dongle == OpenOCD
Johan
@Johan Oder Sie können das vorhandene ATmega zu einem überreden.
Maxthon Chan
5

Ich würde mich für NXP entscheiden. In kurzer Zeit ist Cortex-M3 zum Standard für ARM-Controller geworden (ich gehe davon aus, dass Sie mit Freescale Coldfire meinen). Seit ARM7TDMI hat NXP auch die Tradition einer umfangreichen Gerätefamilie zur Auswahl.
Wie bei einem Programmierer für NXP sollte IMO jeder JTAG-Programmierer die Arbeit erledigen (CMIIW).

edit
Ich lese gerade über mbed , was der einfachste Weg ist, um mit dem NXP Cortex M3 zu beginnen (der verwendete Controller ist LPC1768). Sie programmieren / kompilieren online (Linux ist also kein Problem) und programmieren über USB (das Gerät wird als Massenspeichergerät angezeigt, auf das Sie Ihr kompiliertes Programm kopieren können). Kein Programmierer erforderlich. Für mbed geschriebene Programme sollten direkt auf LPC1768s auf anderen Karten portierbar sein.

stevenvh
quelle
2

Probieren Sie die 16-Bit-PIC24- und dsPICs aus. Viele von ihnen sind in DIL verfügbar und liefern bis zu 40 MIPS. Kostenlose Entwicklungssoftware ist verfügbar und der PICkit 3-Debugger / Programmierer ist mit 50 US-Dollar recht günstig. Die nächste Version von MPLAB wird Linux unterstützen, eine Beta-Version ist verfügbar.

Leon Heller
quelle
1

Ich dachte, Sie könnten kostenlose Tools für ARMs erhalten. Die Programmierung sollte über den seriellen Bootloader oder (offenes) JTAG erfolgen. Es gibt einige STM32- und NXP-Chips und -Module, die ich mir angesehen habe und die diesen Eindruck hinterlassen haben.

Ich wurde auch an diese Frage erinnert .

XTL
quelle
1

Wenn Sie wirklich 32-Bit verwenden möchten, probieren Sie die PIC32 aus. Hohe Verfügbarkeit von Microchip. Für das Linux-Debugging befindet sich MPLAB X in Beta 4 und unterstützt Linux, Windows und Mac OS X. Ich denke, Sie benötigen auch ein PICkit 3 oder einen ähnlichen Programmierer für 50-60 US-Dollar.

Ich würde mich jedoch eher für die 16-Bit-dsPICs und PIC24s interessieren, da sie viel billiger sind, mit einem PICkit 2 debuggt werden können und einfach zu programmieren sind. Sie sind auch in DIP-Paketen verfügbar, obwohl dies für Sie keine Rolle spielt (?). Ich bin etwas voreingenommen gegenüber ihnen, da ich sie in meinem Projekt verwende.

Thomas O.
quelle
Es gibt jetzt über ein Dutzend PIC32 in einem 28-poligen DIP-Gehäuse, was sie ideal für das Prototyping macht. Die neue PIC32MZ-Leitung (nur in SMD verfügbar) verfügt über bis zu 2 MB Flash, 512 KB RAM und unterstützt CAN / Ethernet / USB 2.0-Host.
Tcrosley
1

Der einzige 32-Bit-Prozessor, der derzeit in einem DIP-Paket hergestellt wird, ist der Parallax Propeller . (Der gleiche Chip ist auch in viel kleineren 44-Pin-QFP- und 44-Pin-QFN-Gehäusen mit 32 Allzweck-E / A-Pins erhältlich.) Es gibt auch einige Entwicklungstools dafür, die unter Linux laufen .

So erfüllt es leicht Ihre ersten 2 Kriterien und die meisten (leider nicht alle) Ihrer verbleibenden Kriterien.

Davidcary
quelle
0

Schauen Sie sich FEZ Domino an . Es erfüllt nicht alle Ihre Anforderungen, bietet aber eine Menge, wenn Sie keine niedrigstmögliche Levelkontrolle benötigen.

avra
quelle
0

Die Chips der Cypress PSoC-Serie bieten eine Kombination von Funktionen, die ich bei keinem anderen IC gesehen habe.

Der PSoC5-Chip enthält einen 32-Bit-ARM-Cortex M3, aber soweit ich das beurteilen kann, sind sie alle in so etwas wie einem TQFP100 verpackt. Die PSoC1- und PSoC3-Chipserien enthalten viele DIP-Chips, aber alle haben den einen oder anderen 8-Bit-Kern.

Zusätzlich zur CPU verfügt der Chip über eine programmierbare Verbindung wie ein kleines FPGA und einige analoge Operationsverstärker auf dem Chip.

http://www.psocdeveloper.com/

Davidcary
quelle
0

Atmel ARMs können meistens die Rechnung passen

Handlötbare Chips. (Ich kann LQFP 100 machen)

Sie kommen in TQFP, und Sie können eine der kleineren mit 64-Pin verwenden.

32 Bit

Prüfen

Linux-Host

Ich entwickle ausschließlich unter Linux

Kostenlose Toolchain

GCC ARM Toolchain, die jetzt mit Build-Skripten wie der Summon Arm Toolchain einfacher einzurichten ist.

Gute / kostenlose IDE

Du hast mich da. Vermutlich könnte man Eclipse oder vielleicht Kdevelop einrichten, um den Job zu erledigen, aber ich habe es nicht versucht. Ich benutze Vim und Kate.

<500 $ Startkosten für unbegrenztes Programmieren / Debuggen / Kompilieren

Das Programmieren und Kompilieren würde Sie etwa 100 US-Dollar kosten, um ein Minimal-Board zu prototypisieren. Die Chips werden mit einem eingebauten Bootloader im ROM geliefert, mit dem Sie den Chip programmieren können. Sie benötigen keinen Debugger, um es zu programmieren. Sie können den Atmel-Markensegger (und den gesperrten Segger) für etwa 100 $ kaufen. Wenn Sie es sich leisten können, würde ich vorschlagen, nicht einen gesperrten zu kaufen, sondern die 200 oder 300 für den entsperrten zu bezahlen. Es gibt auch andere Optionen, die viel billiger sind, die ich nicht ausprobiert habe. Das usbprog sieht sehr vielversprechend aus.

Kann unterstützen

Ziemlich sicher, dass es da ist, obwohl Sie überprüfen sollten, um sicher zu sein. Ich benutze es nicht, also bin ich mir nicht sicher, ob alle es haben.

Ethernet / USB-Unterstützung

USB-Unterstützung ist da. Die Ethernet-Unterstützung muss extern hinzugefügt werden. Es gibt jedoch viele Beispiele zur Auswahl.

Chintalagiri Shashank
quelle
Wir haben CAN auf ATSAM. Mindestens ATSAM3X8E hat einen, da Arduino Duo mit diesem Chip einen freigelegt hat.
Maxthon Chan
0

Ich verwende das lpc4330-xplorer-Demo-Board für NXPs LPC4330. Ich verwende eine handgefertigte Toolchain, aber Sie können Yagarto (wenn Sie sich nicht für harte FP interessieren) oder einen ARM-Compiler verwenden, wenn Sie sich in die Linker-Skripte vertiefen können. NXP verfügt über einige wirklich raffinierte Peripheriegeräte wie den State Configurable Timer (Sie können lesen: Funktionsgenerator), der in der Lage ist, eine ganze Reihe von Dingen zu erledigen. Sie haben auch einige nette SGPIOs. Zusätzlich haben sie eine Vielzahl von Timern an Bord. Es ist auch ein Doppelprozessor (M4-M0-basierter Chip). Natürlich ist ihre gesamte LPC-Linie ziemlich nett.

Um fair zu sein, die Cypress pSOC-Linie sieht auch gut aus, aber ich hatte keine Chance, sie zu verwenden. Die anderen haben definitiv ihre Verwendungszwecke und Zielgruppen, aber ich verwende eine Linux-Entwicklungsumgebung, keine IDE und eine Handvoll Befehlszeilentools. Ich wähle diesen Weg, weil es mir leichter fällt, das Problem aufzuspüren, wenn etwas schief geht, und das ausnahmslos, wenn ich keine Schichten von Werkzeugen zurückziehen muss. Plus, keine Code-Grenzen. Und obwohl die Internet-Suche nicht sehr klar ist, wird die LPC-Linie von Open Source ziemlich gut unterstützt.

Schließlich liefert LPC in LPCOpen eine angemessene Menge an Beispielcode. Um fair zu sein, wenn Sie möchten, dass es mit Open Source-Tools kompiliert wird, ist ein wenig Arbeit erforderlich, aber es ist nicht schwierig. Sie hatten sogar ein ziemlich schönes Beispiel für einen Webserver in ihrem. Sie haben auch ein SCT-Kochbuch (das SCT braucht ein wenig, um es zu verstehen, aber wenn Sie es einmal getan haben, ist es wirklich schön), aber es kann ein bisschen dauern, bis Sie die Beispiele durchgearbeitet haben, und die SCT-Beispiele in LPCOpen sind erbärmlich. Es lohnt sich jedoch, die NXP-Chips zum Laufen zu bringen. Ich verbringe sogar ein wenig Zeit mit NuttX (ich hatte die ganze Zeit den Bare-Metal-Code satt) und dem lpc4330-xplorer.

Wie auch immer, viel Glück mit was auch immer Sie wählen.

Roboknight
quelle
0

Hier sind meine Optionen:

  • Viel E / A, aber langsame Geschwindigkeit akzeptabel? AVRs zusammenfassen. Ich habe versucht, SMBus über I2C-Leitungen zu sprechen, und es ist zumindest akzeptabel.
  • Benötigen Sie Geschwindigkeit? Die ATSAM-Serie scheint mit TQFP100- und TQFP144-Paketen gut zu sein. Wir haben Arduino SAM3X8E in Arduino Duo. ATSAM hat auch MII / RMII, aber der Schnittstellenchip kann eine Herausforderung sein. Wenn Sie möchten, dass die ATSAMA5-Leitung weiter gelesen und erneut nachgedacht wird, schlägt Allwinner A20 sie dort wahrscheinlich.
  • Mehr Geschwindigkeit, Multimedia, wahrscheinlich Linux-Unterstützung? Da ich aus China komme, ist ein bestimmter einheimischer Hersteller wirklich interessant: Allwinner. Ihre Cortex-A7-SoCs, 5-Dollar-Dual-Core-A20- und 10-Dollar-Quad-Core-A31s sowie ein Octa-Core-Big.LITTLE Cortex-A15 / 7-SoC-A80 für 20 US-Dollar, alle mit seriöser OpenGL- und OpenCL-fähiger GPU, Trotz der BGA-Pakete sind sie gut genug für Android-Tablets mittlerer bis hoher Stufe, mehr als gut genug für Ubuntu Server, ein paar Daemons, die GPUs brennen, Zahlen knacken, Pakete mit einer Leitungsgeschwindigkeit von 1 Gbit / s weiterleiten oder zwei 1080P oder eine 4K-Anzeige.
Maxthon Chan
quelle