Forum: Mikrocontroller und Digitale Elektronik AT90USB (ATMega32U2) USB


von Max T. (charmquark)


Lesenswert?

Hi zusammen,

ich wollte mal einen Einstieg in USB mit dem ATMega32U2 wagen, finde 
aber nichts hilfreiches im Netz. Kennt jemand Links oder Beispielcode 
mitteilen, der mir helfen könnte?

Ich werde mir LUFA natürlich auch anschauen, aber will trotzdem die 
grundlegenden Sachen verstehen.

Schöne Grüße,
Max

von Timmo H. (masterfx)


Lesenswert?

Code und Tutorials gibts genug. Schau doch mal unter "Documents" bei 
Atmel unter den µCs. Wenn du auf der Seite dann nach USB suchst 
(Textsuche) dann bekommst du einige Beispiele. Auch mal die ASF checken!

von holger (Gast)


Lesenswert?

>aber will trotzdem die grundlegenden Sachen verstehen.

Dann wirst du hier bestens informiert:

http://www.usb.org/home

von Timmo H. (masterfx)


Lesenswert?

AVR4903: ASF - USB Device HID Mouse Application
AVR4904: ASF - USB Device HID Keyboard Application
AVR4960: USB Host Android Accessory
AVR153: USB PC Drivers Based on Generic HID Class
AVR272: USB CDC Demonstration: UART to USB Bridge, on megaAVR with USB

etc.

von holger (Gast)


Lesenswert?

>Dann wirst du hier bestens informiert:

Und hier:

http://www.lvr.com/usb.htm

von Max T. (charmquark)


Lesenswert?

Danke für die schnellen Antworten ;-) =)
Damit habe ich erstmal ne Menge Lesestoff ;-)

Schöne Grüße, Max

von holger (Gast)


Lesenswert?


von Max T. (charmquark)


Lesenswert?

Mal abgesehen vom Speicherbedarf, erzeugt LUFA einen großen CPU-Zyklus 
Overhead? Ich muss einfach nur kontinuierlich mit etwa 0.1 MByte/s Daten 
vom PC empfangen und habe dafür nicht sehr viel "Zeit".

von holger (Gast)


Lesenswert?

>ich wollte mal einen Einstieg in USB mit dem ATMega32U2 wagen,

>Ich muss einfach nur kontinuierlich mit etwa 0.1 MByte/s Daten
>vom PC empfangen und habe dafür nicht sehr viel "Zeit".

Achso. Dann empfehle ich dir einen ARM mit USB.

von Max T. (charmquark)


Lesenswert?

holger schrieb:
> Achso. Dann empfehle ich dir einen ARM mit USB.

Hab aber (vorerst) nur eine ATMega32U2 da. Und damit würde ich das ganze 
gerne zum laufen bringen. Oder sollte das heißen, dass das mit dem 
ATMega32U2er nicht zu machen ist?

von Der Unwissende (Gast)


Lesenswert?

Wenn keine sehr aufwendigen Nebensachen laufen ist das machbar.
Gehe jetzt mal davon aus das du 16 MHz an Clock hast macht 16.000.000 / 
(100*1024) =  156 "Befehle" für die Verarbeitung eines Bytes, das sollte 
zu machen sein.

Wenn du noch weitere Fragen hast hier melden, wenn ich Zeit habe kann 
ich evtl. ein paar Fragen beantworten, da ich ein System mit AT90USB am 
laufen habe, welcher ja quasi der gleiche Controller ist.

Wovon ich keine Ahnung habe, ist die PC seite. Da hatte ich eine Lösung 
bekommen.

Habe den Link hierauf mal in die Lesezeichen geparkt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Max TBA schrieb:
> ch muss einfach nur kontinuierlich mit etwa 0.1 MByte/s Daten
> vom PC empfangen und habe dafür nicht sehr viel "Zeit".

Empfangen ist das eine, aber irgendwas willst du mit dieser
Datenmenge sicher auch anstellen.  Dort könnte schnell der
Engpass entstehen.

von Max T. (charmquark)


Lesenswert?

Danke schonmal =)

Ich schreibe die Daten nur in ein Array, was sehr wenige Zyklen brauche. 
Byte empfangen und an Pointerposition schreiben -> Pointer eins weiter 
schieben -> loop. Ich habe das VirtualSerial mal als Vorlage benutzt und 
werde morgen oder übermorgen (wenn der Atmega hoffentlich ankommt) mal 
testen können, obs so klappt.
Gibt es bei LUFA interrupts für den Empfang von Daten(Bytes)? Ich habe 
nämlich Angst, dass einzelne Bytes verloren gehen, wenn ich nicht alle 
150 Zyklen das empfangene Byte auslese.

Nächtliche Grüße,
Max

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

Ohne jetzt hier Werbung machen zu wollen: Über den Link
http://produkte.reworld.eu/u2dil.htm
landest Du auf einer Seite, die nicht nur ein 
AT90USB162/ATMEGA32U2-Modul beschreibt, sondern auch eine Sammlung 
funktionierender Beispiele zum Download anbietet. Die Beispiele wurden 
mit AVR-Studio 4.18 entwickelt, sollten aber auch mit dem aktuellen 
Atmel Studio 6 funktionieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.