Hallo, ich möchte auf einem Virtex 4 Board das USB Host Interface nutzen. Die Frage ist, ob das überhaupt möglich ist. Verbaut ist ein Cypress 67300 USB Controller. Ich will eine Schnittstelle zum PC realisieren. In den Board Schematics http://www.xilinx.com/support/documentation/boards_and_kits/ml401_2_3_schematics.pdf auf Seite 19 sieht es auch danach aus, dass man das Host Interface nutzen kann. Ich habe mir dazu das Development Kit von Cypress mit dem generischen USB Treiber geladen. Jedoch wird nichts erkannt. Es gibt ein Demonstrationsprogramm für das Board, bei dem man eine USB Tastatur anschließen kann und die Buchstaben auf dem Display erscheinen. Das klappt auch und in dem Blatt steht, dass hierzu das Host Interface genutzt wird. Hat jemand einen Tipp, wie ich die Verbindung zum PC herstellen kann?
Wenn du das Board mit einem PC verbindest, ist der PC der Host, nicht das Board. Du musst also eines der beiden periphereal interfaces benutzen.
Du musst dann den USB Device Teil des Cypress ansprechen. Der Chip hat ja 2 Device und einen Host-Anschluss drauf. Gibts doch sicher auch Beispiele bei Xilinx, oder?
Ich meinte nicht direkt den Anschluss auf dem Board, sondern den HPI Modus des USB Controllers. Aber sicher mit den Anschlüssen war ich mir nicht ;) Also, verbinde ich mit dem zweiten Periphereal wird der Controller erkannt als "Cypress EZ-OTG" also On-the-Go USB. Ist ja nicht ganz das, was ich möchte, ist glaube dafür gedacht Geräte direkt zu verbinden oder? Auf dem ersten Periphereal Anschluss wird wiederum gar nichts erkannt. Im Xilinx Forum wurde sogar behauptet, dass es außerdem dem erwähnten Beispiel mit der Tastatur - sonst gibts auch glaube ich nichts von Xilinx - keine Möglichkeit gäbe, eine Verbindung herzustellen. Deshalb frage ich eigentlich nach. Der Controller muss doch erst generell erkannt werden, oder?
On The Go ist doch völlig korrekt, schließlich ist der Controller ein OTG Controller, der halt beides kann. Wenn vom Windows schon das erkannt wird, muss zumindest eine rudimentäre Firmware dafür sorgen, dass die USB Requests beantwortet werden. Ich denke mal, das macht der PPC im Virtex dann. Das Ding hat eh bloß Full-Speed, zum Daten übertragen kaum geeignet....
Nochmal zum Verständnis. Muss der Controller erst zwingend erkannt werden, bevor man ihn benutzen kann? Hab im Datenblatt des Cypres nachgegschaut und er ist standardmäßig im Device Modus. Wie muss ich generell vorgehen, um einen USB Controller zu nutzen
kuli wrote: > Nochmal zum Verständnis. Muss der Controller erst zwingend erkannt > werden, bevor man ihn benutzen kann? Natürlich. Wie willst du ihn sonst ansprechen? > Hab im Datenblatt des Cypres nachgegschaut und er ist standardmäßig im > Device Modus. Wie muss ich generell vorgehen, um einen USB Controller zu > nutzen Hm, das kommt natürlich auf den Controller an. Ich kenn´s nur vom Cypress FX2, da initialisiert die Firmware alle möglichen Register, stellt die Descriptoren bereit, antwortet auf die USB Requests des Betriebssystems, handhabt die Suspend- und Resume-Anforderungen usw. Dann müssen natürlich die Endpoint-Buffer bereitgestellt werden, und irgendwie musst du dann was mit den Daten in den EP-Buffern machen. Ist ales nicht ganz ohne, da muss man sich erst mal eine Weile mit viel viel Doku rumschlagen.
OK, das hilft schon mal weiter. Denn erkannt wird der Controller wie gesagt nur am Periphereal 2 als OTG. Prinzipiell in Ordnung, aber es exisitiert anscheinend kein Treiber dafür, oder?
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.