USB in VHDL aufbauen

Moderator (Firma: Titel) Persönliche Seite #3600353
Lesenswert?

Cle schrieb:
> Wenn du eine PS2 Tastatur hast
Ich vermute sehr, dass mit "USB-Keyboard" etwa sowas gemeint war:
http://www.procenter-music.de/AKAI-LPK-25-USB-Keyboard-Controller

Und ich würde ststtdessen einfach eine MIDI-Tastatur vorschlagen. Das 
kann jedes halbwegs bessere USB-Keyboard auch ausgeben und es könnte der 
Synthesizer auch von anderen MIDI-Keyboards und Synthesizern angesteuert 
werden.
Gast #3600530
Lesenswert?

Rolf Sassinger schrieb:
> Wie aufwändig ist es, ein USB protokoll in VHDL zu schreiben um einen
> Synthesizer zu steuern? Ich möchte ein USB-Keyboard auslesen und die
> Tasten interpretieren.

Sehr aufwendig. So 2002 habe ich mal FPGA-Implementationen evaluiert, 
die einen größeren Virtex-2 benötigten.

Üblichersweise wird ein FPGA mit einem externen Chip (cypress-FX2 war 
sehr beliebt) USB-2 fähig gemacht.


MfG,
#3600641
Lesenswert?

Fpga Kuechle schrieb:
> Üblichersweise wird ein FPGA mit einem externen Chip (cypress-FX2 war
> sehr beliebt) USB-2 fähig gemacht.

Der Fragesteller will ein Masterkeyboard an den FPGA anschliessen. Das 
heisst es wird hier nach einer USB Host Implementierung (Master) gefragt 
(oder mindestens On-the-go Fähigkeit). Weder der FX2 noch der neuere FX3 
bieten sowas.

Grössere Mikroprozessor Bastelboards (z. B. Raspberry Pi, Beagle Bone, 
die Allwinner Boards von Olimex oder die iMX6 basierten Boards) bieten 
USB Host. Mit AVR, FX2 etc. ist nur USB Client möglich.
Gast #3600781
Lesenswert?

Christoph Z. schrieb:
> Fpga Kuechle schrieb:
>> Üblichersweise wird ein FPGA mit einem externen Chip (cypress-FX2 war
>> sehr beliebt) USB-2 fähig gemacht.
>
> Der Fragesteller will ein Masterkeyboard an den FPGA anschliessen. Das
> heisst es wird hier nach einer USB Host Implementierung (Master) gefragt
> (oder mindestens On-the-go Fähigkeit).

Stimmt, hab ich übersehen. Da Host aber nicht geringer im Aufwand ist 
als USB client bleibt der kern der aussage (Viel FPGA-Aufwand) erhalten.
Wobei das problem bei Host meines Wissens weniger der 
hardwaremehraufwand ist, als die Software (wegen mehr Funktionalität 
(Arbitrierung-anstoß (enumeration))).


> Grössere Mikroprozessor Bastelboards (z. B. Raspberry Pi, Beagle Bone,
> die Allwinner Boards von Olimex oder die iMX6 basierten Boards) bieten
> USB Host. Mit AVR, FX2 etc. ist nur USB Client möglich.

Es stellt sich die Frage ob Host oder OTG gebraucht wird und um wieviel 
einfacher OTG ist. BTW, braucht das Keyboard dann einen USB-OTG-Stecker?

MfG,
#3600843
Lesenswert?

Christian R. schrieb:
> Der FX3 kann schon Host,

Wieder was gelernt, danke.
Darf man den Host Modus auch Benutzen? Du hast ja mal geschrieben, der 
FX3 lässt sich nur mit dem ThreadX RTOS nutzen und nicht Bare-Metall, 
also kann ThreadX auch USB Host?

Fpga Kuechle schrieb:
> BTW, braucht das Keyboard dann einen USB-OTG-Stecker?

Das Keyboard ist und bleibt Client. Das Gerät mit OTG Funktionalität 
(also das Gerät mit temporärer Host Funktionalität) hat eine OTG Buchse. 
So wärs gemäss Standard, in der freien Wildbahn sind auch Geräte mit OTG 
aber nur einer Client Buchse zu sehen.
#3600854
Lesenswert?

Christoph Z. schrieb:
> Darf man den Host Modus auch Benutzen? Du hast ja mal geschrieben, der
> FX3 lässt sich nur mit dem ThreadX RTOS nutzen und nicht Bare-Metall,
> also kann ThreadX auch USB Host?

Klar, soweit ich weiß, wurde die Host-Funtkionalität aber erst später 
ins SDK aufgenommen, ich glaube sogar erst in der 1.3.x Version. Du 
kannst den FX3 natürlich auch ohne ThreadX nehmen, aber dann musst du 
halt alles zu Fuß machen...
Moderator (Firma: Titel) Persönliche Seite #3602599
Lesenswert?

Fpga Kuechle schrieb:
> Üblichersweise wird ein FPGA mit einem externen Chip (cypress-FX2 war
> sehr beliebt) USB-2 fähig gemacht.
Wobei ich nicht so richtig sicher bin, ob und wofür eine mechanische 
Tastatur 480MBit/s zu übertragen hat. So schnell kann keiner 
irgendwelche Tasten drücken...

Kest schrieb:
> OT: "besseres" MIDI Protokoll? Was heißt das genau?
Würde mich auch interessieren, was mit "besser" gemeint ist.
#3603380
Lesenswert?

Lothar Miller schrieb:
> Fpga Kuechle schrieb:
>> Üblichersweise wird ein FPGA mit einem externen Chip (cypress-FX2 war
>> sehr beliebt) USB-2 fähig gemacht.
Einen solchen Chip habe ich auf dem PCB drauf. Weiters gibt es noch die 
Möglichkeit, einen ARM ins Spiel zu bringen (Cyclone 5).

> Wobei ich nicht so richtig sicher bin, ob und wofür eine /mechanische/
> Tastatur 480MBit/s zu übertragen hat. So schnell kann keiner
> irgendwelche Tasten drücken...
Solange sie on-/off überträgt ja, aber mittlerweie gibt es 
anschlagsdynamische Tastaturen, die den Druck und die Geschwindigkeit 
"analog" per Controller übertragen, statt einfach eine velocity Kurve im 
Synth zu benutzen. Das sind viel mehr Informationen. Und es geht auch um 
das Spielen in Echtzeit und damit das gleichzeitige Übertragen von 
Daten. Schau mal hier:

Beitrag "MIDI Clock in MIDI Timecode wandeln"

> Kest schrieb:
>> OT: "besseres" MIDI Protokoll? Was heißt das genau?
> Würde mich auch interessieren, was mit "besser" gemeint ist.

http://www.usb.org/developers/devclass_docs/midi10.pdf
http://www.midi.org/aboutus/projects.php

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren