Wie wählt man eine MCU-Plattform? [geschlossen]

43

Es gibt zahlreiche MCU-Plattformen, und sobald sich jemand an eine gewöhnt hat, zögert er im Allgemeinen, auf eine andere Plattform zu wechseln.

Meine Frage lautet: Wenn man heute anfangen würde, eine MCU für allgemeine Aufgaben zu verwenden, wie würde man dann eine auswählen? Was sind die Alleinstellungsmerkmale der verschiedenen Plattformen?

ARF
quelle
2
Teilen Sie uns die Arten von Projekten und Volumina mit, die Sie in Betracht ziehen, und wir können die Frage beantworten.
Rocketmagnet
3
Allzweck ist viel zu breit. Es ist wenig sinnvoll, dieselbe uC für das Blinken einer Fahrrad-LED und für ein RTOS mit einem hochauflösenden Touch-Farb-LCD zu verwenden.
Wouter van Ooijen
1
Ja, Sie haben idealerweise mehrere Chips, die Sie für unterschiedliche Größenprobleme kennen - und sind bereit, einen neuen zu kaufen, wenn er für eine bestimmte Aufgabe eindeutig geeignet ist.
Chris Stratton
2
@WoutervanOoijen Die Idee mit dieser Frage war wie folgt: Es gibt viele Aufgaben, die jede der Plattformen leicht erledigen kann (dh allgemeine Aufgaben). Man kann dann völlig frei zwischen Plattformen wählen. In diesem Fall dominieren die "weichen Faktoren", z. B. Benutzerfreundlichkeit, Anzahl der externen Komponenten usw.. - Ich wollte herausfinden, was verschiedene Plattformen im Vergleich zu anderen gut / schlecht machen.
ARF
7
RELIGION
vicatcu

Antworten:

30

Ein Jahr später hielt ich einen Vortrag über die Auswahl von Mikrocontrollern (es dauerte ungefähr 1,5 Stunden). Das Publikum bestand aus hochrangigen Softwareprogrammierern und -herstellern. Die Mehrheit des Publikums hatte keine Erfahrung mit μC, der Rest hat nur mit Arduino gespielt. Die Anzahl der Zuhörer lag bei 30 Personen. Dies war also ein Multicast im Gegensatz zu einer Einzelklinik.

Die Schlüsselrutsche im Vortrag war:

Maße

zum Vergleich von Mikrocontrollern. Die Liste ist in absteigender Reihenfolge.

  • Entwicklungsumgebung (Toolkette)
    • Entwicklungsumgebung
    • Habe ich Entwicklungsumgebung erwähnt?
  • Unterstützung
    • Anwendungshinweise
    • Unterstützung durch Gleichaltrige: Stammeswissen, Freunde, Foren, die Codes
  • Eigenschaften
    • Erinnerung
    • Peripheriegeräte
    • Rechenleistung
  • Energieverbrauch
  • Kosten

ps

Ich sollte den Umfang definieren, auf den sich meine Antwort beschränkt. Ich sehe diese Frage zur Plattformauswahl durch zwei Arten von Objektiven. Der erste ist ein Prototyper. Der zweite ist ein Entwickler von professioneller Ausrüstung mit Straßenpreisen in der Größenordnung von 3.000 USD und Mengen in Hunderten pro Jahr. Das Hobbyobjektiv ist auch nicht weit weg. In diesen Fällen sind die zusätzlichen Kosten des Mikrocontrollers im Vergleich zu den Entwicklungskosten oder den Kosten der professionellen Ausrüstung, in die der Mikrocontroller investiert, gering.

Es gibt natürlich eine ganz andere Perspektive der Massenproduktion. Wenn sich jemand für einen Mikrocontroller für ein billiges Gerät entscheidet, das in großen Mengen hergestellt wird (Mainstream-Spielzeug ist ein gutes Beispiel), werden die Kosten für Hardware in die Höhe getrieben. Eine bescheidene Einsparung bei den Hardwarekosten multipliziert mit einem großen Produktionsvolumen (in Hunderttausenden oder mehr) kann den Aufwand für die Verwendung einer unhandlichen Entwicklungsumgebung und eines preisgünstigen Mikrocontrollers mit mittelmäßiger Unterstützung rechtfertigen.

Nick Alexeev
quelle
Sie konzentrieren sich auf die Entwicklungsumgebung. Für mich ergibt das Sinn. Was waren Ihre Schlussfolgerungen?
ARF
@ArikRaffaelFunke Nun, diese Kugeln in meinem Beitrag oben sind die Schlussfolgerungen. Nicht schlüssig genug? Mein Ziel für den Vortrag war: (1) Stellen Sie eine Mindestliste der Fragen, die während des Auswahlprozesses gestellt werden müssen. (2) Zeigen Sie, wo und wie Sie nach Antworten suchen. Ich habe es ausdrücklich vermieden, harte Schlussfolgerungen in diese Richtung zu ziehen: Familie X ist gut, wenn ..., Familie Y ist gut, wenn ...
Nick Alexeev
1
Für kleine Mengen und typische Anforderungen ja. Aber manchmal muss man die beste Technologie auswählen. Oder wenn das Volumen sehr groß ist, können ziemlich erhebliche Kopfschmerzen in der Entwicklung gerechtfertigt sein, wenn ein paar Cent pro Widget eingespart werden - einschließlich Lösungen, die auf getesteten und sofort einsatzbereiten Wettbewerbsteilen basieren.
Chris Stratton
1
@ChrisStratton Der Stromverbrauch ist eine weitere Sache [neben den Auswirkungen hoher Produktionsvolumina], die manchmal Kopfschmerzen rechtfertigen kann. Wenig kann man tun, wenn er einen Betrieb mit sehr geringem Stromverbrauch wünscht, und der von ihm gewählte uC kann dies nicht unterstützen.
Nick Alexeev
9
Der Fokus auf die Entwicklungsumgebung ist absolut richtig. Sie könnten den besten Chip der Welt haben, aber wenn Sie das verdammte Ding nicht programmieren und debuggen können, kann es auch ein Baustein sein. Ich habe gute Dinge über NXP gehört, aber keine direkten Erfahrungen. Ich dachte, Freescale sei arm, aber dann habe ich TI (MSP und dann DM36x) ausprobiert, und jetzt ist Freescale ein leuchtendes Leuchtfeuer in meinen Augen. Bester Rat für JEDE Dev-Umgebung: Erstellen / Installieren Sie es in einer virtuellen Maschine und sichern Sie es im voll funktionsfähigen Zustand, damit es beim Verschieben von Computern / Aktualisieren von Betriebssystemen usw. nicht kaputt geht.
John U
25

Da diese Frage nicht den Plattformvergleich ergab, auf den ich gehofft hatte, habe ich versucht, einen selbst zu erstellen, indem ich die Literatur sowie die anderen Antworten studierte. Vielleicht kann dies in Zukunft jemand anderem helfen.

Bitte lassen Sie mich wissen, ob es Fehler gibt oder ob ich Informationen hinzufügen kann.


Plattform-Vergleich

Hinweise zum Vergleich:

  • IDE: Kommentare beziehen sich auf die kostenlose Version

PIC:

  • bei weitem die billigsten Einsteiger-Chips
  • Viele haben interne Spannungsregler
  • zu gegebenem Preis haben in der Regel mehr und bessere Peripheriegeräte
  • Quasi Industriestandard: sehr gute Bibliotheken und Entwicklerunterstützung
  • IDE: NetBeans-basiert, hervorragend, einschließlich vollständiger Offline-Simulation und Debugging
  • Debugger von Drittanbietern: ca. 25 USD
  • sehr breite Palette von Paketen
  • Alleinstellungsmerkmale: 1. XLP = Geräte mit besonders geringem Stromverbrauch erhältlich; 2. Viele moderne Chips verfügen über das kapazitive Sensormodul für Touch-Tasten usw.

AVR:

  • AVR bleibt in der Regel hinter den Peripheriegeräten zurück und ist etwas teurer. Insgesamt ist AVR jedoch in Funktionalität und Preis PICs sehr ähnlich.
  • 8-Bit-AVR-Chips sind schneller als 8-Bit-PIC-Chips
  • Emulatoren von Drittanbietern: ca. 20 US-Dollar
  • sehr breite Palette von Paketen

Arm Cortex-M:

  • moderne Prozessorarchitektur: kein Memory Banking, gutes Multitasking
  • bei weitem die billigsten 32-Bit-Geräte
  • Es ist ziemlich einfach, zwischen verschiedenen Chips und verschiedenen Herstellern zu wechseln
  • Geräte erfordern im Allgemeinen mehr externe Komponenten als PICs
  • sehr günstige USB Geräte mit ROM Bootloader: NXP LPC1342 / LPC1343
  • angemessene Unterstützung der Bibliothek
  • IDE: vernünftig, keine Offline-Simulation
  • Die SWD-Schnittstelle ermöglicht systeminternes Programmieren, Debuggen und Tracen mit einfach zu erstellender Hardware (
  • kostengünstige NXP-Chips sind nur in kleinen oder stiftlosen Gehäusen erhältlich
  • Verkaufsargumente: 1. günstigste 32bit Plattform; 2. Günstigste Plattform mit USB-ROM-Bootloader

PSoc: (aus der Antwort von Rocketmagnet)

  • Wenn es um analoge Peripheriegeräte geht: Ein bestimmter Chip kann intern neu konfiguriert werden, um verschiedene analoge und digitale Peripheriegeräte bereitzustellen
  • deutlich teurer als PICs
  • IDE: ausgezeichnet
  • 88 $ Programmierer (erlaubt es das Debuggen?)
  • nur SMD-Pakete

Propeller: (aus der Antwort von Rocketmagnet)

  • Multi-Core-MCU: Verschiedene Kerne können bei verschiedenen Aufgaben gleichzeitig arbeiten
  • eliminiert / reduziert (?) die Notwendigkeit für herkömmliche Interrupts
  • Wenige Hardware-Peripheriegeräte, die explizit codiert werden müssen, um auf einem der Kerne ausgeführt zu werden, bieten eine unglaubliche Flexibilität
  • schwach, wenn es um analoge Peripheriegeräte geht
  • IDE: ausgezeichnet
  • DIP-Paket verfügbar

Vergleich nach Anwendung

USB:

"Legende" für die folgende Liste:

  • Bootloader = vorprogrammierter USB-Bootloader
  • Spannungsregler = kann ohne externen Regler vom Bus gespeist werden
  • Klimmzüge = keine Notwendigkeit für externe Klimmzüge
  • Impedanzanpassung = keine externen Anpassungswiderstände erforderlich
  • Präzisionsoszillator = kein externer Kristall erforderlich

Eigenschaften des günstigsten Gerätes: (in ca. Preisreihenfolge)

  • PIC: 8-Bit, Low- und Full-Speed, Spannungsregler, Pullups, Impedanzanpassung, ESD-Schutz
  • NXP: 32-Bit, Bootloader, nur bei voller Geschwindigkeit, ESD-Schutz
  • Frei skalierbar: 8 Bit, nur niedrige Geschwindigkeit, Spannungsregler, Impedanzanpassung, ESD-Schutz
  • Atmel: 8bit, Bootloader, nur bei voller Geschwindigkeit, Spannungsregler, Pullup, ESD-Schutz
  • STM: 32-Bit, Bootloader, nur bei voller Geschwindigkeit, Pullup, Impedanzanpassung, ESD-Schutz
  • Silicon Laboratories: 8-Bit, Low- und Full-Speed, Spannungsregler, Pullups, Impedanzanpassung, Präzisionsoszillator
  • TI: 32bit, Bootloader, Low- und Full-Speed, andere Eigenschaften unbekannt
  • PSoc: als Modul konfigurierbar, andere Eigenschaften unbekannt
  • Propeller: 32 Bit, nur Bitbangen

Ethernet:

  • PIC: Günstigstes Gerät mit integriertem PHY
ARF
quelle
1
Einige Anmerkungen hier: Propeller hat überhaupt keine Interrupts und es gibt keine Unterstützung für das Debuggen in der offiziellen IDE. Stattdessen scheint der bevorzugte Debug-Mechanismus darin zu bestehen, das Ding an einen Fernseher anzuschließen und eine bereitgestellte Bibliothek zu verwenden, die Variablen auf dem Bildschirm anzeigt. Außerdem gibt es keine Code-Vervollständigung, keinen Simulator, keine Integration in Codeverwaltungssysteme, ungewöhnliche Implementierung von Includes ... Soweit ich weiß, gibt es auch keine Hardware-Peripheriegeräte außer den zwei Zählern pro Kern.
AndrejaKo
2
Hinweis zum Propeller - Es gibt KEINE Unterbrechungen. Haupt . Wenn Sie etwas benötigen, das einem herkömmlichen Interrupt ähnelt, starten Sie einen zusätzlichen CPU-Kern und warten Sie.
Connor Wolf
4
Eine solche Liste ist fast zwangsläufig sinnlos und veraltet. Alle Hersteller stehen die ganze Zeit im Wettbewerb und die meisten versuchen, in jeder Kategorie etwas anzubieten. Sie führen eine Umfrage durch, wenn Sie eine Lösung benötigen, und wenn dies funktioniert, führen Sie sie aus, bis Sie eine Notwendigkeit haben wofür gibt es eine bessere lösung.
Chris Stratton
2
Für das, was es wert ist, könnten Sie die MSP430-Linie auch hier wegen ihres extrem geringen Stromverbrauchs
einbeziehen
2
"Embedded Systems / Particular Microprocessors" enthält ähnliche Informationen zur Auswahl eines Prozessors, die ebenfalls bearbeitet werden können, um ihn (hoffentlich) aktuell und relativ neutral zu halten.
Davidcary
7

Ihre Wahl der MCU hängt stark von der Art der Projekte ab, an denen Sie arbeiten werden. Produzieren Sie großvolumige, supergünstige und einfache Geräte wie blinkende Fahrradlichter? Entwickeln Sie komplexe Prototypenroboter, die mit zahlreichen bizarren IO-Devices und Sensoren umgehen müssen?

Ich arbeite hauptsächlich an letzterem. Das Hauptproblem für mich ist es, Mikrocontroller zu finden, die über das von mir gewünschte Peripheriegerät verfügen. Dies ist sehr schwierig, da unsere Anforderungen nicht zum Mainstream zu gehören scheinen. Wir wollen Dinge wie 5 PWM-Kanäle, 5 Quadratur-Decoder, 2 nicht standardmäßige SPI-Ports und einen UART mit negiertem E / A.

Die einzigen MCUs, die ich gesehen habe, die diese Anforderungen problemlos erfüllen können, sind der PSoC und der Propeller.

Propellerchips

Der Propeller besteht im Grunde aus acht 32-Bit-MCUs auf einem einzigen Chip. Wenn Sie eine Art Peripheriegerät benötigen, programmieren Sie einfach eine der MCUs, um diesen Job auszuführen. So können Sie haben, was Sie wollen.

PSoC

Die PSoCs sind in zwei Varianten erhältlich: 3 und 5. Die 3 ist ein 8051-Kern und die 5 ein ARM-Cortex M3. Auf dem Chip sind auch rekonfigurierbare digitale und analoge Blöcke enthalten, die zu einer Vielzahl von Peripheriegeräten verarbeitet werden können: ADCs, Filter, Operationsverstärker, DACs, SPI, UART, Quadraturdecoder, CRC-Generator usw.

Die Entwicklungsumgebung ist fantastisch. Sie haben die übliche Quellcodebearbeitung einer typischen IDE, aber Sie haben auch einen Schaltplaneditor. Sie können buchstäblich jede beliebige digitale Schaltung anschließen und die Peripheriegeräte mit Gattern, Flipflops usw. verbinden. Benötigen Sie 5 PWMs? Ganz einfach, legen Sie sie in den Schaltplan, verdrahten Sie sie und los geht's. Sie können sogar Ihre eigenen Peripheriegeräte in Verilog schreiben, wenn Sie etwas wollen, das nicht mitgeliefert wird. Ein Großteil Ihrer Anwendung kann einfach in diese Art von Hardware implementiert werden.

Der eigentliche Vorteil ist, dass Sie sich an einen Chip halten können, da Sie wissen, dass er viele der Projekte angehen kann, die Sie in Zukunft durchführen möchten. Was mich an PICs störte, war das ständige Durchsuchen von Dutzenden von Geräten, auf der Suche nach dem Gerät mit dem speziellen Peripheriegerät, das ich brauchte. Jetzt habe ich das Problem nicht.

Raketenmagnet
quelle
Der Propeller ist ein merkwürdiges Konzept. Ich muss ein bisschen darüber nachdenken. Was PSoC betrifft: Ich habe diese in der Vergangenheit aufgrund der unglaublichen Flexibilität in Betracht gezogen, aber der Bedarf an einem 250-Dollar-Programmierer machte es für mich so gut wie zu einem Nichtstarter.
ARF
@ArikRaffaelFunke - Der Programmierer kostet nur 88 US-Dollar , weniger als die Hälfte des Preises des ICD3 .
Rocketmagnet
@ArikRaffaelFunke - ein weiterer Gesichtspunkt ist die Verpackung. Wenn Sie vorhaben, Ihre eigenen Prototypen zu bauen, ist es viel einfacher, mit DIP-Paketen zu arbeiten. Die meisten PICs und ATmel-AVRs werden wie der Propeller in DIPs geliefert. Die PSoC 3 und 5 nicht.
Tcrosley
3
schmartboard hat eine einfach zu bedienende smt-to-dip-lösung: youtube.com/watch?v=-32orELxkpE
hulkingtickets
1
@ quantum231: Ich dachte darüber nach, aber: 1) FPGAs schienen im Allgemeinen größer und teurer zu sein als Mikrocontroller (und Roboter haben oft einen extrem geringen Platzbedarf). Und 2) Ich habe nicht viel Erfahrung mit FPGAs und es ist immer mühsam, ein völlig anderes Toolset und eine völlig andere Denkweise zu erlernen, nur für einige kleinere Anwendungen.
Rocketmagnet
3

Die Verwendung von mehr als einer Plattform ist in Ordnung. Auswahl der besten für jeden Job und Verfügbarkeit von Code und Beispielen für den Job.

Die meisten von ihnen haben gute Entwicklungswerkzeuge, arduino hat ein visuelles Studio, pic hat ein großartiges Werkzeug und andere auch. Für mich ist es also, wie schnell und einfach ich den Job gut erledigen kann, + wie viele Open-Source-Leute arbeiten an der gleichen Sache?

Visual Micro
quelle
Aber wie findet man solche Informationen, ohne durch Marketing-Unordnung in die Irre geführt zu werden? Ich meine, wir müssen Leute finden, die die Hardware und die Toolchain verwendet haben, um all diese Informationen zu erhalten. Wie finden Sie solche Gemeinschaften in Ihrem Beruf? Oder verlassen Sie sich darauf, was der Applications Engineer Ihnen sagt?
quantum231
Sie können in verschiedenen Foren wie diesem Fragen stellen. Erläutern Sie Ihre Bewerbung und bitten Sie um Hilfe
Visual Micro
2

Mikrocontroller sind eine sich schnell verändernde Welt, es gibt viele Vorteile des Lernens auf den aktuellen "In" -Chips, und die bekanntesten IDEs erhalten vor allem Hilfe von der Community. Als PIC-Person würde ich sagen, dass der Aduino im Moment wahrscheinlich die besten IDE- und Entwicklungsboards für Neulinge hat, und Sie können viel zu einem einfachen Aduino-Board hinzufügen, ohne einen Lötkolben zu berühren.

Jeder, der einen Aduino für das echte Leben benutzt, möchte vielleicht bald weitermachen, aber zu diesem Zeitpunkt haben Sie eine Menge grundlegender digitaler Elektronik und eine gute Untergruppe von C gelernt, um einfach etwas passenderes zu verwenden.

Wie bereits erwähnt, haben Sie den Chip für Ihr Projekt ausgewählt. Ich habe einige Projekte gesehen, in denen ARM-Chips als einfache Temperatursensoren oder AD-Wandler verwendet wurden, genauso wie Aduinos und PIC 16-Bausteine ​​an ihre Grenzen gestoßen sind, um ein Space Invaders-Spiel, FPGAs, zu generieren Sind auch recht und es ist gut, HDL zu verstehen, wenn Sie sich ernsthaft mit Elektronikdesign beschäftigen. Aber leider gibt es nicht viele Projekte in der realen Welt, in denen Sie nur einen einzigen Job benötigen: geringes Volumen, schnelles Design und eingeschränkte Preise hier regiert das 8-bit-uC an oberster stelle

boz
quelle
Ich verstehe, was sind die Einschränkungen von Arduino, die eine Person veranlassen würde, über sie hinauszugehen? Hat ARM mehr Rechenleistung als PIC und Arduino, hat es Peripheriegeräte, die in PIC und Arduino nicht vorhanden sind, oder ist seine Toolchain besser als die von PIC und Arduino? Warum so viel Lärm über ARM-basierte Chips. Ich weiß, dass sie sehr wenig Strom verbrauchen, aber warum sollte ARM sonst für "ernsthafte" Projekte ausgewählt werden?
quantum231
1

Da sich viele der veröffentlichten Antworten auf die Verwendung durch Bastler konzentrieren, werden hier verschiedene Empfehlungen gegeben, die sich nur an professionelle Entwickler richten.

Bloße Mindestanforderungen
Wenn die MCU nicht alle diese Anforderungen erfüllt , sollte sie nicht verwendet werden.

  • Seit mindestens 1 Jahr in Produktion.
  • Silizium-Errata sind verfügbar und wurden mindestens einmal überarbeitet.
  • Interner Watchdog.
  • Interne Unterspannungs- / Spannungsabfallerkennung.
  • Flash-Speicher auf dem Chip.
  • ESD-Schutz.
  • JTAG / SWD oder eine Single-Wire-Debugging-Schnittstelle.
  • Der Kern verwendet 8-Bit-Bytes und 2-Komplement-Vorzeichen.
  • Muster und Evaluierungskarten sind sofort verfügbar.
  • Hat reaktionsschnelle technische Unterstützung direkt vom Hersteller.

Warnzeichen - MCU-Hardware Mit
diesen Dingen sollten Sie im Jahr 2019 keine Zeit verschwenden.

  • Obskure Adressierungsmodi, die vom Programmierer verarbeitet werden müssen. Einschließlich der Verwendung unklarer, nicht standardmäßiger Schlüsselwörter für den Zugriff auf ROM-Daten.
  • Schwerwiegende Einschränkungen des Stapelspeichers oder der Stapeltiefe.
  • 16 Bit int, was wiederum mit allen versteckten Gefahren von C-Integer-Promotions einhergeht.
  • 16- oder 32-Bit-Arithmetik kann nicht ausgeführt werden, ohne zu kochen.
  • Fängt nicht ab, wenn Sie Code in Datenabschnitten ausführen.
  • Kein Anweisungsverfolgungspuffer.
  • Kommt mit exotischen Hardware-Peripheriegeräten, für die Sie keine Verwendung haben.

Warnzeichen - Werkzeugkette

  • Verlässt sich auf Software-Simulatoren im PC oder auf eine Art Bootloader, anstatt die gesamte MCU zu flashen und die Ausführung / das Debugging auf dem Chip durchzuführen.
  • Kommt nicht mit vorgefertigten Treibern / Beispielen / Bibliotheken, die von Profis geschrieben wurden. Verlässt sich auf Entwickler, die das Rad neu erfinden, oder auf Internetforen / Open Source.
  • Die CRT für den C-Compiler erfüllt nicht die hier aufgeführten Anforderungen .
  • Der C-Compiler enthält eine lange Liste von Standard-C-Funktionen, die nicht unterstützt werden.
  • Der C-Compiler unterstützt C11 immer noch nicht (unabhängig davon, ob Sie es verwenden möchten oder nicht).
  • Die IDE spuckt beim ersten Versuch, ein "Hallo Welt" -Programm zu starten, mehrere seltsame Linker-Fehler aus.
  • In den ersten Wochen der Verwendung treten viele IDE- oder Compiler-Fehler auf.
Lundin
quelle
Das ist zu dogmatisch. Sie haben die Kosten, die Verpackungsoptionen (Open Source! = Unprofessionell), die Qualität der Peripheriegeräte usw. komplett weggelassen. Ich bin im Allgemeinen mit den meisten davon nicht einverstanden, aber Dinge wie "Stapelbeschränkungen" nur bedeutet, dass Sie den Kompromiss kennen müssen, der zu diesen Einschränkungen geführt hat.
Awjlogan
@awjlogan Kosten- und Verpackungsoptionen sind sehr projektspezifisch, daher ist es nicht sinnvoll, hier darauf einzugehen. Ich habe nicht gesagt, dass Open Source unprofessionell ist, aber ein Unternehmen, das seine Toolkette auf Open Source auslagert und seine Unterstützung auf Sites wie SO auslagert, ist nicht professionell. Obwohl Open-Source-Projekte mit zu wenigen Mitwirkenden auch nicht professionell sind, wie wir anhand von Open-Source-Compiler-Ports für verschiedene exotische MCUs sehen können. Es sollte keine Gründe geben, im Jahr 2019 eine MCU mit begrenztem Stack zu wählen.
Lundin,
Sicher, sie sind projektspezifisch , aber Sie haben sich für den geplanten Kosten sofort erhöht durch die Angabe 16/32 Bit nur in Ihrer Liste (Quick Scan von Digikey) und ich habe nicht einen 6 - Pin - M0 vor kurzem gesehen. Wenn Sie etwas (einschließlich Zeit) nicht benötigen, geben Sie nicht das zusätzliche Geld dafür aus, das sind die Entscheidungen, die Sie als Fachmann treffen sollten. Aber ja, gutes Werkzeug ist so wichtig, ich kann nicht mehr zustimmen.
awjlogan
@awjlogan LPC81X gibt es seit über 5 Jahren. Ich habe kürzlich etwas über Cypress PSoC4 erfahren, das interessant aussieht. Und so weiter. Die Anzahl der Pins ist nicht oft ein Argument, nur die Größe und der Typ des Pakets. Wenn Sie QFN oder BGA vertragen, können Sie sehr kleine Chips erhalten.
Lundin
Darüber waren Sie sich einig, dass sich Ihre Auswahl auf eine geringe Größe einschränkt (dies gilt jedoch auch für jede andere Architektur). Mein allgemeiner Punkt ist, dass, obwohl alle Dinge auf Ihrer Liste wünschenswert sind, Sie auch genug aufgeklärt sein sollten, um zu wissen, wann Sie sie brechen müssen.
Awjlogan
0

Wenn Sie allgemeine Aufgaben ausführen möchten, die analoge und digitale Verarbeitung ermöglichen, hätte ich PSoC für die IDE, den Debugger und eine Vielzahl von Dingen bevorzugt, die Sie damit ausführen können.

Ich habe PSoC3 im College für meine Projekte verwendet und es ist recht einfach zu meistern. Das Einzige, was Sie tun müssen, ist, dass Sie einige Performance-Chips separat erwerben müssen. Es hat gut genug Ports. Wenn Sie also einige Performance-Chips zusammen mit dem Development Kit suchen, sollten Sie sich für separate Komponenten entscheiden.

ganesh737
quelle
1
Es könnte sich lohnen, ein bisschen mehr Informationen über die PSoC hinzuzufügen, um dies nützlicher zu machen. Einige andere Antworten decken dies bereits ab.
PeterJ
@ PeterJ: Ich wollte dies als Kommentar für Rocketmagnets Antwort geben, aber ich habe keinen Ruf, einen Kommentar zu geben.
Ganesh737
Gibt es einen Grund, warum Sie sich nicht für Softcore-basiertes Design entschieden haben, wie Nios II auf einem Altera-FPGA oder Microblaze / Picoblaze auf einem Xilinx-FPGA? Sie können verwendet werden, um den gleichen Effekt wie die PSoC zu erzielen, und ich würde argumentieren, dass sie in vielerlei Hinsicht eine überlegene Wahl sind.
quantum231
1
@ quantum231: Ich würde das akzeptieren, aber die Hauptbeschränkung für mich war zu dieser Zeit das Budget, das in unserer Elektronikabteilung kostenlos zur Verfügung stand.
Ganesh737