www.mikrocontroller.net

Forum: FPGA, VHDL & Co. USB Host Interface


Autor: kuli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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... 
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?

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: kuli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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....

Autor: kuli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: kuli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.