Forum: Mikrocontroller und Digitale Elektronik Wie ATMEGA32U4 und USB ?


von Peter (Gast)


Lesenswert?

Hat jemand schon mal mit dem ATMEGA32U4 die USB Schnittstelle 
erfolgreich benutzt?
Und kann mir einen Tip geben.

Ich will damit eine USB-DMX Schnittstelle ersetzen und dachte mir der 
Prozessor wäre doch was dafür.

Und nun sitze ich dran und irgendwie finde ich keinen Anfang.
DMX Senden und empfangen geht, aber bei dem USB Kram komme ich absolut 
nicht weiter.

Der Original Code ist erschwerend auch noch in ASM und für einen 
Externen USB Chip gemacht.
Also hier was ab schauen ist nicht wirklich möglich.

Peter
von Stefan (Gast)


Lesenswert?

Hallo,

schau dir mal die Beispiele in der "Code Library" bei
http://www.pjrc.com/teensy/
an

Gruss Stefan
von Oliver R. (sourcebox)


Lesenswert?

Am einfachsten dürfte es wirklich sein, du verwendest die LUFA Library. 
Ansonsten musst du dir schon einiges Basiswissen zu USB aneignen. Eine 
gute Anlaufstelle dazu ist

http://www.beyondlogic.org/usbnutshell/usb1.shtml

Ich habe das vor einiger Zeit getan und bin auch zu einem brauchbaren 
Ergebnis gekommen. Restlos alles verstanden habe ich ehrlich gesagt aber 
auch nicht. Gehe davon aus, dass du 1-2 Wochen damit zu tun hast bis es 
rund läuft, abhängig von der Komplexität der Aufgabe.

Mein dümmster Fehler war, als Unicode-Format für die String-Deskriptoren 
UTF-8 anzunehmen anstelle von UTF-16. Das hat mich einiges an Zeit 
gekostet dahinterzusteigen.
von Peter (Gast)


Lesenswert?

Beide System Teensy & LUFA sehen interessant aus.

LUFA ist so wie es aussieht ein riesiges Paket aus dem ich nur ein 
Bruchteil brauche. Da muss ich erst aufräumen bis ich erkenne was ich da 
so brauche. Besonders was zu dem Prozessor gehört und was nicht.

Bei Teensy ist alles sehr kompakt, aber ob da alles dabei ist muss ich 
mir auch erst ansehen.

Was nun das beste für mich ist kann ich erst sagen wenn ich den Code 
sauber vorliegen habe.

Ich hoffe Du meinst mit 2 Wochen nicht 80 Stunden oder mehr.

Das Hauptproblem ist halt USB zum laufen zu bringen, aber ich glaube 
jetzt habe ich 2 gute Ansätze zum nach sehen.
Damit kann ich zumindest schon mal die Hardware testen.

Ich glaube das schwerste nach USB, wird die ganze Systemkonfiguration 
werden.
Aber da kann ich hoffentlich alles aus dem ASM Code raus lesen.


Jetzt brauche ich nur noch einen Bootloader.


Danke Peter
von Oliver J. (skriptkiddy)


Lesenswert?

Peter schrieb:
> Jetzt brauche ich nur noch einen Bootloader.
Der ist per default im µC enthalten.

Gruß Oliver
von Peter (Gast)


Lesenswert?

Oh, dann muss ich nur noch sehen wie der angeht und funktioniert.

Peter
von Oliver R. (sourcebox)


Lesenswert?

Peter schrieb:
> Ich hoffe Du meinst mit 2 Wochen nicht 80 Stunden oder mehr.

Ich habe 2 Wochen recht intensiv daran gesessen, aber nicht 8 Stunden am 
Tag durchgehend. In dieser Zeit habe ich natürlich auch recht viel zum 
Thema USB gelesen, wie die Spezifikationen und Beispiele für 
Deskriptoren. Es ist letztlich Voraussetzung, dass man versteht, was 
sich zwischen Host und Device im Detail abspielt bzw. abspielen kann. Es 
ist auch nicht völlig identisch von Host zu Host.

Ein Thema für sich ist das Debugging, da sich der Programmfluss nicht 
einfach unterbrechen lässt um z.B. im Single-Step durchzugehen. Viele 
Requests haben eine maximale Response Time innerhalb der sie beantwortet 
werden müssen, ansonsten wird die Verbindung abgebrochen.
von Martin K. (Gast)


Lesenswert?

Das LUFA Projekt ist schon sehr groß - du brauchst da aber nichts zu 
löschen oder sortieren oder sonstwas. Einfach das Makefile einbinden, 
anpassen und es geht. Es wird nur das compiled, was du für dein Program 
auch brauchst. Es gibt genug Demos die zeigen was man alles machen kann.
Ich hab auch den Fehler gemacht am Anfang zu versuchen alles zu 
sortieren und überflüssiges zu löschen. Das ging aber Nach hinten los. 
Einfach alles an Ort und Stelle lassen. Geht 1a!
von Peter (Gast)


Lesenswert?

Das Aussortieren hat für mich aber den Vorteil das ich das besser mit 
CodeBlocks oder Netbeans lesen kann. Ist schon immer blöd wenn man in 
Datein schaut die am ende nichts damit zu tun haben.

So zu 100% verstehen muss ich das nicht, Hauptsache das Teil läuft.
Aber ein bisschen wissen ist schon vorhanden. Aber leider nicht genug um 
das ohne solche Tips hin zu bekommen.

Peter
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.