Ich befinde mich in der Anfangsphase des Entwurfs eines Entwicklungsboards rund um die PSoC 3- und 5-Chipreihe von Cypress Semiconductor. Ähnlich wie beim Arduino möchte ich, dass die Programmiererfahrung sehr einfach ist, und das bedeutet, dass ich es programmieren und mit ihm verbinden kann, ohne ein separates Programmierkabel kaufen zu müssen.
Ich habe mich vorläufig für eine ähnliche Lösung wie die von Arduino entschieden: Integrieren Sie eine weniger leistungsstarke MCU mit integrierter USB-Unterstützung auf der Platine und lassen Sie diese MCU als USB-Schnittstelle zum Hauptprozessor fungieren. Im Gegensatz zum Arduino möchte ich jedoch, dass die Kommunikations-MCU über die SWD-Schnittstelle (Serial Wire Debug) als Programmierer fungiert.
Vor diesem Hintergrund benötige ich eine MCU, die die folgenden Anforderungen erfüllt:
Große Vorteile wären, wenn es sich um eine Architektur mit einer gut unterstützten OSS-Toolchain oder einer flachen Lernkurve handelt. Noch besser (aber weniger wahrscheinlich) wäre es, wenn es bereits Beispielcode für die Implementierung eines SWD- oder JTAG-Programmierers auf dieser Plattform gäbe.
Meine aktuellen Kandidaten sind der ATMega8U2, der die meisten Anforderungen erfüllt, aber nicht so billig ist, wie ich es gerne hätte und einen externen Quarz benötigt, und der C8051T623, der billig ist und die Anforderungen erfüllt, aber anscheinend eine begrenzte Toolchain-Unterstützung hat und ist keine Architektur, mit der ich vertraut bin. (Bearbeiten: Es scheint jetzt auch kein Lagerbestand zu sein, was es mehr oder weniger ausschließt.)
Kann jemand eine MCU empfehlen, die diese Anforderungen erfüllt?
NXP hat einige USB Full Speed ARM Cortex (M0 und M3) basierte Mikrocontroller, die für geringe Stückzahlen im Bereich von ~ 1,70 $ beginnen. Sie benötigen keinen externen Oszillator für USB und haben eine dedizierte PLL für die USB-Nutzung. Zum Beispiel der LPC11U12FBD48 . (Preis von AVNET )
Ich persönlich würde heutzutage die Verwendung von 8-Bit-Mikrocontrollern vermeiden, es sei denn, Sie werden in Ihrer Anwendung sehr wenig Speicher oder Coderaum verwenden. Cortex-M0-basierte Mikrocontroller können jetzt auch in puncto Energieeffizienz oft die besten 8-Bit-Controller sein.
Microchip hat einige schöne 8-Bit-Mikrocontroller mit USB-Fähigkeiten und internem Oszillator .
Das billigste wäre PIC16F1455 :
Günstig in kleinen bis mittleren Mengen (~100).
Der PIC16F1455 ist bei Digikey für 1,30 $ in Mengen von 100 Stück erhältlich.
Native Hochgeschwindigkeits-USB-Schnittstelle.
Universal Serial Bus 2.0-Modul mit Taktrückgewinnung vom USB-Host. Unterstützt Low-Speed (1,5 Mbit/s) & Full-Speed (12 Mbit/s).
Im Idealfall wird für den USB-Betrieb kein externer Quarz benötigt
Interner 48-MHz-Oszillator
Idealerweise in einem handlötbaren Gehäuse erhältlich. Definitiv kein BGA, besser kein QFN
Verfügbar im PDIP-Paket.
Zwei U(S)ARTs, einer kann für SWD verwendet werden, einer als regulärer UART für die benutzerdefinierte Kommunikation mit der Haupt-MCU
Hat nur ein USART-Modul, aber auch ein SPI/I2C-Modul.
Werkzeugkette:
Nick Johnson
Jim Paris
Nick Johnson