Forum: FPGA, VHDL & Co. Fifo


von Dirk (Gast)


Lesenswert?

Hallo,

ich komme mit meiner USB Fifo Anbindung nicht so recht weiter. Um mein
fachliches Wissen zuerweitern hab ich das Internet nach Beispielen
abgesucht und habe hier dieses Interface gefunden.
http://www.hdl.co.jp/ndoc/EXP_USB/USB_ARBITER.vhd

Irgendwie verzweifel ich am bidirektionalen Bus.

USB_DATA : inout  std_logic_vector( 7 downto 0 );

Das sind die Daten die vom USB Baustein empfangen und gesendet wurden.

TG_DO    : out std_logic_vector( 7 downto 0 );
TG_DI    : in  std_logic_vector( 7 downto 0 );


Wofür sind aber diese beiden Register? Beide 8Bit Register sind zum
senden / empfangen. Wofür benoetige ich diese ? Kann ich nicht direkt
die Daten in USB_DATA schreiben/lesen?

Ich hoffe jemand erbarmt sich und kann mir mal auf die Sprünge helfen.

Gruß,
Dirk



TG_DO    : out std_logic_vector( 7 downto 0 );
TG_DI    : in  std_logic_vector( 7 downto 0 );

von schlumpf (Gast)


Lesenswert?

welche Register meinst du denn?
Kannst du mal posten, wie das im Gesamten aussehen soll?

Du hast vermutlich einen FPGA, an dem Du nen USB-Controller
angeschlossen hast, oder?

Und jetzt willste wissen, wie man mit dem Ding quatscht?

von Dirk (Gast)


Lesenswert?

Hi,


>welche Register meinst du denn?

Diese Register meine ich:

TG_DO    : out std_logic_vector( 7 downto 0 );
TG_DI    : in  std_logic_vector( 7 downto 0 );

>Kannst du mal posten, wie das im Gesamten aussehen soll?

http://www.hdl.co.jp/ndoc/EXP_USB/USB_ARBITER.vhd

>Du hast vermutlich einen FPGA, an dem Du nen USB-Controller

Jip, z.B. ein FTDI245 im FIFO Mode.

>Und jetzt willste wissen, wie man mit dem Ding quatscht?
>angeschlossen hast, oder?

Vom Prinzip her ist es nicht so schlimm. Erfolgreich hab ich den
Baustein an einem AVR benutzt, aber VHDL ist immer noch recht
unverstaendlich für mich. Irgendwo fehlt mir das Hintergrund wissen
oder ich hab etwas wichtiges uebersehen.

Gruß,
Dirk

von Dirk (Gast)


Lesenswert?

Hi,

nachdem man sich komplett von seinen eignen Gedanken geloest hat wird
alles verstaendlicher. USB DATA ist die externe Datenanbindung und TDO
/ TDI für den internen Datenbus.


Gruß,
Dirk

von schlumpf (Gast)


Lesenswert?

Hi, also bei TG_DO und TG_DI handelt es sich nicht um Register, sondrn
um Ports, die in Abhängigkeit des Zustandes der FSM durchgeschaltet
werden. (soweit ich das auf die Schnelle überblickt habe)
Und den Code, den du da hast, ist sicher nur ein Teil eines Designs.

Aber nachdem du ja offensichtlich selber schon dahintergekommen bist,
wie es funktioniert, dann ist ja alles prima

Gruß

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.