Ich habe die USB-Oszilloskop-Sonde gelesen - Bitte um Kommentare und Ideen , und es hat mich zum Nachdenken gebracht. Was ich wirklich gerne hätte, wäre ein sehr leistungsfähiges Oszilloskop, das ungefähr 10.000 US-Dollar kosten würde. Sicherlich möchten auch viele andere Menschen eine. Und mit dem Fachwissen, das auf dieser Site verfügbar ist, sollte es sicherlich möglich sein, eine Open-Source-Version zu entwerfen.
Hier ist meine Idee:
- Es wäre eine handgehaltene Zielfernrohrsonde mit herausgeführtem USB-Kabel.
- Batteriebetrieben, um es von der USB-Stromversorgung zu trennen.
- Eingangsstufe ist ein Hochgeschwindigkeits-Operationsverstärker wie THS3201DBVT ?
- ADC ist so etwas wie ASD5010 , dh 1 Gs / s und 650 MHz Eingangsbandbreite.
- FPGA zur Verarbeitung der 32-Bit-Daten, zum Triggern und zum Packen der Daten in den USB-Stick.
- Open-Source-Software zur Ausführung auf dem PC.
Ist das eine Dummkopf-Besorgung? Was vermisse ich?
Hinzugefügt, mehr Details als Antwort auf die Antworten:
- Dieser Bereich würde nicht mit den schick teuren Bereichen da draußen konkurrieren können. Das Hauptziel ist es, etwas zu haben, das es ermöglicht, Hochgeschwindigkeitssignale zu untersuchen, und gleichzeitig weniger als 200 US-Dollar kostet, damit sich jemand selbst herstellen kann.
- USB-Bandbreite: Dies ist kein analoger Bereich, noch ist es ein schicker LeCroy . USB ist jedoch durchaus in der Lage, 2k-Samples mit 60 Hz zu übertragen. Dies macht es immer noch äußerst nützlich, obwohl es möglicherweise nicht in der Lage ist, transiente Ereignisse zwischen diesen Frames zu erfassen.
- Ein deutlich ansprechendes Display. Nun, der Monitor eines PCs ist auf jeden Fall klar. Besser als fast alle auf dem Markt erhältlichen Oszilloskope. Klarheit und Größe sind also keine Probleme. Reaktionsschnell? Solange der Bildschirm mit 60 Hz aktualisiert werden kann, finde ich, dass das ziemlich ansprechend ist.
- Auslösung: Ich stellte mir vor, dass auf dem Gerät eine einfache Pegelauslösung stattfindet. Auch hier wäre es nicht in der Lage, mit ausgefallenen Bereichen zu konkurrieren, aber denken Sie daran: Dies soll ein 200-Dollar-Gerät sein.
- Es soll keine 1 GHz Bandbreite haben. Wo habe ich das gesagt? Aber es könnte doch mehr als 100 MHz Bandbreite haben?
Punkte mit nach Hause nehmen:
- Es ist ein 200-Dollar-Gerät.
- Das Hauptziel des Geräts besteht darin, das Anzeigen von Hochgeschwindigkeitssignalen zu ermöglichen, ohne 10000 US-Dollar auszugeben.
- Es würde viele Dinge geben, zu denen es nicht in der Lage wäre.
- Sicherlich wäre so etwas für die Leute hier ziemlich nützlich.
- Mit dem Fachwissen auf dieser Website könnten wir es doch schaffen?
usb
oscilloscope
high-frequency
Raketenmagnet
quelle
quelle
Antworten:
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:
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.
quelle
Sie möchten nicht, dass es sich um ein handgehaltenes Sondenformat handelt, da ein einzelner Kanalbereich nicht sehr nützlich ist. Die zusätzlichen Kosten für 2 Kanäle (auch wenn Sie den ADC muxen) sind ein geringer Prozentsatz der zusätzlichen Kosten, aber eine enorme Steigerung der Nützlichkeit.
Wenn Sie nicht mehr als 500 mA ziehen möchten, besteht kein Grund, eine Batterie zu verwenden, da Sie einen isolierten DC-DC-Wandler haben könnten. Es ist jedoch nicht trivial, eine hohe Bandbreite über eine Isolationsbarriere zu erhalten.
quelle
Hier gibt es ein paar Probleme. Wenn wir als Referenzstandard ein analoges 1-GHz-Oszilloskop (wie ein gutes Tektronix-Oszilloskop) heranziehen, leidet dieses vorgeschlagene Oszilloskop auf folgende Weise:
1) Der ASD5010 ist ein 8-Bit-Konverter. 8 Bit sind bei weitem nicht genug, um mit einem guten analogen Bereich mithalten zu können.
2) Verwechseln Sie die Abtastrate nicht mit der analogen Bandbreite. Für den von Ihnen ausgewählten Chip wäre die entsprechende analoge Bandbreite wahrscheinlich viel näher an 100 MHz als 1 GHz.
Das soll nicht heißen, dass es nicht möglich ist, einen solchen Umfang zu konstruieren, man kann eindeutig einen kaufen, der diese Spezifikationen kommerziell erfüllt. Das Erreichen einer Bandbreite von 1 GHz ist nicht trivial, und es wären spezielle technische und bessere Teile erforderlich.
quelle
8-Bit-ADCs sind in Oszilloskopen weit verbreitet, die Technik der Verwendung von ADCs ist jedoch etwas anders. Wie ich bei einigen internen Oszilloskopen gesehen habe, werden in der Regel 4 ADC-Chips verwendet, die jeweils mit einem 90-Grad-Phaseninkrement getaktet sind. Sie erhalten also 4 Abtastwerte pro Taktzyklus, und aus diesem Grund ist die CLK-Frequenz ziemlich niedrig, aber die Datenbandbreite ist hoch. Auf jeden Fall wird ein solches Projekt mehr Geld verschwenden als der Kauf eines brandneuen Oszilloskops :-) Es könnte jedoch eine gute Praxis für das Selbstlernen sein. OTOH, denke über die analoge Seite des Anwendungsbereichs nach. Dieser Teil ist verdammt schwer und sehr schwierig zu tun.
quelle
Andere Probleme:
Schutz : Sie möchten sicher nicht, dass es die erste Zeit unterbricht, in der Sie fälschlicherweise 20-30 V an den Eingang gelegt haben.
Kalibrierung : Auch bei 8-Bit-Genauigkeit müssen Sie den Fehler innerhalb von 1/256 = 0,4% insgesamt kontrollieren. nicht trivial mit Standardkomponenten;
Rauschfilterung : Es muss abgeschirmt und gefiltert werden, und es reicht nicht aus, da auch das FPGA wahrscheinlich Rauschen erzeugt. Sie müssen daher den analogen und den digitalen Bereich trennen.
Was die USB-Verbindung betrifft, ist es meiner Meinung nach zweckmäßiger, die Daten intern zu verarbeiten und direkt an das Display anzuschließen.
quelle