Suche nach einer erschwinglichen integrierten USB-MCU [geschlossen]

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:

  • 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.
  • Native USB-Schnittstelle mit voller Geschwindigkeit.
  • Günstig in kleinen bis mittleren Mengen (~100).
  • Im Idealfall wird für den USB-Betrieb kein externer Quarz benötigt.
  • Idealerweise in einem handlötbaren Gehäuse erhältlich. Definitiv kein BGA, besser kein QFN.

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?

Down/Close Voter - Ich würde es begrüßen, wenn Sie beschreiben könnten, warum Sie denken, dass dies offtopic ist.
War ich nicht, aber ich würde vermuten, dass dies eher eine Einkaufsfrage als eine Frage des Elektronikdesigns ist. Auch der Titel hat mit der eigentlichen Fragestellung wenig zu tun.
@JimParis Mein Verständnis war, dass es bei Fragen zum Einkaufen eher darum geht, Teile für den Kauf zu finden. Was ich habe, ist eine Frage, welche Teile zu meinen Designbeschränkungen passen. Die Kosten sind nur einer der Faktoren, die mir Sorgen bereiten. Guter Punkt zum Titel, da er sich auf meine gewünschte Verwendung bezieht, nicht auf die tatsächliche Wahl der Komponente.

Antworten (2)

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.

Der einzige Zweck dieses Controllers besteht darin, als JTAG/SWD-Programmierer und USB<->UART-Brücke zu fungieren, sodass ein 8-Bit-Mikro vollkommen zufriedenstellend ist. Ich werde mir aber das Angebot von NXP ansehen, danke.
Es scheint jedoch ein bisschen albern, eine 32-Bit-MCU als Programmier-Frontend für eine 8-Bit-MCU zu verwenden.

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:

  • Microchip MPLAB X : kostenlose IDE, basierend auf Netbeans, funktioniert unter Windows, Mac OS, Linux
  • Microchip XC8-Compiler : kostenlos ohne Optimierung, funktioniert unter Windows, Mac OS, Linux
Danke, das sieht toll aus! Ich war wegen der Prozessorarchitektur nie ein großer Fan von PICs, aber es ist schwer, mit dieser Reihe von Funktionen und dem Preis zu argumentieren.
@NickJohnson Wenn Sie es in C programmieren, ist seine Architektur weniger wichtig.
Ziemlich wahr; Es war der Einfluss der Architektur auf die Verfügbarkeit von Toolchains von Drittanbietern wie GCC, der mich abschreckte. Das ist in dieser Anwendung jedoch mehr oder weniger akademisch.
Soweit ich weiß, brauchen die PICs für den USB-Betrieb noch einen Quarz oder Resonator.
@markrages Nicht diese; schau dir mal den ersten link an. Es sind neue Produkte, die dieses Jahr eingeführt wurden.
"Highspeed" != USB 2.0. Soweit mir bekannt ist, unterstützt kein PIC Highspeed-USB.
@JimParis Du hast Recht. Ich nahm an, dass das OP einen Fehler gemacht hatte und was er wirklich meinte, war eine Operation mit voller Geschwindigkeit. Seine ersten Kandidaten waren ATMega8U2 & C8051T623 uC, die beide mit voller Geschwindigkeit arbeiten.
Ja, ganz richtig, was ich sagen wollte, war volle Geschwindigkeit, nicht 2.0.
@m.Alin Kennen Sie erschwingliche Entwicklungskits für diese PICs? Keiner von denen, die ich finden kann, enthält USB-Unterstützung auf dem Board.
Ja, ich habe einen erschwinglichen Entwickler gefunden. Kits: Dieses für 40 $ und dieses für 70 $, das auch einen Programmierer/Debugger enthält.