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
Soviel ich weiß hat der AT43USB370 keinen ARM-Prozessor integriert, sondern lediglich zwei 8 bit Prozessoren! Grüße Clemens
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
@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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.