Forum: Mikrocontroller und Digitale Elektronik AT43USB370 /-380


von Michael (Gast)


Lesenswert?

Hallo liebes Forum,

ich studiere an der Universität und soll jetzt im Rahmen einer
Studienarbeit ein USB Host Controller implementieren, und zwar
wahrscheinlich auf der Basis des AT43USB370, im Prinzip ja ein ARM7 mit
USB Host-funtionalität. Habe mir nun im Laufe des Tages sämtliche
Unterlagen angeschaut, um erst einmal ein Überblick zu bekommen.

Nun einfach zu meiner Frage, hat irgendjemand schon Erfahrung mit dem
AT43USB370 gesammelt und kann mir Tipps geben, bzw. gibt es schon ein
Projekt wo man dann mal schauen kann wie es dort gelöst ist?

Aber wie gesagt, nur wahrscheinlich wird der AT43USB370 eingesetzt,
100%ig ist dies noch nicht entschieden. Wir überlegen sonst auch einen
ISP1160 zusammen mit einem ARM7 (wahrscheinlich Atmel AT91xx)
einzusetzen. Auch hierzu würde ich gerne mal die ein oder andere
Meinung hören. Vor allem meine Frage, wenn ich einen ARM7 mit µLinux
einsetzte, gibt es dann auch Versionen von µLinux, die den ISP1160 und
damit die USB Host-Funktionalität bereits unterstützen oder müsste man
das alles selber implementieren?

Zum Abschluss sollte ich vielleicht noch sagen, an den USB Host
Controller sollen "nur" HID(Maus, Tastatur und Gamepad) und USB Hubs
angeschlossen werden.

Ich würde mich über eure Meinungen und Anregungen freuen. Vielleicht
gibt es ja auch noch die ein oder andere Lösung, an die ich noch gar
nicht gedacht habe (wobei den Weg, einen USB Host zu realisieren, werde
ich schon gehen müssen :-)  )

Michael

von Clemens (Gast)


Lesenswert?

Soviel ich weiß hat der AT43USB370 keinen ARM-Prozessor integriert,
sondern lediglich zwei 8 bit Prozessoren!


Grüße Clemens

von Danyo (Gast)


Lesenswert?

Hi Michael!

Also ich arbeite erfolgreich mit dem ISP1160 und einem 16bit uC, dem
M16C62 zusammen. Allerdings auch nur im Portbetrieb also auf
8-Bitter-Basis. Das funktioniert ohne Probleme. Ich kann dir den
Philips also daher empfehlen. Insbesondere nimmt er dir einerseits USB
low-layer Protokoll-Generierung ab, d.h. du musst ihm vor den Daten nur
noch einen Header (PTD - Philips Transfer Descriptor) senden und den
Rest erledigt er von alleine. Desweiteren ist er OHCI (Open Host
Controller Interface) kompatibel, was dir unter Umständen die
Möglichkeit gibt, den Code auf zukünftige OHCI-Controller zumindest
teilweise zu portieren, da Sie alle gleiche Register-Bezeichungen,
-Adressen und -Aufbau besitzen. Das einzige Manko ist die etwas
schwierige Einarbeitung. Es gibt jedoch einen Programmer's Guide für
den ISP1161, den du nutzen könntest und außerdem das USB Developer's
Forum auf www.usb.org!

Danyo

von Michael (Gast)


Lesenswert?

@Clemens: Du hast Recht...da hab ich wohl irgendwie was durcheinander
gekriegt...

@Danyo: Das hört sich sehr interessant an. Bislang habe ich immer nur
an einen ARM7 mit Linux zusammen mit dem ISP1160 gedacht. Aber
irgendwie scheint mir das ein wenig oversized für meine Anwendung zu
sein, da ich dann ja auch externen Ram und Rom brauche. Welche Geräte
hast du an den USB-Bus angeschlossen und wie schätzt du den Aufwand,für
die Entwicklung ein? Gibt es irgendwo vielleicht Beispiele wo man mal
schauen kann?

Da du ja auch ein 16Bitter eingesetzt hast, würde mich auch nochmal
interessieren, generell müsste das ganze doch dann auch mit einem
MSP430 möglich sein. Wie gesagt, ich habe nicht viele Aufgaben, die der
Controller erledigen muss


Michael

von Danyo (Gast)


Lesenswert?

Ich hab bisher nur einen USB-Drucker-Treiber geschrieben. Der Treiber
ist z.Z. so um die 27kB groß und ist noch nicht ganz fertig, d.h. ein
bisschen Flash-ROM brauchst du schon. Da ich den M16C aber auch nur im
Portbetrieb genutzt habe, also 16bit-Words über zwei 8bit-Ports
eingelesen und wieder zusammengesetzt habe, müsste das alles auch auf
einem ATMega32 laufen. Mit dem MSP430 kenn ich mich leider gar nicht
aus...
Ansonsten ist die Einarbeitungsphase nicht ganz unaufwändig. Wenn du
aber USB verstehen willst, ist das unabhängig vom Controller so. Ich
schätze die Einarbeitungsphase für Controller und USB-Grundlagen schon
so auf 1,5 bis 2 Monate ein, wenn du dich 5 Tage die Woche damit
beschäftigst. Falls du den ISP1160 nutzen möchtest, kann ich dir den
oben genannten Programmer's Guide für den ISP1161 empfehlen, der die
gleiche Host-Controller-Funktionalität besitzt. Wenn du weitere Fragen
hast, kannst du dich auch per email: d_carey@web.de an mich wenden.

Danyo

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.