Welche guten Mikrocontroller gibt es heute? [geschlossen]

Ich habe Erfahrung mit Assembler und C-Programmierung für Mikrocontroller, bin aber mit den verschiedenen MCU- und DSP-Familien nicht vertraut, die von heutigen Unternehmen angeboten werden. (zB: Texas Instruments, Atmel, Renesas)

Ich würde gerne etwas über die guten Mikrocontroller / DSPs wissen und wie es ist, mit ihnen zu entwickeln. Bitte fassen Sie Ihr Verständnis über die verschiedenen MCU/DSP-Familien zusammen, eine Familie pro Antwort.

Es wäre auch sehr interessant, wenn Sie bitte detailliert beschreiben, was die Hauptanwendung(en) für diesen (diese) Mikrocontroller ist (sind).

(Dies ist ein "Community-Wiki", sodass jeder mit einem Ruf von >100 Antworten verfeinern und verbessern kann.)

Ich beginne mit ein paar Antworten, bitte fügen Sie kostenlos Ihre eigenen hinzu! oder bearbeiten Sie vorhandene Familien, um Ihre Weisheit hinzuzufügen. Besonderer Dank geht an Jason S für all die TI MCU/DSP-Weisheit. chiphacker.com/users/330/jason-s
@Edward, diese Seite befindet sich im Bootstrap-Modus, sodass jeder CW-Beiträge bearbeiten kann
Ich möchte sehen/hören, welche von wo erhältlich sind und vor allem, ob welche als Muster verfügbar sind.
„gut“ ist ein schlüpfriger Begriff. Wenn Sie (eigentlich jeder) nach einer Antwort suchen, überlegen Sie, was Ihre Prioritäten sind. Einige Vorschläge: maximale Verarbeitungsleistung, Verarbeitungsleistung pro mW, E/A-Geschwindigkeit, bestimmte Peripheriegeräte, niedrigster Stromverbrauch im Standby, Verfügbarkeit von (günstigen/kostenlosen/gut unterstützten) Tools oder Bibliotheken, Langzeitverfügbarkeit, Temperaturbereich, ESD Robustheit.
Diese ganze Frage ist sinnlos und nicht konstruktiv . Wie zu erwarten, erhält man weitgehend voreingenommene Meinungen für und gegen verschiedene Prozessorlinien. Abstimmung zum Schließen.
Ein weiterer Thread mit einer anderen Herangehensweise an dieses Thema: Wie wählt man eine MCU-Plattform aus?
Warum werden all diese 3 Jahre alten Fragen immer wieder ohne neue Inhalte beantwortet?
@Matt: Klicken Sie auf den Link „Aktiv -> Heute“ in der Nähe der oberen rechten Ecke der Seite. Jemand hat eine Antwort bearbeitet und das hat die Frage nach oben verschoben. Ich habe diese Fragen markiert und Mods haben sie gesperrt. Sie enden mit einer Art Nachricht wie „Diese Frage ist von historischer Bedeutung …“.
@Ricardo Mir ist bekannt, dass es bearbeitet wurde. Diese Frage war von vor über zwei Jahren. Diesmal muss ich den Repräsentanten schließen.
@Matt - jetzt sehe ich, dass Ihre Frage eher philosophisch war (warum all diese 3 Jahre alten Fragen). Das tut mir leid. Ich denke, das Problem in diesem Fall ist, dass die Frage und ihre Antworten alle Community-Wikis sind, sodass jeder mit mehr als 100 Wiederholungen sie bearbeiten kann. Diese Frage sollte wirklich geschlossen oder auf Sicht gesperrt werden.
@Matt - Habe ich gerade deinen 2 Jahre alten Kommentar beantwortet, als ob er heute gepostet worden wäre? Junge, das fühlt sich komisch an ... Das bedeutet auch, dass die Frage nicht zum ersten Mal auf der aktiven Liste auftaucht. Ein Grund mehr für die Sperrung.
@Ricardo Ich erinnere mich tatsächlich, diesen Kommentar geschrieben zu haben. Jemand wollte ein Archäologen-Abzeichen oder so etwas. Unabhängig davon passt diese alte Frage nicht mehr in den Rahmen des Anblicks und muss versendet werden.

Antworten (18)

ARM ist der Industriestandard für 32-Bit-Controller, obwohl der PIC32 einige nette Features hat. Sie sind ganz einfach zu bedienen. Ich mag die NXP LPC2000 und LPC1000 ARM-Chips, aber der neue Energy Micro ARM Cortex-M3- Chip ist wegen seines sehr geringen Stromverbrauchs sehr interessant - so gut wie der MSP430 [Youtube]. Die Unterstützung ist sehr unterschiedlich, die NXP-Chips haben die LPC2000 -Gruppe, die ich leite, die die Leute zu mögen scheinen - wir haben über 8.000 Mitglieder!

Der PIC32 verwendet einen MIPS M4K-Kern - ähnlich wie ARM, da der Kern an andere Hersteller lizenziert ist - wie z. B. Mikrochip, um Peripheriegeräte zu verpacken und hinzuzufügen.
Ich wähle auch ARM. vollständig standardisierte Compiler und Debugger, eine nahezu universelle JTAG-Schnittstelle, keine Abhängigkeit von proprietärem Binärmaterial wie PICASM und C18. :-)
Ein weiterer ARM-Fan hier. Ich habe ein Projekt als Prototyp erstellt und dann eine Leiterplatte für den TI Stellaris LM3S6965 entworfen und montiert. Anständige Dokumente und Softwarebibliotheken, ich hatte vor diesem Projekt einen Softwarehintergrund und die von TI bereitgestellten Dokumente reichten aus, um zu lernen, wie man das Gerät programmiert, und mit ihren Beispielschaltplänen als Vorlage brachte ich mir selbst bei, wie man das Platinenlayout macht, und baute etwas damit funktioniert. Jede Menge Funktionen und Leistung für das Geld. Heute würde ich mir die verschiedenen Cortex M4-Angebote ansehen, TI hat gerade ihre M4-Mikros herausgebracht, aber ich würde nicht zögern, mich nach den Angeboten anderer Anbieter umzusehen.

Atmel AVR , vielleicht in einem Arduino : Ich würde Leon widersprechen und sagen, dass die AVR-Linie von Atmel eine großartige Familie für den Anfang ist. Es ist ziemlich vielfältig und reicht vom ATtiny über den ATmega bis zum Dragon (mit dem ich nicht gearbeitet habe). Ich würde sagen, dass der AVR32 und der Xmega unterschiedliche Familien sind.

AVRfreaks ist eines der besten Elektronikforen im Internet (wird bald von Chiphacker übertroffen :), es gibt auch die Arduino-Community, die sich an Bastler richtet. Arduino eignet sich hervorragend zum Erlernen von Mikrocontroller-Hardware, obwohl es Ihnen beim Programmieren nicht hilft (das OP gab an, dass es ASM und C kannte).

Die WinAVR-Suite ist im Vergleich zu anderen Toolchains kinderleicht. Laden Sie es einfach herunter, drücken Sie ein paar Mal auf Weiter, geben Sie einen Code ein und drücken Sie F5. Einfacher geht es nicht. Sicher, der Editor von AVR Studio hat nicht alle Funktionen, die er haben sollte, aber viele Hersteller-IDEs sind nicht besser oder sogar schlechter (*hust*MPLAB*hust*).

Ich bin mir über die Lieferung nicht sicher, aber ich würde sagen, dass der 6-polige SOT23 ATtiny ein Nischenchip ist und die SO8- oder DIP-Version sehr gut verfügbar ist. In diesem Zusammenhang leisten sie auch hervorragende Arbeit, indem sie sie sowohl in DIP- (für das Prototyping) als auch in kompakten SMT-Paketen beschaffen.

Wenn Sie Linux verwenden, können Sie mit „sudo apt-get install gcc-avr avr-libc avrdude“ wahrscheinlich in weniger als einer halben Minute eine voll funktionsfähige Toolchain haben. Winavr ist im Wesentlichen voll kompatibel. Ich habe die gemeinsame Codebasis zwischen den beiden beibehalten, ohne auch nur eine einzige Änderung in einem Makefile. Wenn Sie über einen parallelen oder sogar seriellen Hardwareanschluss verfügen, besteht die vollständige ISP-Hardware aus einigen handelsüblichen Anschlüssen und einigen passiven Komponenten (Widerständen). Es sind mehrere USB-Optionen verfügbar und der Bus Pirate für 30 US-Dollar (weltweit versandt) macht direkt AVR ISP und vieles mehr.
AVR ist auch einer der ganz wenigen Chips, die Ihr Elektronikgeschäft in der Nähe möglicherweise auch im Regal hat.
Sie können für WINAVR (dh avr-libc) von der Eclipse-IDE aus programmieren, indem Sie das AVR-Eclipse-Plugin verwenden. Eclipse macht alles besser!

TI MSP430 -Serie

Hardware

Die Vielfalt an Hardware-Peripheriegeräten ist nicht so flexibel wie die Microchip-PICs, aber die Software-Debugging-Toolchain-Unterstützung ist viel besser als die Teile von Microchip. TI hat kürzlich seine neue Version von Code Composer für die MSP430-Mikrocontroller und TMS320F28xx-DSPs veröffentlicht, die Eclipse verwenden. Die Debugging-Unterstützung ist ausgezeichnet.

Diese sind auch sehr einfach einzurichten die Steuerregister, viel einfacher als die 28xx DSPs.

Der MSP430 eignet sich hervorragend für zeitintensive Anwendungen, da normalerweise mehr Erfassungs-/Vergleichsregister zur Verfügung stehen. Dies kann Systeme erheblich vereinfachen, in denen Sie mit vielen vielen Timing-intensiven Peripheriegeräten umgehen müssen.

Entwicklung

Sie können ein Entwicklungssystem für 150 US-Dollar kaufen (es gibt eine billigere MSP430-auf-einem-USB-Stick-Variante für 20 US-Dollar, aber das ist irgendwie einschränkend), und Sie erhalten ein echtes Hardware- und Debugger-Prototyping-System. Sie können auch das neue TI - Launchpad erwerben , das mit 2 Chips geliefert wird und 4,30 $ kostet.

GCC ist verfügbar. mspgcc.sourceforge.net (alt) mspgcc4.sourceforge.net (neu)
Das Problem bei TI scheint in letzter Zeit zu sein, dass ihr "E-Store" einfach nicht funktioniert und die neuen Kits immer ausverkauft oder anderweitig nicht auf Lager sind. Es scheint eine große Nachfrage nach Chronos und Launchpad sowie den EZ- und EZ RF-Kits zu geben, aber sie sind gelegentlich fast unerreichbar, es sei denn, Sie finden ein Geschäft, das einige auf Lager hat. Hoffentlich klärt sich das bald auf.
TI bietet offenbar auch Muster ihrer Chips an.
Elektor bietet auch ein Board an, das das ez430 zu einem traditionelleren Devkit erweitert. elektor.com/products/kits-modules/modules/…
Wir hatten diesen Sommer keine Probleme, Launchpads zu bekommen. Das Versorgungsproblem war möglicherweise nur von kurzer Dauer.

Mikrochip PIC 16F/18F

Zielmarkt

Kostengünstige 8-Bit-Mikroprozessoren. Der 16F ist eine der früheren Prozessorlinien von Microchip und eignet sich aus folgenden Gründen nicht besonders gut für die Programmierung in C / C++:

  • seine Befehlssatzkern- und Speicherarchitektur
  • die Notwendigkeit, die Bank zu wechseln
  • fehlende Unterstützung für allgemeine Zeigeroperationen
  • Architekturbedingt schlechte Performance in C/C++
  • erfordert eine größere Programmgröße, um Algorithmen zu implementieren

Die 18F-Serie ist neuer und sollte in Betracht gezogen werden, wenn Sie sie sich für Ihr Projekt leisten können. Sie ähnelt der 16F-Serie in Bezug auf Zielmarkt, Peripheriesatz, IC-Pakete, Entwicklungstools und Preis. Der 18F-Kern wurde entwickelt, um für C und C++ zugänglicher zu sein, aufgrund von:

  • Unterstützung für Indirektion
  • spezielle RAM-Bänke, auf die immer zugegriffen werden kann (keine Bankumschaltung erforderlich)

Software

Ganz einfach zu programmieren, Sie können mit den 30 Assembleranweisungen schreiben oder einen C-Compiler verwenden . Dies sind 8-Bit-MCUs. Wenn Sie also mit Werten > 255 arbeiten möchten, müssen Sie selbst 2-Byte-Additions-/Subtraktions-/Multiplikations-/Divisionscode finden/schreiben. Sein RAM hat 4 "Bänke". Wenn Sie also in Assembler schreiben, müssen Sie ständig hin und her wechseln, um auf Variablen zuzugreifen, die in anderen Banken als der aktuellen gespeichert sind.

Hardware

Diese MCUs laufen ziemlich langsam, mit einer typischen Geschwindigkeit von 4 MIPS und einer maximalen Geschwindigkeit von 20 MIPS. Sie haben ein paar eingebaute Hardwarefunktionen, die bei richtiger Konfiguration gut funktionieren, wie ADC, serielle Schnittstelle, parallele Schnittstelle, CAN-Bus, I2C-Bus, SPI-Bus, Spannungsvergleich, EEPROM und natürlich Allzweck-I/O-Ports .

Dokumentation

  • Datenblätter enthalten alle erforderlichen Informationen (Pinbelegung, Register für die Konfiguration usw.), die sauber kategorisiert und gut dokumentiert sind. Ein Handbuch erklärt auch ausführlich über die Funktionen.

Entwicklungswerkzeuge

  • Microchip hat ein neues Tool, das VDI , das es einfacher macht, die verschiedenen Hardwarefunktionen der MCU zu konfigurieren, die Assembler- oder C-Code generieren. Besser als sich über die Datenblätter zu wälzen.

  • Microchip bietet seine MPLAB-IDE seit vielen Jahren an, und obwohl sich das Programm langsam verbessert hat, ist die Benutzeroberfläche im Vergleich zu PC-Entwicklungstools (Visual C++, Eclipse/NetBeans für Java/usw.) sehr schlecht und die Software immer noch besonders fehlerhaft. Es unterstützt auch C++ nicht, obwohl der Unterschied zwischen C und den meisten C++-Features (mit Ausnahme der dynamischen Speicherzuweisung, virtueller Funktionen und einiger anderer Features) sehr gering ist und C++ die Modularität der Programmierung fördert. Es gibt IDE-Anbieter von Drittanbietern, insbesondere IAR, aber sie sind teuer. (Hi-Tech wurde kürzlich von Microchip aufgekauft.)

  • In-Circuit-Debugging wird in einigen Teilen von der ICD-Schnittstelle von Microchip angeboten, einer 2-poligen seriellen Schnittstelle, auf die über die Debugging-Adapter ICD2, ICD3 , REAL ICE , PICkit2 /3 usw die ICD-Funktionen! Die Debugging-Funktionen sind etwas einschränkend und haben "Skid", bei dem Sie einen Haltepunkt auf eine Anweisung setzen und das Programm einige Anweisungen später stoppt. ICD ist jedoch besser als nichts.

Unterstützung

  • Anwendungshinweise beschreiben Code und Schaltkreise für verschiedene gängige Anwendungen
  • Aktive Benutzergemeinschaft in den Microchip-Foren
  • Kostenlose 24/7 -Tech-Support- Website, auf der Sie Ihre Probleme (Tickets) einreichen und technische Mitarbeiter kostenlos antworten und Sie sogar anrufen können, wenn Sie weitere Hilfe benötigen
  • Präsentationen (Webseminare), die die verschiedenen Module und Anwendungen erläutern
SDCC unterstützt auch PIC, denke ich.
Ja, SDCC funktioniert sehr gut für PIC18 und höher. Beachten Sie jedoch, dass sich die Syntax geringfügig von den C-Compilern von Microchip unterscheidet, sodass Sie möglicherweise etwas portieren müssen, wenn Sie Code wiederverwenden möchten.
Ich zögere, sdcc zu verwenden, da die Dokumentation die Generierung des Bildcodes als experimentell zu beschreiben scheint.
Ich schließe mich den PIC16-Kommentaren an. Alt, schrullig, in Banken organisierter Speicher, nicht C-freundlich. Microchip nutzt die Tatsache, dass es nur sehr wenige Anweisungen zu lernen gibt, als Vorteil, was meiner Meinung nach einfach dumm ist. MPLAB IDE ist ein Witz, es fühlt sich an, als wäre es noch 1998.

Blackfin von Analog Devices Die Blackfin-Familie ist ein hybrider DSP/Mikrocontroller mit einem starken RISC-Kern und unterstützt Video-/Signalverarbeitungsanweisungen. Einige Anweisungen unterstützen SIMD.

Hardware

Es hat einen RISC-Kern. Die Geschwindigkeiten reichen von 200 MHz Single-Core bis 600 MHz Dual-Core. Es verfügt über viele Peripheriegeräte: 10/100-Ethernet-MAC, UARTS, SPI, CAN-Controller, Timer mit PWM-Unterstützung, Watchdog-Timer, Echtzeituhr und einen leimlosen synchronen und asynchronen Speichercontroller. Es verfügt über ein dynamisches Energiemanagement, das nicht verwendete Teile des Prozessors automatisch herunterfährt.

Entwicklung

Die beiden primären Entwicklungstools sind VisualDSP++ von AD und die GNU-Toolchain. Es gibt auch ein SDK mit reichlich Code und Anwendungshinweisen. Der SDK-Code dient entweder als Rahmen oder als gute Codebeispiele. Es gibt mehrere Betriebssysteme, einschließlich uCLinux, die darauf laufen. Es gibt eine Reihe von Evaluierungsboards . Die Handbücher sind unverzichtbar.

Preise derzeit ab 2$ in Mengen von 1000 Einheiten.

Blackfin hat keinen MIPS-Kern!
Was ist mit der Preisgestaltung?

Der Parallax-Propeller ist ein seltsamer 8-Kern-Mikrocontroller (acht "Zahnräder" plus ein Hub), der sehr interessante/beeindruckende Dinge tun kann, einschließlich der Generierung von SD/VGA-Videos.

Es verfügt über eine eigene Entwicklungsumgebung mit einer Sprache namens SPIN. Montage (PASM) ist selbstverständlich vorhanden.

Es gibt eine beträchtliche Community-Unterstützung und sichtbare Projekte, die den Chip verwenden.

Es gibt keine große Auswahl an Modellen, aber der Chip scheint das Ergebnis eines sehr sorgfältigen Designs und eines langen Entwicklungslaufs zu sein, der von einigen äußerst talentierten und kompetenten Leuten durchgeführt wurde. Es kann für etwa 8 $ erhältlich sein.

Die (systeminterne) Programmierhardware besteht anscheinend aus einer seriellen Schnittstelle auf TTL-Ebene und einer Reset-Leitung. Es gibt einen Dongle namens Prop Plug.

http://parallax.com

http://en.wikipedia.org/wiki/Parallax_Propeller

Wie wäre es mit dem STM32 , einer weiteren Cortex-M3-basierten MCU-Familie?

Der Einstieg ist günstig, da ich einige gute Sachen von Olimex gefunden habe.

Dann verwende ich gcc als Compiler und OpenOCD, um das jtag zu steuern.

dsPIC33F und PIC24 : Microchip hat eine Familie von 16-Bit-40-MIPS-Mikrocontrollern namens dsPIC33F, die ihren PIC24F-Befehlssatz und ihre Peripherie mit DSP-Funktionen wie zwei 40-Bit-Akkumulatoren mit Rundungs- und Sättigungsoptionen kombinieren; Einzelzyklus multiplizieren und akkumulieren; und bis zu ±16-Bit-Verschiebungen für bis zu 40-Bit-Daten. Die Preise sind niedrig (ab 2 $ Volumen). Eine Sache, die ich an Mikrocontrollern von Microchip mag, ist, dass viele ihrer Geräte in DIP-Gehäusen erhältlich sind, die sich ideal für Steckplatinen eignen. Ich habe eines davon in einem Projekt verwendet, in dem ich DTMF-Signale dekodieren musste; Es war kostengünstiger als eine dedizierte DTMF-Decoder-Hardwarelösung. Ein PIC24 wird in der erstaunlichen uWatch verwendet, „Die leistungsfähigste (und einzige!) programmierbare RPN/algebraische wissenschaftliche Rechneruhr der Welt“.

Großes Votum für die pic24-Serie. Sie sehen online nicht annähernd so viel wie die 8-Bit-Bilder, aber sie sind schneller, leistungsfähiger und einfacher zu verwenden und kosten nicht mehr als die 8-Bit-Bilder mit ähnlicher Spezifikation.

Cypress PSoC1 (CY8C29466) verfügt über einen einfachen 8-Bit-CPU-Kern, der von FPGA-ähnlichen digitalen und analogen Blöcken umgeben ist.

Es hat sowohl analoge Eingänge als auch analoge Ausgänge. Viele Projekte, die mit jedem anderen Mikrocontroller eine Menge externer Teile erfordern würden – Operationsverstärker, PGAs usw. – können mit einem einzigen PSoC-Chip durchgeführt werden. Viele Computermäuse verwenden einen PSoC1. Beispielsweise kann es DTMF-Töne decodieren, die an einem Eingangspin ankommen, und direkt unabhängige analoge DTMF-Signale an zwei Ausgangspins erzeugen – echt analog, nicht PWM.

Die digitalen und analogen Blöcke können so eingerichtet werden, dass sie Dinge völlig unabhängig vom Kern tun – und daher mit garantierter fester Reaktionszeit, selbst wenn die CPU während dieser Zeit mit der Bearbeitung von Interrupts beschäftigt ist.

Ziemlich geringe Leistung. Kommt in DIP- und SMT-Paketen.

Der 8-Bit-24-MHz-Kern entspricht ungefähr dem PIC16F-Kern, skurrilen Bank-Switching und allem. Proprietäre C-Compiler sind verfügbar, aber es ist unwahrscheinlich, dass GCC jemals auf einen der beiden portiert wird.

Das „Gainer.cc“-Projekt programmiert PSoC1-basierte Systeme per Processing über ein USB-Kabel, ganz ähnlich wie das spätere „Arduino“-Projekt.

Das Forum http://www.psocdeveloper.com/ ist freundlich. Es gibt einige Dienstprogramme für die Entwicklung unter Linux: http://m8cutils.sourceforge.net/ .

PSoC1 macht mich wahnsinnig. Die neuen PSoC3s sind jedoch großartig.

Freescale HCS08- Mikros sind direkte Konkurrenten zu PIC10-18s und AVRs, im Allgemeinen kostengünstiger, aber immer noch mit einem ziemlich reichhaltigen Peripheriesatz. Ihre Bibliothek mit App-Notizen und Referenzmaterial ist ziemlich gut.

Ihre CodeWarrior-IDE (kostenloser Compiler für bis zu 32.000 Code) enthält einige nützliche „Geräteinitialisierungs“-Bibliotheken für einen GUI-gesteuerten Ansatz zum Umdrehen von Bits und einen fortgeschritteneren „Processor Expert“, der Treiber für Peripheriegeräte auf höherer Ebene generieren kann. Sie sind nicht verpflichtet, beides zu verwenden, und können auf Wunsch einfach alles in reinem C-Code tun.

TI TMS320F28xx Serie von DSPs.

Zielmarkt

Motorsteuerung und digital gesteuerte Stromrichter: Sie verfügen über sehr flexible PWM-Peripherie und schnelle ADCs.

Hardware

Diese DSPs haben zwei große Nachteile:

  • Komplexer einzurichten – die Linker-Dateien und alle Register (Speicherwartezustände usw.) haben zu viele Optionen und Sie müssen wirklich wissen, was Sie tun, um sicherzustellen, dass Sie es richtig machen
  • Benötigt zwei Versorgungsspannungen, 3,3 V für E/A und Peripheriegeräte und 1,8–1,9 V für den DSP-Kern.

Entwicklungswerkzeuge

Echtzeit-Debugging über JTAG-Port mit Code Composer v4 (Eclipse-basiert!!!).

Unterstützt von MatLAB Simulink zur automatischen Codegenerierung (keine Programmiererfahrung erforderlich)

Die DSPs von TI waren früher sehr teuer für Prototypen, weil Sie einen Echtzeit-Debugging-Pod (JTAG-Adapter) für 1500 US-Dollar benötigten, aber der Preis dafür ist stark gesunken (es gibt einen günstigen für 150 bis 200 US-Dollar), und sie verkaufen Eval-Boards mit eingebaute JTAG-Adapter.

Eine interessante Sache dabei ist, dass jede einzeln nummerierte Speicheradresse ein 16-Bit-Wort enthält.
16-Bit-Byte?

XMOS stellt eine Reihe sehr leistungsstarker 32-Bit-Parallelverarbeitungschips (1600 MIPS von vier Kernen mit 32 Hardware-Threads) her. Sie sind schnell genug, um Hochgeschwindigkeits-USB und -Ethernet in Software auszuführen. Ihre Werkzeuge sind sehr gut, die Chips sind hervorragend, sie sind preisgünstig (sie beginnen bei 7,50 $) und die Leute dort sind sehr hilfsbereit. Sie haben zwei sehr gute Support-Foren; einer wird vom Unternehmen betrieben, der andere ist unabhängig.

Ich verwende XMOS; Ich bin mit ihren Produkten zufrieden.

Ich muss für den Cypress PSoC3 stimmen. Ich benutze PICs seit ungefähr 10 Jahren (PIC16, PIC18, dsPIC und PIC32). Sie machen mich irgendwie verrückt mit ihrer irritierenden Peripheriekonfiguration und dem ständigen Durchsuchen des Datenblatts, um das eine Bit zu finden, das gelöscht werden muss, damit ein Pin funktioniert.

Andererseits war die Erfahrung, die ich bisher mit den PSoC3s gemacht habe, eine Freude. Vor allem aber macht das Konfigurieren der digitalen und analogen Peripherie Spaß. Serielle Ports, Uhren, Interrupts, Treiber, Komparatoren, ADCs und DACs können alle auf einem Schaltplan verdrahtet werden und funktionieren perfekt.

Beispielsweise können Sie Ihre PWM so verdrahten, dass der ADC in der Mitte eines Impulses abtastet, wodurch die Motorstrommessung genauer wird. Versuchen Sie das auf einem PIC.

Möchten Sie 5 PWMs, 5 Quadratur-Decoder, einen ADC, einen SPI-Port und einen CRC-Generator auf demselben Chip? Du hast es. Sie möchten den ADC so konfigurieren, dass er den Strom in jedem Motor in der Mitte des Impulses sequentiell abtastet? Du hast es. Außerdem können Sie alle diese Ein- und Ausgänge mit fast jedem gewünschten Pin verbinden.

Oh ja, UND, wenn in der Bibliothek kein Peripheriegerät verfügbar ist, können Sie Ihr eigenes in Verilog schreiben!

Cypress PSoC5 verfügt über einen 32-Bit-ARM Cortex M3, der von FPGA-ähnlichen digitalen und analogen Blöcken umgeben ist.

Analoger ADC und DAC mit 20-Bit-Auflösung.

Die digitalen und analogen Blöcke können so eingerichtet werden, dass sie Dinge völlig unabhängig vom Kern tun – und daher mit garantierter fester Reaktionszeit, selbst wenn die CPU während dieser Zeit mit der Bearbeitung von Interrupts beschäftigt ist.

Ziemlich geringe Leistung.

Der 32-Bit-80-MHz-ARM-Cortex-M3-Kern entspricht in etwa ...

Das Forum http://www.psocdeveloper.com/ ist freundlich.

Ich würde 20-Bit-A / D auf demselben Chip wie einem Mikrocontroller nicht vertrauen. Rauschen vom uC wird wahrscheinlich mindestens 4 Bit unbrauchbar machen.
Sie könnten es glauben, wenn Sie wüssten, dass es nur 180 sps waren.

Atmels eigener Support für den AVR ist nicht sehr gut und ihre Hardware-Tools sind ein bisschen flockig. Die Chips sind jedoch nett, und das AVR Freaks-Forum ist sehr gut. Sie haben ernsthafte Lieferprobleme mit ihren neueren Chips wie dem XMega und den 6-Pin-Tiny-Chips.

Bitte erläutern Sie die Hardware-Tools und Lieferprobleme. Ich benutze seit einiger Zeit AVR-Chips und sie waren sehr nett und einfach, in die Welt des Physical Computing einzusteigen.
Schauen Sie mal im AVR Freaks Forum vorbei - Leute beschweren sich immer über den Dragon und andere Tools und die Nichtverfügbarkeit vieler Chips. Sie beschweren sich auch über die mangelnde Unterstützung von Atmel.
Nicht sicher, ob Sie den AVR unterstützen oder dagegen stimmen. Können Sie einige Ihrer persönlichen Erfahrungen posten? Es ist einfach, negative Bewertungen von frustrierten Postern zu finden, aber schwieriger, nette Chips und ein gutes Support-Forum zu finden. Ich glaube nicht, dass es eine Community geben würde, die in der Lage wäre, 500.000 Beiträge zu 75.000 Themen zu generieren, wenn der allgemeine Konsens negativ wäre.
Open-Source-Unterstützung für Atmel AVR ist sehr nett (avr-gcc und avrdude).

Zilog hat auch einige Mikrocontroller. Ich persönlich habe nicht versucht, die Z8-Encore -Reihe von Chips zu programmieren, aber sie senden Muster. Sie haben viele verschiedene Chips von 1 KB bis 16 KB (vielleicht mehr) mit Peripheriegeräten wie UART, ADC, I2C , SPI usw.

Meiner Meinung nach ist dies kein sehr guter Bastler-Mikrocontroller.

Ich habe mehrere Familien von Prozessoren verwendet. Das Hauptproblem beim Erlernen eines neuen Prozessors ist das Lernen, Hunderte von Konfigurationsregistern von Peripherieregistern zu codieren. Dies wird der zeitaufwändigste Prozess sein, wenn Sie von einer Familie zu einer anderen wechseln. Da der Hauptanwendungscode in C geschrieben ist, spielt es keine Rolle, welche Familie wir verwenden. Ich wünschte, es hätte sich ein Standard für die peripheren Register entwickelt. Wenn jemand eine Entwicklung in diese Richtung kennt, teilen Sie sie bitte mit.

Ich verwende PIC, ARM, MSP430, AVR und einige andere.

Microchip hat einen hervorragenden Support und gute Hardware- und Softwaretools, das Debuggen ist besonders einfach und schnell. Die 8-Bit-Architektur ist etwas veraltet. Ihre neueren 16-Bit-Chips sind ausgezeichnet. Sie sind Marktführer bei 8-Bit-MCUs.

Wenn Sie Weisheit teilen möchten, schlage ich vor, stattdessen die Community-Wiki-Antworten zu bearbeiten. Alle Ihre Punkte wurden bereits in der 18F-Antwort erwähnt.