Forum: Mikrocontroller und Digitale Elektronik usb2 controller


von hofer tobias (Gast)


Lesenswert?

hallo

kennt jemand einen usb zwei controller?
ich stelle mir einen controller vor der einen paralellen datenbus
i_o hat und dann den rest selbst erledigt, d.h. die datenübertragung.

gruss tobias

von Jim (Gast)


Lesenswert?


von tobias hofer (Gast)


Lesenswert?

ich habe was passendes gefunden.
den ft245bm chip von ftdi.
hat jemand schon erfahrung mit diesem paralell usb chip gemacht?

ich möchte diesen chip mit einem fpga ansteuern für maximale
performance.

gruss
tobias

von tobias hofer (Gast)


Lesenswert?

nun habe ich mal das datenblatt überflogen. vom handling her ist
mir dieser chip wirklich sympatisch. lediglich die maximale performance
von 8Mbit/s ist eine einschränkung.
kennt vieleicht jemand etwas vergleichbares jedoch schnelleres?

tobias

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wenn dein FPGA dick genug ist: http://www.opencores.org/projects/usb/

von Chaldäer (Gast)


Lesenswert?

Hi,
Es gibt von diversen Herstellern USB 2.0 Controller. Such doch mal auf
der Atmel-Seite. AT43USBxxx oder so...
Phillips und Siemens haben, soweit ich weiß, auch ein paar im Programm.


Ich weiß zwar nicht was Du damit vorhast, aber ich sehe da ein paar
Probleme, einen solchen Controller mit Daten zu versorgen.
Ein AVR, korrigiert mich, falls ich mich hier schwer danebenliege, wird
beispielweise mit 10MHz betrieben.
Das heißt, er könnte bei ständigen OUTs an einen Port 80MBit/s
raushauen. Bei einem zusätlichen Verwaltungsoverhead von neun Befehlen
liegst Du bei wieder 8MBit/s. Und zehn Befehle sind nicht viel.
Eine kleine Schleife mit Decrement und Jump braucht zwei...
Der OUT einen...
Die fertigen Werte aus einem RAM suchen auch so drei bis vier...
Dann noch Protokolle... (grob geschätzt)


Gruß,
Chaldäer

von Chaldäer (Gast)


Lesenswert?

Ups, sorry...

den FPGA hatte ich überlesen....

von tobias hofer (Gast)


Lesenswert?

hallo andreas

ich arbeite mit einem spartanxc2s100.
100k gatter. mal schauen ob ich das vernünfit implementieren kann.

danke für den hinweis.
tobias

von Jörn Gerhard (Gast)


Lesenswert?

Hi,

das Core aus Opencore ist wohl eher ein Host, als der wohl hier
benötigte Slave. Der FTDI ist USB1.1 und nicht 2.0.
Die beliebtesten USB2.0 Controller kommen von Cypress, aber es
erfordert immer recht viel eigenen AUfwand auf Treiberseite. Nicht
gerade trivial.

Ich habe mal eine ATA-Schnittstelle in einem FPGA (Spartan-II)
implementiert incl. einer Festplatten und Dateisystem-Emulation. Da
kann man dann einen beliebigen Firewire oder USB2.0
ATA-Bridge-Controller ranhängen (gibt es schon für ca. 10,- EUR z.B.
von Cypress) und benötigt im Idealfall GAR KEINE Treiber, da
Festplattentreiber in jedem Betriebsystem bereits eingebaut sind!

Man greift dann über virtuelle Dateien, ganz simpel über
Dateioperationen auf z.B. Mess-Daten zu.

Erreicht habe ich ohne große Optimierung (ich war noch blutiger
FPGA-Neuling) max. 40 MBit. Allerdings führen schon geringfügig
schlechte Programmierung auf WIndowsseite (z.B. zu kleine Daten-Blöcke)
zu großen Geschwindigkeitseinbußen. (8MBit sind leicht zu erreichen)


Veröffentlichen werde ich meine Arbeit nicht einfach so (noch nicht),
aber wer eine interessante Anwendung (z.B. etwas wissenschaftliches)
hat und die nötige FPGA Erfahrung mitbringt, kann sich ja melden. Ein
Bild sehen kann man hier:
http://www.jg-ic.com/de/simudisk.html

Kommerzielle Interessen verfolge ich bei diesem Projekt nicht, da ich
nicht den dafür nötigen Support leisten kann/will!


Grüße, Jörn.

von tobias hofer (Gast)


Lesenswert?

hallo jörn

ich bin am entwickeln eines messsystemes. in meinem fpga möchte ich
einen dds-signalgenerator implementieren. der fpga wird mit einem
ds89c420 angesteuert. der ds89c420 übernimmt des weiteren ansteuereung
eines lcd,einlesen von tasten usw.
das ist so der erste teil des projektes.

des weiteren möchte ich eine fft-analyse des ausgangssignal meines
messobjektes machen.
das heisst das testsignal wird mit dem dds generator generiert.
das ausgangssignal wird ad gewandelt. wobei dieser ad wandler wiederum
für die benötigte geschwindigkeit vom fpga angesteuert wird.
damit ich die daten nicht zwischenspeichern muss möchte ich die via
paralell usb chip zum pc senden. (dafür habe ich der einfachheithalber
mal den ftdi ausgewählt)
die empfangenen daten auf der pc seite werde ich dann mittels matlab
analysieren.

sollte die die anwendung interessieren können wir ja mal per email
kontakt aufnehmen.
hofertobias@hotmail.com

gruss
tobias

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.