mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 14Bit Oszilloskop


Autor: KaptainChaos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!!!

Folgendes Problem:
Wir sollen vier A/D Wandler mit je 14Bit Auflösung und einer Abtastrate 
von 7,5MHz ein Oszilloskop realisieren. Die Daten der vier parallel 
arbeitenden A/D Wandler sollen dann in einen seriellen Datenstrom 
umgewandelt werden und per Schnittstelle zum PC übermittelt werden.
Damit kommen wir auf eine Datenübertragungsrate von 420MBit/s.
Die Frage stellt sich nun nach einer passenden Schnittstelle, die den 
Anforderungen genügt.
Zur Auswahl stehen da USB2.0, Gigabit Ethernet und FireWire in der 800 
Version.

USB2.0 besitzt nach unserer Recherche eine Bruttodatenrate von 
480MBit/s, wovon aber nur ca. 288MBit/s bis 384MBit/s übrig bleiben. 
Nach diesen Angaben würde USB schon mal wegfallen.

FireWire800 bringt es da schon auf eine Nettodatenrate von 480MBit/s bis 
640MBit/s. Dies sollte ja ausreichen.

Gigabit Ethernet schafft 600MBit/s bis 800MBit/s und reicht damit aus, 
ist aber damit auch total über qualifiziert.

Haben hierzu nach einer Recherche folgende Faustformel verwendet:
Nettodatenrate = (60% bis 80%) der Bruttodatenrate. Dies variiert je 
nach Anwendung.

Uns würde nun interessieren, welche dieser Schnittstellen sich dafür am 
Besten eignet.

Mit freundlichen Grüßen und besten Dank im Voraus.

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm, wär's nicht gescheiter, die Daten erstmal in der Hardware 
zwischenzuspeichern und dann gemütlich zum PC zu übertragen? Eine 
genügend schnelle Übertragung wirst du möglicherweise schon finden, aber 
hast du schonmal überlegt, was der PC mit dem Datenvolumen anstellen 
soll? Den grössten Teil davon wird er wohl verwerfen, weil der eh nicht 
dargestellt werden kann.

Autor: 1378 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das uebliche Vorgehen ist eine Tracelaenge zu definieren, diesen 
Speicher zu fuellen und dann zum PC zur Visualisierung zu senden. Dass 
man nur eine von 1000 oder so moeglichen Traces anzeigt ist ist 
offensichtlich. Mehr als 10 oder so Traces pro Sekunde anzeigen zu 
wollen macht keinen Sinn.

Eine normale Tracelaenge ist zB 1k punkte. Falls man nachtraeglich noch 
zoomen koennen soll, so kann man auf 1e6 punkten pro Trace gehen.

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Damit kommen wir auf eine Datenübertragungsrate von 420MBit/s.

Also ich wuerde mal sagen wenn Du das wirklich vorhast, ist das ein 
typischer Fall von "broken by Design(tm)". Wie schon gesagt wurde ist es 
ueberaus unsinnig, mehr Daten zu uebertragen, als auch ausgewertet 
werden koennen. Ohne einen schnellen Zwischenspeicher und ein sinnvolles 
Kommunikationsprotokoll wirst Du demnach nicht herumkommen, wenn diese 
Entwicklung auch was taugen soll.

Michael

Autor: Uwe Bonnes (Firma: TU Darmstadt) (uwebonnes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ersteinmal wirst Du die daten wahrscheinlich auf 16 bit "padden" wollen, 
sonst wird das "auseinanderklabuestern" im PC schwerer. Wenn Du mit der 
Datenrate  http://www.heise.de/runtergehen kannst, wuerde sich eine USB2 
Loesung aehnlich den Softwareradio USRP anbieten.

Fuer Firewire habe ich noch kein Projekt entsprechend USRP gesehen. 
Gigabit Ethernet duerfte auch problematisch werden.

Wie sieht es mit PCI-Express aus?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also das hört sich erst mal ziemlich heavy an.

Habt ihr schon analysiert, ob die Übertragungsrate überhaupt sinnvoll 
ist?

- Soll das ein Datenlogger werden für so hohe Geschwindigkeiten?
- Wie wollt ihr die Daten aufzeichnen? Festplatte?
- Sollen die Daten online angezeigt werden ;-)

- Was ist die maximale Aufzeichnungsdauer? Hier sollte man sich wirklich 
an der Applikation orientieren, sonst wird das alles nur unnötig 
kompliziert.
- An was für ein "System" habt ihr gedacht? FPGA, DSP...

- bei Oszis wird ja auch nicht alles aufgenommen. Es gibt einen Trigger 
und dann wird der Speicher/Bildschirm voll geschrieben, bis der Trigger 
das nächste mal zuschlägt.

Falls ihr wirklich diese Anforderungen erfüllen müsst, wünsch ich euch 
viel Erfolg. Wenn ihr nicht zu sehr unter Erfolgs-/Zeitdruck steht, 
könnte das vielleicht sogar was werden und man lernt ne Menge dabei. 
Unter Umständen könnt ihr ja weiter berichten, was daraus geworden ist.

Gruß
Gast.

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.