Was sind die Vorteile eines USB-Teils des Mikrocontrollers (wie beim Leonardo)?

7

Der neue (ish) Arduino Leonardohat einen ATmega32u4Mikrocontroller, der sich vom unterscheidet Uno. Dieser Controller verfügt über eine integrierte USB-Funktionalität und kann mit einem PC verbunden werden, HIDder sich von allen anderen Arduino-Karten unterscheidet.

Was sind die anderen Vorteile bei der Verwendung des ATmega32u4Chips anstelle der Vorteile, für deren Programmierung ATmega328ein USB-UARTChip erforderlich war und die über begrenzte USB-Funktionen verfügten?

Schwamm Bob
quelle

Antworten:

12

Geschwindigkeit! Über die virtuelle serielle Schnittstelle können Sie bis zu 1000 Datenrahmen pro Sekunde an den 32u4 senden. Die älteren Karten mit FTDI-Chip und UART-Brücke sind auf etwa 38 kBaud begrenzt, bevor Probleme mit der Signalzuverlässigkeit auftreten.

Sie können auch mehr Geräte als nur "COM-Port" darstellen - zum Beispiel eine Tastatur und eine Maus emulieren. Wenn Sie Lust haben und eine neue Firmware wie LUFA verwenden, scheinen Sie viel mehr Arten von Geräten zu sein.

Jay
quelle
+1 zum Emulieren von Tastatur oder Maus. Damit können Sie einige interessante Projekte machen.
Rslite
Was ist ein "Frame" im Kontext einer virtuellen seriellen Schnittstelle? Bitte definieren Sie Ihre Begriffe etwas besser. Wenn ein "Frame" nur ein Byte enthalten kann, wären das nur 1000 Baud. Außerdem können FTDI FT232RL USB-serielle Bridges (die bei älteren Arduinos verwendet werden) problemlos 3 Mega- Baud erzeugen , sodass eine Geschwindigkeitsbegrenzung nicht das FTDI-Gerät ist. Die neueren ATmega8 / 16U2-basierten Boards sind jedoch eine andere Sache.
Connor Wolf
@Connor, ich habe mit 64-Byte-Frames auf einem Teensy 2.0 getestet, einem 32u4-basierten Arduino-Spinoff. Als ich FTDI-überbrückte Chips getestet habe, habe ich festgestellt, dass sich die Datenqualität um etwa 32 kBaud des anhaltenden Datenverkehrs verschlechtert, sodass das Gesamtsystem (FTDI -> PCB Bridge -> AVR UART -> Softwarebibliothek) nicht zu sein scheint in der Lage sein, die höheren Geschwindigkeiten zu handhaben.
Jay