Wo gibts USB 3.0 ICs?

Gast #1997464
Lesenswert?

Hallo Freunde,

die Frage finde ich eigentlich sehr gut. USB 3.0 Controller.
Derzeit benutze ich den FX2 von Cypress, um Daten von einem FPGA via 
USB2.0 in den Rechner zu kriegen.
Nun benötige ich eine höhere Datenübertragung.
Ich weiß, dass es einen Atmel-Controller geben soll mit USB 3.0.
Da ich mich jedoch in die FX2 Controller eingearbeitet, wäre mir Cypress 
natürlich am liebsten. Hat jemand eine Idee?

Danke schonmal
Gast #2067197
Lesenswert?

Hi Olli.borg

könntest du uns mit deiner Erkenntnis helfen? Laut Cypress würde es 
schon vor über einem Jahr einen FX3 geben. Aber derzeit gibt es meines 
Wissens noch nicht mal Engineering Sample, zumindest nicht für kleine 
Firmen.

Wir verwenden derzeit auch schon den FX2 von Cypress und sind zufrieden 
damit!

Auch ich bin über jeden Hinweis über USB 3.0 Controller dankbar!


Hinweis:
Eine reine FPGA Lösung mit/ohne TIs USB 3.0 Phy ist für uns wg. dem 
benötigten IP Core nicht wirtschaftlich.


Gruß
MS
#2141805
Lesenswert?

Mittlerweile gibts auch auf der Cypress Homepage was: 
http://www.cypress.com/?id=3526
Preliminary Datenblatt ist auch verfügbar. Interessant ist, dass das 
Slave FIFO Interface offenbar ziemlich kompatibel zum FX2 ist, nur halt 
jetzt mit mehr Dampf. 100MHz/32 Bit....es entwickelt sich, 
Genossen....mal sehen, wann es ein Demoboard gibt.
Gast #2143433
Lesenswert?

laut 
http://www.elektroniknet.de/kommunikation/produkte/kommunikations-ics/article/78255/0/USB_30_fuer_alle/ 
soll die "interne Bus-Architektur auf das vierfache der 
USB-3.0-Geschwindigkeit ausgelegt" worden sein....

wie kommen die den darauf wenn der FX3 "nur" ein 100Mhz * 32Bit Bus 
besitzt?
da kommt man auf 3,2 GBit/s. usb 3.0 kann (wohl auch noch full duplex) 
5GBit/s ???

grüße
#2143568
Lesenswert?

Die kommen vielleicht nicht so schnell auf die Pins. Beim Parallelbus 
ist 100MHz schon sportlich. Könnte man noch mit DDR machen, aber 
irgendwann ist dann Schluss. Zumal einem ja schon wieder schlecht wird, 
wenn man das Datenblatt anguckt: Zeit die die Flags zum Setzen brauchen: 
8ns. Setup-Zeit für die Steuersignale und Daten: 2ns. Herrlich, bei 
100MHz hat man im worst case genau 0ns um zu überprüfen, ob der FIFO 
voll ist, und das WE entsprechend wegzunehmen. So macht das Spaß, aber 
das kennt man ja vom FX2 schon.
#2143745
Lesenswert?

Naja, zumindest der aktuelle FX3 ist dafür nicht ausgelegt. Für schnelle 
LVDS Verbindungen braucht man ja gescheite SERDES da drin...da wäre man 
wann fast bei der FPGA Lösung. Ich hab auch noch nicht durchschaut, ob 
es wie beim FX2 so ein Auto-OUT und Auto-IN gibt, so dass der ARM da 
drin entlastet wird. Die Beispiele laufen über Interrupts....ob das dann 
schnell genug geht, ist fraglich. Naja, mal ein DemoBoard abwarten...
#2146787
Lesenswert?

Interessant wäre auch, welchen Treiber der überhaupt nutzt? Läuft das 
dann über den CyUSB.sys wie gehabt? Ich steck in der USB Stack Materie 
nicht so drin, ist das eventuell auf der oberen Ebene dann egal, ob per 
USB 2.0 oder 3.0 angeschlossen? Aber bei 3.0 gibts ja jetzt auch DMA 
Transfers usw. Na mal sehen. Wir haben erst mal Samples angefragt, soll 
es ja jetzt geben.
Gast #2147289
Lesenswert?

Vor dem Treiber Chaos fürchte ich mich jetzt schon. Ich habe CyUSB.sys 
schon nicht gut in Erinnerung behalten...
Windows unterstützt weder xhci noch uasp. Falls man einen Treiber für 
ein USB 3.0 Device schreiben will, muss man den proprietären Stack vom 
Host-Controller Hersteller verwenden. Und ich wage zu bezweifeln, das 
die verschiedenen Hersteller-Stacks kompatibel zu einander sind.
Btw.:Auch die ehci-Controller unterstützen DMA-Transfers.
#2152513
Lesenswert?

So, jetzt reichts dem Ober-Softwareentwickler, wir bauen auch um auf 
WinUSB. Der CyUSB Treiber, selbst in der aktuellen Version, schreibt 
wild im Speicher rum, nachdem er gemeldet hat, das der asynchrone Read 
beendet ist....grauenvoll. Eine Weile gings ganz gut jetzt, aber nun 
fällt uns der Mist wieder auf die Füße. Hoffentlich gibts mit WinUSB 
nicht solche Probleme.

Wie ist das überhaupt bei der Treibersignierung eines WinUSB Treibers? 
Den Treiber an sich hat man ja selber gar nicht, der befindet sich ja 
schon im System. Wird da nur das Paket (inf und coinstaller Dateien) 
dann zu MS hochgeladen mit den Testergebnissen? Hat das schon mal wer 
gemacht?
#2161265
Lesenswert?

Mal als Status-Meldung: Die Umstellung auf WinUSB war erstaunlich 
einfach, und was noch erstaunlicher ist: Schon ohne Optimierungen 
liefert der WinUSB eine leicht bessere Performance als der CyUSB 
Treiber. Seltsam. Und bisher noch keinerlei Probleme, selbst mit 
riesigen Paketen nicht. Jetzt warten wir auf die Verisign ID (gibts 
momentan für 99 USD in der Aktion) und dann kann der auch endlich mal 
Win 7 fit gemacht werden. Zum Glück reicht es da dann, das inf zu 
signieren, dann kommt nur noch die Nachfrage, ob man dem Hersteller 
vertrauen will. Sehr bequem.
#2276658
Lesenswert?

Also das Board funktioniert erst mal. Bekommen haben wir es als Leihgabe 
für die Dauer der Evaluierung direkt vom Cypress Vetreter in 
Deutschland. Wir haben aber vorher auch schon ziemlich viele FX2 
verbaut, deswegen ging das wahrscheinlich dann.
Ist alles noch im Beta Stadium, aber Eclipse mit ARM-GCC und dem FX3 SDK 
geht gut, auch Debuggen über den J-Link klappt einwandfrei, nur bringt 
nicht allzuviel, weil Windows dann immer mal Gerätefehler meldet, wenn 
man in einem Breakpoint steht.
Die Doku ist noch unausgereift, es ist zum Beispiel nirgens erklärt, wi 
die Register für den Slave FIFO Modus beschrieben werden. Da gibts zwar 
Beispiele, aber da sind nur 32 Bit Hex-Werte ohne Erklärung drin.
Wir sind momentan dabei, eine Kabel-Verbidung zwischen dem 120-poligen 
Samtec Stecker und unserer Hardware herzustellen, das dauert aber noch 
etwas. Erst dann kann ich den Slave FIFO Modus nutzen.
Aber anscheinend geht der FIFO Modus (bisher?) nicht mit 32 Bit 
Busbreite. Wenn das wirklich auf 16 Bit limitiert ist, sinkt die 
maximale Übertragungsrate auf gerade mal 120 bis 140MB/s. Denn mit 
100MHz kann man den kaum fahren, das Timing ist wieder mal grandios. Die 
Flags brauchen max. 8ns zum Setzen/Rücksetzen, da hat man dann gerade 
mal noch 2ns Zeit um das Schreiben/Lesen abzubrechen. Und 2ns ist aber 
auch die minimale Setup-Zeit für RD/WR. Naja, etwas langsamer gehts 
sicher. War ja beim FX2 genauso.
Ich melde mich wieder, wenn es was neues gibt. Anfangs wollten die ja 
ein NDA haben und auch noch die Bestätigung, dass selbst der Abschluss 
des NDA vertraulich ist. War aber dann doch nicht mehr nötig, weil die 
meisten Infos mittlerweile eh auf der Homepage sind.
Gast #2311401
Lesenswert?

Nur der Vollständigkeit halber noch der Hinweis auf die PLX-Chips. Die 
haben aber leider PCIe als Interface was einem entweder nur bei wenigen 
Hammer-CPUs im GHz-Segment oder bei FPGAs mit PCIe-Core was bringt. Hat 
aber so was von Teufel mit dem Belzebub austreiben.


http://www.plxtech.com/products/usbcontrollers/usb3380
http://www.plxtech.com/products/usbcontrollers/usb3382
#2362266
Lesenswert?

Kleines Update meinerseits. Nachdem im Cypress Forum einige Tipps zur 
Performance-Steigerung des FX3 gepostet wurden, habe ich mal testen 
können. Ich erreiche im BULK Modus mit 16 Packets per Burst hier an 
meinem Windows 7 x64 Rechner mit NEC xHCI Controller 160 MB/s IN und 108 
MB/s OUT. Die gleichen Geschwindigkeiten liefert übrigens der WinUSB 
Treiber ohne jegliche Modifikation. Offenbar kann der mit der normalen 
BULK SuperSpeed Übertragung problemlos umgehen. 1GB in 6 Sekunden, das 
geht ordentlich :)
#2362564
Lesenswert?

Noch gibt es den Chip nur als Sample und die Boards über Cypress an 
Kunden auf Anfrage. Da der simple Logic Analyser über das GPIF Interface 
lief, nehme ich an, dass lässt sich mit dem GPIF-II ebenfalls 
realisieren. Die maximale Frequenz ist 100MHz beim FX3. Dafür aber dann 
32 Bit breit. Schön ist auch die große Menge an RAM, es gibt keine 
Hardware FIFOs, die Endpoint und GPIF Fifos sind im RAM und der Transfer 
geht per DMA. Man kann bis zu 64kByte Speicher dafür reservieren.
#2387731
Lesenswert?

Hi,

ja ich nutze den gelben Segger zusammen mit der J-Link via GDB Software. 
Geht ganz gut, bringt aber nur im Notfall was. Wenn man nämlich in einen 
Breakpoint läuft, bricht die USB Kommunikation zusammen und Windows 
meldet Fehler. Mittlerweile habe ich 160MB/s IN BULK geschafft. Hast du 
die aktuelle Doku und das SDK von dem FTP? Wichtig ist auch das Forum, 
ich bin ja dort auch viel unterwegs (Chris R.).
Gast #2387784
Lesenswert?

Hi,

ja ich habe mir die Doku runter geladen. Ich steh noch ganz am Anfang 
und muss sagen, mit dem FX2 war das alles einfacher. Jetzt habe ich mir 
mal den Schematic besorgt um mal meinen Xilinx JTAG Adapter dran zu 
hängen, aber so richig wills nicht funktionieren. Da wird wohl 
zwangsläufig so einer von Segger fällig werden. Das nächste ist der 
Samtec Connector. Nirgends ist beschrieben was für ein Typ das ist. Ich 
wollte mir mal einen Adapter besorgen um ein Spartan6 Board mit dran 
zuhängen... das wird wohl auch noch Probleme geben.

160MB/s mehr geht nicht? Oh got, ich habe gehofft die 320 vom GIPF2 kann 
man voll ausreizen. Hmm da werde ich wohl parallel noch mal mit dem PLX 
testen müssen.

Gruß Marco
#2387930
Lesenswert?

Welcher Samtec das ist, steht im Schaltplan. Bei Samtec gibts auch 
passende HighSpeed Kabel dazu. Aber so viel einfacher war der FX2 auch 
nicht. Klar, der ARM9 ist eine Ecke schärfer als der 8051, aber durch 
das API eigentlich recht durchsichtig programmierbar. Xilinx JTAG wird 
nicht gehen, es sei denn, du bekommst den gdb-server irgendwie dazu, den 
zu benutzen. Amontec JTAG Key und auch sonstige ARM-Billig-Debugger 
sollten aber alle klappen.
Im Forum hat einer mal 220...260MB/s geschafft, aber das konnt ich nicht 
rausholen. Die 320MB/s ist der theoretische Wert am GPIF II, der schafft 
ja nichtmal die 100MHz im 32 Bit Modus.
#2389897
Lesenswert?

Ich hab noch gar kein Kabel genommen. Ich hab nur mal in den Katalog 
geschaut, und gesehen, dass man die bei Samtec machen lassen kann. Von 
der Stange gibts die eigentlich nie. Wir bekommen da eigentlich immer 
2...3 als Muster, sind aber auch gute Kunden bei Samtec, Preise kann ich 
daher keine nennen. Für die Verbindung zu unserer bisherigen Elektronik 
muss ich auch bissl basteln, ich werd eine Platine machen, die die 
beiden Mictor-Stecker bedient und von der Platine mit einem vorhandenen 
Samtec Kabel weggehen.
Gast #2397451
Lesenswert?

Hallo Christian,

jetzt versteh ich dich mit dem grandiosen Timing :) ... 8ns brauchen die 
flags zum Setzen. Da bleiben noch 2ns Zeit zum Abbrechen... so lang sind 
vielleicht schon die Signallaufzeiten wenn es bissel warm ist.
Der Asynchrone Mode sieht noch viel schlimmer aus. twrl ist dort 
20ns...gehts noch, da geht ja gar nichts rüber...

Wie hast du eigentlich das GIPF getestet ohne Hardware?

Gruß Marco
#2397498
Lesenswert?

Ich hab einfach einen Quarzoszillator drauf löten lassen (mit 
doppelseitigem Klebeband befestigt) und mit CuL Draht die Steuersignale 
fest verdrahtet, dass der immer IN Transfer macht. An die Widerstände da 
kommt man ganz gut ran.
Naja, das mit den Flags ist nicht so wild, wenn man davon ausgehen kann, 
dass Werte, die in das volle FIFO geschrieben werden, auch wirklich 
nicht übernommen werden. Das haben wir im FPGA Forum schon mal für den 
FX2 diskutiert. Wenn man das Signal mit einem FF übernimmt, kommt man 
hin. In unserer Anwendung werden wir aber mit 62,5MHz und 32 Bit fahren, 
da entspannt sich das sowieso. Ich vermute, mehr als die 160...200MB/s 
wird der eh nicht schaffen, da bringen 100MHz IFCLK nix. Zumal das GPIF 
II ja nur bis 320MB/s spezifiziert ist...
Gast #2496040
Lesenswert?

Hallo

>  Seit gestern gibts auch das SDK in der Version 1.0
zum offiziellen Download.

Seit wir das neue SDK verwenden geht kaum noch was.
-I2C macht ständig andere Spannungspegel
-I2C 1MHz mode hängt sich ständig auf
-UART verschlugt nach ersten USB-DMA Transfer ständig Zeichen und 
printet dann nur noch Mist

...und und und

Ein Grauen mit diesem Teil


Gruß Marco
#2512410
Lesenswert?

'nabend allerseits.

Hier sind auch die Volumenpreise:

1-10 - $38.45
11-100 -$34.60
101-1000 -$31.14
1001 + - $27.30
Quelle: Cypress Webseite.

Wenn ich so lese, welchen Spaß Ihr mit dem Teil habt, bin ich froh dass 
sich mein Projekt verschoben hat und ich nicht schon wieder als erster 
durchs nasse Gras laufen muss. Aber dieses Jahr muss ich an diese 
Baustelle auch ran und bessere Chips sind auch noch nicht abzusehen, 
nachdem TI einen Rückzieher gemacht hat..
#2512430
Lesenswert?

Naja, wir haben ja auch am Beta Test teilgenommen. Das Demoboard ist 
beta, der Chip an sich, die Datenblätter, das SDK. Mittlerweile ist 
alles als Release verfügbar und da klappt das eigentlich alles. Und wie 
bei jedem anderen Chip auch, gibts natürlich ein paar Einschränkungen 
und Seltsamkeiten. Das war beim FX2 nicht besser. Trotzdem ist es DER 
HighSpeed Controller, das wird beim FX3 nicht anders. Bisher gibts 
nichtmal eine Ankündigung anderer Hersteller.
#2551811
Lesenswert?

Hi,

läuft gut, ich konnte mittels Demoboard und Adapterplatine den FX3 in 
die bestehende Hardware integrieren. Bei Nutzung des 16 Bit Slave FIFO 
Interfaces musste nichts an der Software auf PC Seite geändert werden. 
Läuft perfekt mit WinUSB. Den verbuggten Cypress Treiber braucht man 
nicht. Für unsere neue Hardware wird dann gleich der 32 Bit Bus 
verwendet. Das Gerücht kenne ich nicht, woher kommt das? Wäre mir 
persönlich egal, da ist eh ein FIFO dran. Ansonsten haben wir jetzt auch 
eine Platine gemacht, um das Demoboard mit dem QSH Stecker über Kabel an 
die FMC der Xilinx Boards anzuschließen. Just nachdem das fertig war, 
kündigt Cypress ein FMC Board eines Partners an. Das soll wohl Ende März 
lieferbar sein. Auch gut, mal sehen, was das kostet: 
http://solutions.inrevium.com/products/fmc/peripherals_debug/index.html
Gast #2552335
Lesenswert?

Hi,

das mit dem FMC Board habe ich auch schon gesehen. Meine Platine ist 
auch schon drei Wochen da und geht gut. Lesen und Schreiben übers GPIF 
klappt ganz gut, bis auf paar Kleinigkeiten die ich nich mit dem Support 
klären muss. Wir nutzen den USBIO von Thesycon. Der funzt super. Ein 
Kollege von mir ist gerade bei einem Standardisierungs Treffen. Da 
stellt sich gerade raus, dass viele diesen Cypress nutzen und einige das 
Thema aufgebracht haben. Die scheinen schon mit Cypress gesprochen zu 
haben. Im FX3 ist das umstellen kein Akt, im FPGA wird auch noch gehen 
aber das Anpassen des Hardware Layouts nervt mich jetzt schon und kostet 
wieder.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.