USB Controller > 12MBit/s

Gast #667677
Lesenswert?

Guten Morgen!
Ich habe einen 8Bit ADC mit 48MSPS Samplerate und möchte dessen Daten an 
den PC senden.
Der bislang verwendete AT91SAM7x schafft diese Datenmenge jedoch nicht.
Kennt jemand einen Controller der diese Datenrate schaffen kann?
Im Notfall wäre ich auch schon mit 24MByte/s zufrieden.
Voraussetzung für mich wäre allerdings, das man das Teil noch Handlöten 
kann, also kein BGA.Ich habe eine gute Ausrüstung zur verfügung, aber 
eben nichts für BGA.
Danke schonmal im Voraus für eure Vorschläge!
Gast #669321
Lesenswert?

Also erst mal kurz und knapp: Geht nicht!

Der USB ist keine serielle Schnittstelle über die man einfach so viele 
Bits pumpt wie man will. Da gibt es ein Protokoll und das verbraucht 
Bandbreite und beschränkt wie viel Bandbreite ein Gerät überhaupt 
belegen darf (in der Wikipedia habe ich gerade eine Diskussion mit einer 
Flachzange die das nicht begreift...).

Unter kontrollierten Testbedingungen kann man nachweisen, das ca. 48MB/s 
transferiert werden können. In der Praxis haut das aber nicht hin, da 
das Betriebssystem nun mal noch andere Dinge zu tun hat als nur am USB 
zu lauschen. Mit viel Feintuning kommt man auf etwa 40MB/s, damit ist 
aber auch Essig wenn mehr Geräte auf dem Bus sind.
Gast #669723
Lesenswert?

Keine Flusskontrolle?
Und wie schafft es dann meine externe Festplatte 30-40MByte/s fehlerfrei 
zu übertragen?
Könnte ich ev. einen dafür gedachten Chip missbrauchen indem ich einfach 
so tue als wäre mein Messgerät ein externes Laufwerk mit einer einzigen 
Datei mit gefälschter Größenangabe und wenn ich die Datei kopieren will 
startet die Messund und die Daten (1-2GiB) werden eben nicht von einer 
Festplatte übertragen, sondern frisch erzeugt...
#669740
Lesenswert?

> Könnte ich ev. einen dafür gedachten Chip missbrauchen indem ich einfach
> so tue als wäre mein Messgerät ein externes Laufwerk mit einer einzigen
> Datei mit gefälschter Größenangabe und wenn ich die Datei kopieren will
> startet die Messund und die Daten (1-2GiB) werden eben nicht von einer
> Festplatte übertragen, sondern frisch erzeugt...

Ja, AppNotes gibt's dazu eigentlich von allen Herstellern (wobei sich 
die Auswahl an Hi-Speed-fähigen Controllern in Grenzen hält).
Man könnte auch einen 08/15 USB<->IDE-Adapter nehmen, wenn das einfacher 
ist...
oder sowas ISP1581 (TQFP) und 1582/83 (QFN)
http://www.nxp.com/#/pip/cb=[type=product,path=50803/53481/47806,final=ISP1581-06]|pip=[pip=ISP1581-06][0]
bzw.
http://www.nxp.com/#/homepage/cb=[type=product,path=/50803/53481/47806]|[5]
#669878
Lesenswert?

Die Festplatten laufen asynchron oer im Interrupt-Transfer. Allerdings 
kenne ich keine universellen Controller, die diese Geschwindigkeit 
schaffen. Ich nehme an, diese ATA-Controller sind FPGAs oder sowas, die 
das Protokoll in Hardware machen, deshalb sind die so schnell.

Die Idee mit der virtuellen HDD hatte ich auch schon mal, braucht man 
aber nen recht schnellen FPGA, der das ATA-Protokoll simuliert.
Dann kann man z.b. den leicht verfügbaren Cypress 68300 nehmen.
Gast #671243
Lesenswert?

Festplatten am USB laufen im Bulk-Transfer, das ist ein Modus mit 
gesicherter Übertragung, aber ohne gesicherte Übertragungszeit.

Grundsätzlich kann der USB immer nur pünktlich oder sicher, nicht 
beides.
#671982
Lesenswert?

Aber du kannst die Daten vorher Puffern. Also bei USB ist es üblich, 
dass möglichst viele Daten in einem Rahmen übertragen werden (1ms oder 
125us bei USB 2.0). Würden immer nur 8Bit übertragen, kommt man niemals 
auf die bandbreite. Also Puffern und anschließend in großen Paketen 
senden. Vielleicht kann man die Pakete vorher noch lauflängen Kodieren 
(worst case: 1010101010....Kompremierung=0%) oder vorher sogar noch mit 
Differenzwerten arbeiten (ähnlich wie bei MPEG z.B. ein original dann 5 
differenz und wieder 1 original usw.)

Wenn du absolut nicht bis auf 24Mbyte/s runter kommst, dann funktioniert 
der Isochrone Transfer nicht und du kannst nur noch auf USB 2.0 
wechseln. Aber selbst da kommst du nur auf diese Datenraten, wenn du 
große Blöcke verschickst.

Gruß Alexander

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