Dies hängt von der Bandbreite und der Latenz ab. Nehmen wir für ein einfaches System eine Sonde mit 100 MHz Bandbreite mit 1GS / s Abtastrate und einen 10-Bit-A / D-Wandler an (ich habe schlechte Erfahrungen mit 8-Bit-Bereichen gemacht).
Ich möchte eine Echtzeitanzeige auf dem PC mit einem minimalen Abtastfenster von beispielsweise 10 ns - 1 Zyklus einer 100-MHz-Sinuswelle und einem maximalen Fenster von (ich werde Ihnen in dieser Zeit großzügig sein) einer halben Sekunde. Mit anderen Worten, die niedrigste Zeiteinstellung ist ungefähr 1ns / div und die höchste ist 0,05s / div. Ich möchte auch mehrere Spannungsmodi - 100 mV-Bereich bis zu 20 V sagen wir.
Welche Datenraten sind damit verbunden?
1 Gs / s * 10 Bits / Abtastwert = 10 Gbits / s
Das sind keine USB-Geschwindigkeiten. Weit davon entfernt. Und ich habe nicht einmal die Gemeinkosten berücksichtigt. Zunächst einmal haben Sie einfach nicht die Bandbreite. Und es ist nicht nur Bandbreite. Für Ihre Echtzeitanzeige müssen Sie konsistent sein. Sie müssen 100 Bit in Ihre Anwendungsebene übertragen alle 10 Nanosekunden . Diese Art von Konsistenz kann nicht über USB erreicht werden. Es ist nicht dafür ausgelegt, ein Gerät mit extravaganten Anforderungen zu bedienen - es ist als Bus konzipiert. Und Sie können nicht kontrollieren, wann Sie den Bus besitzen - die Geräte sind nur Slaves. Wenn der Host ein anderes Gerät sprechen lässt, wenn Sie Daten senden müssen, gehen Ihre Daten verloren.
Sie weinen vielleicht schlecht - warum sollten Sie Echtzeitdaten auf den Computer übertragen, wenn die Echtzeitfrequenz für eine Person 60 Hz beträgt? Wenn Sie lediglich die Anzeige aktualisieren müssen, benötigen Sie mit Sicherheit nicht so viele Daten. Außer Sie - Ihre Anzeige ist eine lineare Kombination aller von Ihnen gesammelten Samples. Gemittelte, approximierte kubische Spline-Interpolation mit kleinstem Mittelwert im Quadrat - das spielt keine Rolle. Um eine schöne, hübsche Anzeige zu erstellen, die nicht nur aus vielen Punkten besteht, benötigen Sie die meisten dieser Daten und müssen sie nachbearbeiten. Irgendwelche Auslöser? Die Berechnungen müssen auf dem Host durchgeführt werden - auf der Anwendungsebene. Egal wie Sie es in Scheiben schneiden, für Echtzeit-Anzeigen mit 1GS / s-Raten für jede verdammt hohe Genauigkeit müssen Sie um Größenordnungen mehr Daten übertragen, als USB verarbeiten kann, und Sie müssen dies zuverlässiger tun als Sie. '
Wie gehen Sie damit um? Mach keine Echtzeit-Anzeige. Einige USB-Bereiche bieten nur ausgelöste Modi an. Die Auslösung erfolgt auf dem Gerät und wenn ein Auslöser gefunden wird, werden Daten in einem Puffer gesammelt. Wenn der Puffer voll ist, überträgt der USB-Bereich ihn langsam an die Anwendung und zeigt ihn dann an. Das reicht für viele Anwendungsbereiche aus, ist aber nicht in Echtzeit. Und der Transfer - das dauert auch eine Weile. Das ist unpraktisch. Und normalerweise saugen die Fahrer. Sie können sagen, dass ich schlechte Erfahrungen gemacht habe.
Ich habe mich immer gefragt, warum Firewire nicht für Oszilloskope verwendet wurde. Es vermeidet einige der Kopfschmerzen von USB. Es ist Peer-to-Peer, bietet isochrone Modi (konsistentes Timing) und eine relativ hohe Bandbreite. Damit können Sie möglicherweise ein 10-MHz-Echtzeit-Oszilloskop erstellen.
So sprechen Sie Ihre Punkte nach der Bearbeitung an:
Die Verwendbarkeit eines Oszilloskops steigt mit dem Preis enorm. Wenn Sie den Sprung von einem 200-Dollar-USB-Bereich zu einem 500-Dollar-Standalone schaffen, erhalten Sie eine enorme Steigerung der Funktionen und Grundfunktionen. Warum nur 200 US-Dollar ausgeben, wenn Sie für ein bisschen mehr Spielraum haben? Jetzt, da China die Schleusen billiger, effektiver Bereiche geöffnet hat, gibt es kaum einen Grund, 300 Dollar sparen zu wollen, was Sie später nur frustrieren wird. Die "ausgefallenen" Bereiche, die diese Funktionen haben, sind heutzutage billig.
Ja, es ist mit USB einfacher, die Datenübertragung auf konsistente Daten im Wert von etwa 60 Hz zu beschränken, aber Sie möchten dies immer noch nicht tun. Vergessen Sie nicht Ihre DSP-Klassen - nur das Abrufen bestimmter Daten aus dem Stream führt zur Dezimierung. Wenn Sie dezimieren, müssen Sie Antialiasing-Filter hinzufügen. Wenn Sie das tun, verlieren Sie Bandbreite. Dies macht Ihr Oszilloskop weniger nützlich - es begrenzt Ihre Bandbreite in der Echtzeitanzeige (und nur für in Echtzeit ausgelöste Modi wäre in Ordnung) auf viel weniger als die Bandbreite Ihres analogen Frontends. Das Verwalten der Signalverarbeitungsaspekte eines Oszilloskops ist schwierig.
Ansprechendes Display löschen? Der PC? Nicht konsequent. Unabhängig davon, wie Sie dies tun, müssen Sie Daten puffern. Wie ich bereits sagte, garantiert USB nicht, wann Ihre Daten ankommen. Ich sage es anders: USB ist nicht für die harte Echtzeit-Datenübertragung ausgelegt. Sicher, für ausreichend kleine Datenmengen in großen Intervallen erhalten Sie möglicherweise eine gute Leistung, aber keine konsistente Leistung. Sie werden die Pufferung verwenden und von Zeit zu Zeit die zeitnahe Übertragung Ihres Puffers verpassen. Dann überspringt Ihre Anzeige, die Daten sind veraltet usw. usw. Klare und reaktionsschnelle Echtzeitanzeigen erfordern harte Echtzeit-Datenverbindungen.
Einfaches Triggern - wir kommen wieder zu Kosten vs. Komplexität vs. Reaktionsschnelligkeit. Wenn Sie das Gerät auslösen, um Transienten zu erkennen, kann Ihr Gerät nicht einfach eine dumme Datenleitung sein, die Samples verantwortungslos über USB überträgt. Sie müssen Samples auf dem Gerät puffern, puffern, puffernbis Sie Ihren Auslösezustand sehen. Das heißt, Sie benötigen Speicher und Intelligenz auf Ihrem Gerät - entweder ein großes FPGA oder einen großen Mikrocontroller. Das vergrößert und vergrößert den Raum. Wenn Sie ein FPGA verwenden, müssen Sie den Umfang der Triggerlogik mit dem Bedarf an viel RAM für den Pufferplatz abwägen. Ihr Puffer ist also kleiner, als Sie es bereits möchten. Das bedeutet, dass Sie eine winzige Datenmenge rund um Ihren Triggerpunkt erhalten. Wenn Sie keinen externen Speicher hinzufügen, können Sie mehr tun. Dies erhöht jedoch die Größe und die Kosten Ihres Geräts - dies ist sicherlich nicht nur eine Sonde, an die ein USB-Kabel angeschlossen ist.
Sie haben das Glück, eine Bandbreite von 100 MHz zu erhalten - normalerweise wird die 10-fache Abtastrate als Mindestgrenze für die Bandbreite angesehen. Wenn Sie also eine Abtastrate von 1GS / s haben, erhalten Sie kaum 100MHz Bandbreite. Mehr geht nicht - eine 200-MHz-Rechteckwelle sieht aus wie eine 200-MHz-Sinuswelle. Das ist Scheiße. Das ist dumm - es ist nicht annähernd professionell.
Ihre anderen Punkte:
- 200 US-Dollar? Wie findest du das? Was ist die Teileliste?
- Gute Lesemöglichkeiten für Hochgeschwindigkeitssignale kosten nicht Tausende von Dollar. Sie kosten vielleicht tausend Dollar. 100 MHz sind in der Scope-Abteilung ein Kinderspiel, und Ihre Idee wird nicht einmal diesen Benchmark sowie einen 1000-Dollar-Scope erfüllen
- Ja, so wie Sie es beschreiben, wäre es in der Tat sehr begrenzt. Die technischen Aspekte auch der wenigen Anforderungen, die Sie haben, bedeuten ein sehr begrenztes Gerät.
- Es wäre nicht annähernd so nützlich wie das 1100-Dollar-Oszilloskop, das ich mir mit einem Logikanalysator und einer analogen Bandbreite von 60 MHz gekauft habe. Ich zahle lieber für meine Testausrüstung, die mit absichtlich begrenzten Kinderspielzeugen herumschwirrt.
Sie leben und sterben als Ingenieur an Ihren Prüfgeräten. Wenn Sie nicht sicher sind, ob Sie ihm vertrauen können, verschwenden Sie Ihre Zeit. Angesichts des Mangels an Know-how, das Sie in Bezug auf Hochgeschwindigkeitskommunikation, Signalverarbeitung und die Leistungsfähigkeit der eingebetteten Verarbeitung (in FPGAs oder Mikrocontrollern) gezeigt haben, würde ich nicht wetten, dass Sie es selbst entwerfen müssen, und niemand sonst, der geantwortet hat, ist etwas anders als ambivalent.
Wenn es eine gezielte Reihe von Anforderungen gäbe, die auf ein echtes Bedürfnis in der Gemeinde zutreffen, das nicht bedient wird, könnte ich mir vorstellen, dass dies technisch machbar ist. Aber Ihre vagen Anforderungen scheinen nicht erforscht zu sein. Sie müssen einen Überblick über die verfügbaren Optionen für Hobbybegeisterte geben - welche USB-Bereiche und Standalones werden verwendet, welche Stärken und Schwächen haben sie? Ansonsten ist das nur phantasievoll.