www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB Controller > 12MBit/s


Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könntest einen Cypress FX2 nehmen, der schafft im isochronen Streaming 
die 24 MByte/s. Für 48MByte/s kontinuierlichen Datenstrom wird die 
Auswahl dann schon sehr beschränkt.

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es gibt für DVB-H-USB-tongles einen chip, der die emfangenen daten vom 
demodulator (normalerweise den MPEG2-stream) via USB an den PC 
streamt... vielleicht mal nach einem solchen chip umsehen?

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich brauche halt eine Lösung um die Daten an den PC zu schicken und dort 
in einem C# Programm weiterzuverarbeiten.

Autor: Andreas Auer (aauer1) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Theoretisch sollte das doch der Cypress FX2 Chip die vollen 48MByte/s 
auch schaffen, wenn er 480Mbit/s High Speed USB kann, oder?!

mfg
Andreas

Autor: Mighty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiss jemand wo man den her bekommt? Also in geringen Stückzahlen?

Digikey hatte den nicht als TQFP100 als ich letztens geschaut habe.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, schafft er nicht, mal ins Datenblatt oder hier rein 
http://download.cypress.com.edgesuite.net/design_r... 
schauen

Den Chip gibts bei Segor in Berlin.

Autor: Andreas Auer (aauer1) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK. Stimmt... das DIng schafft dann doch nur 24 MByte/s. Übrigens gibts 
den auch bei Farnell.

mfg
Andreas

Autor: Andreas Auer (aauer1) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was mir jetzt noch spotan eingefallen ist, wäre, dass du deine ADC Daten 
vor der Übertragung komprimierst. Also z.B. mit einem CPLD/FPGA (weiß 
nicht, ob es sich in einem CPLD ausgehen würde) und dann an den FX2 
gibst und an den PC sendest.

48MByte/s sind schon ziemlich viele Daten.... das wird sicher nicht mehr 
so leicht!

mfg
Andreas

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie könnte ich die Daten z.B. effizient komprimieren? Es handelt 
sich leider um dauernd schwankende Messwerte mit sehr wenigen Mustern.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du eigentlich eine Strategie, wie der angeschlossene PC mit dem 
Datenstrom zurechtkommen soll? Was soll der mit den anfallenden mehr als 
40 MByte/sec anfangen?

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okok... 48MB/s geht also nicht.
24MB/s ist aber möglich.
Muss reichen.
Mehr würde zwar mit Firewire gehen, aber dafür habe ich erst recht keine 
Lösung gefunden.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Firewire: www.orsys.de gibts nen fertiges Modul. Kann 32MByte/s isochron 
streamen.
Aber Vorsicht, sowohl bei USB als auch bei FW hat man im schnellen 
isochronen Mode keinerlei Flusskontrolle o.ä.
Datenpakete können schon mal verlören gehn.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht 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=508...]
bzw.
http://www.nxp.com/#/homepage/cb=[type=product,pat...]

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Alexander Liebhold (lippi2000)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.