Welcome,{$name}!

/ Ausloggen
Deutsch
EnglishDeutschItaliaFrançais한국의русскийSvenskaNederlandespañolPortuguêspolskiSuomiGaeilgeSlovenskáSlovenijaČeštinaMelayuMagyarországHrvatskaDanskromânescIndonesiaΕλλάδαБългарски езикAfrikaansIsiXhosaisiZululietuviųMaoriKongeriketМонголулсO'zbekTiếng ViệtहिंदीاردوKurdîCatalàBosnaEuskera‎العربيةفارسیCorsaChicheŵaעִבְרִיתLatviešuHausaБеларусьአማርኛRepublika e ShqipërisëEesti Vabariikíslenskaမြန်မာМакедонскиLëtzebuergeschსაქართველოCambodiaPilipinoAzərbaycanພາສາລາວবাংলা ভাষারپښتوmalaɡasʲКыргыз тилиAyitiҚазақшаSamoaසිංහලภาษาไทยУкраїнаKiswahiliCрпскиGalegoनेपालीSesothoТоҷикӣTürk diliગુજરાતીಕನ್ನಡkannaḍaमराठी
Zuhause > Nachrichten > Aktualisiert: Wie würdest du einen 10MHz Scope HAT für Raspberry Pi machen?

Aktualisiert: Wie würdest du einen 10MHz Scope HAT für Raspberry Pi machen?

Raspberry Pi 3

Nachdem ich eine Weile damit verbracht habe, ein altes Oszilloskop zu reparieren, fiel mir auf, dass es vielleicht schneller ist, eines aus einem Raspberry Pi zu machen.

Aktualisieren: Scrollen Sie nach unten, um mehr über Trimmer und Relais in der analogen Eingangssignalkette zu erfahren.

Schließlich akzeptiert das Pi Tastatur- und Mausverbindungen, verfügt über einen fähigen Grafikprozessor und bietet eine Auswahl an Grafikausgängen: HDMI in HD-Qualität für einen separaten Monitor oder einen DSI-Ausgang, der dem eigenen 800 × 480 7-Zoll-Touchscreen entspricht - auf dessen Rückseite ein Pi montiert werden kann.

Ich entdeckte schnell, dass das andere Ende der Oszilloskop-Signalkette dort liegt, wo die Herausforderung liegt: die Lücke zwischen dem Raspberry Pi und einem BNC-Stecker des Oszilloskopsensors zu schließen, ohne die Signaltreue zu verlieren und mit ausreichender Geschwindigkeit.

Es gab einige heroische Anstrengungen, dies zu tun, und einige Innovatoren haben wirklich die Grenzen dessen, was möglich ist, verschoben, einschließlich clevere Software-Manipulation das erreicht 10Msample / s über Raspberry Pi 40-Pin-GPIO-Schnittstelle. Und es gibt viele Leute, die 1Msample / s für einen einzelnen Kanal erreicht haben.

Aber was würde es brauchen, um es in einen echten Bereich zu verwandeln - sagen wir einen mit 10 oder 20 MHz Bandbreite?

PicoScope 2000Wer könnte das lieber als Pico Technology, die britische PC-Oszilloskop-Firma, die bereits einen 10MHz-USB-Scope-in-a-Box (die 2204A, abgebildet), die für weniger als £ 100 in Raspberry Pi stecken wird - der halbe Preis von einigen bare-board USB-Scopes.

Wie einfach wäre es, ein benutzerdefiniertes Scope-Add-On-Board zu erstellen, das als HAT (Hardware Attached on Top) Pi-Speak bekannt ist.

Möglich, aber nicht trivial, war die Antwort von Pico's Vertriebs- und Marketingleiter Trevor Smith.

Was hält ihn davon ab, ein einfacher Fall zu sein, einen ADC auf eine Leiterplatte zu setzen, sagte er, ist Datenbandbreite.

"Die Faustregel der Branche ist eine Abtastrate, die das Fünffache der maximalen analogen Bandbreite beträgt", sagt Smith, "also benötigen Sie für 10 MHz Bandbreite einen ADC mit 50 Msample / s / Kanal, also 100 Msample / sx 8 Bits für zwei Kanäle - nicht trivial. "

Und das wird nicht einfach über den GPIO oder irgendeinen der USB-Kanäle auf einem Raspberry Pi passieren.

"Wenn Sie jedes Mal, wenn Sie eine Akquisition durchgeführt haben, das USB-Kabel nach oben gesendet haben, wäre das USB-Kabel ein Flaschenhals", sagte Smith.

An diesem Punkt arbeiten Sie entweder von dem Datenengpass ab und akzeptieren, was immer die Abtastrate zulässt, oder Sie tun, was USB-Hersteller tun: Verwenden Sie lokale digitale Signalverarbeitung, um Daten zu komprimieren, bevor sie über das USB-Kabel gehen müssen - eine Technik Das könnte auf einen Scope-HAT angewendet werden, sagte Smith, unabhängig davon, welche Pi-Schnittstelle verwendet wurde.

Eines der Dinge, die in einem Oszilloskop wichtig sind, ist die Bildschirmaktualisierungsrate: Der Benutzer muss eine lebhafte Anzeige sehen, wenn sich das Signal ändert, obwohl keine Aktualisierungen schneller durchgeführt werden müssen, als der Benutzer wahrnehmen kann.

Dies bedeutet, dass der System-Engpass keine Grenze darstellt, wenn er Daten mit der maximalen Nutzrate passieren kann. "USB ist schnell genug für Menschen", sagte Smith.

In den meisten USB-Scopes wird die Datenverarbeitung an Bord von einem FPGA übernommen - das gilt für Pico-Produkte - und was in diesem FPGA passiert, ist ein Schlüsselelement des geistigen Eigentums des Scope-Herstellers. Für den Grundbetrieb muss es jedoch nicht so kompliziert sein.

Die Aufgabe des FPGAs besteht darin, zwischen Front-End-ADCs, lokalem Speicher und der Datenleitung zu vermitteln: Daten von ADCs zum RAM zu leiten, so schnell wie die ausgewählte Wobbelrate und Speicherkapazität erlauben, und Daten über die gewählte Kompression vom RAM zum Host zu leiten verarbeiten.

Kompression?

"Das FPGA sendet eine Ergebniszusammenfassung zur Anzeige an den PC", sagte Smith. "Sie möchten nicht, dass 10.000 Punkte immer wieder hochgeschickt werden. Angenommen, Sie haben Tausende von Punkten und brauchen nicht Tausende von Punkten auf dem Display - FPGA ermittelt, was gesendet werden muss. "

Laut ihm ist eine einfache Form der Komprimierung das Senden von Min-Max-Paaren. Beispiel: Wenn 100.000 Speicherplätze im Speicher vorhanden sind, aber die Anzeige nur 1.000 Pixel breit ist, werden Blöcke mit 100 Abtastungen gescannt, um den minimalen und maximalen Abtastwert im Block zu finden, und nur diese beiden Nummern werden gesendet.Die Scope-Software, die auf dem Host ausgeführt wird, zeigt dann eine vertikale Linie zwischen dem Min- und Max-Wert für diese Position entlang des horizontalen Zeitdiagramms an und verdichtet die Kurve, als ob alle Proben vorhanden wären.

"Wenn Sie nur einen von 100 Punkten gesendet hätten, würden Sie Störimpulse übersehen, und eine Hauptfunktion eines Oszilloskops besteht darin, nach Fehlern zu suchen", sagte Smith.

Erfrischend bei 50Hz - 50 Spuren übereinander - der Benutzer bekommt eine lebendige Anzeige.

Letztendlich "wird die Aktualisierungsrate durch die Leistung von FPGA bestimmt, nicht so sehr von USB", sagte Smith.

Jenseits von 10 MHz, fügte er hinzu, eine weitere Designherausforderung ist die Speicherbandbreite zwischen FPGA und Speicher. "Es wird viel Aufwand in die Gestaltung der Speicherschnittstelle investiert", sagte Smith.

Neben dem Verzicht auf schnelle Schnittstellen reduziert das On-Board-FPGA die Host-Arbeitslast, da der Computer nur noch die FPGA-Signale steuern und Wellenformen anzeigen muss.

Das heißt, der Host-Computer kann beteiligt werden, wenn Dinge wie schnelle Fourier-Transformationen (FFTs) Berechnungen für eine Frequenzbereichsanzeige benötigen. In diesem Fall müssen möglicherweise alle Daten in dem Beispielspeicher durch die Datenleitung verschoben werden, bevor die Berechnung durchgeführt werden kann, wodurch der Echtzeitbetrieb für ein Bit angehalten wird.

Wenn die Scope-Hardware aufgefordert wird, als Digitalisierer zu fungieren - "Sie könnten beispielsweise Daten in MATLAB werfen", sagte Smith - dann hat der FPGA die Aufgabe, innerhalb der Grenzen der Verbindung die schnellste Echtzeitoperation zu arrangieren Bus - obwohl diese Betriebsart wahrscheinlich über die Bedürfnisse eines Raspberry Pi Scope HAT hinausgeht. In professionellen PC-Scopes können hier USB-3-Schnittstellen helfen.

Auf der anderen Seite des Eingangs ADC oder ADCs erhält jeder Kanal einen Eingangsdämpfer und Eingangsverstärker.

Front-End-Umschaltung

"Bei niedrigen Frequenzen kann der Abschwächer sehr einfach mit Widerständen und Kondensatoren bestückt werden", sagt Smith. "Wenn Sie versuchen, 1 MHz oder mehr zu erreichen, müssen Sie die Eigenschaften des Frontend-Dämpfers mit der Signalkette abstimmen."

Es müsste eine AC / DC-Umschaltung und Dämpfungseinstellung geben, von denen einige mit elektronischen Schaltern durchgeführt werden können, obwohl es gute Gründe gibt, in kritischen Positionen wie dem AC / DC-Kopplungsschalter Relais zu verwenden (bistabile Typen sparen Strom).

"Relais sind ein Balanceakt, man kann solide Zustände verwenden und einige Topologien", sagte Smith. "Vergessen Sie nicht, dass wenn ein Oszilloskop ausgeschaltet ist, das Anlegen eines Eingangssignals das Oszilloskop nicht beschädigen oder ein Sicherheitsrisiko darstellen sollte - Rail-ESD-Dioden werden häufig in Komponenten übersehen. Der sichere Kompromiss für unerfahrene Analog-Designer ist in der Regel mechanische Relais, so dass Sie nicht viele parasitäre Teile berücksichtigen müssen. Mechanische Relais können beim Umschalten zwischen einem außergewöhnlich guten resistiven und kapazitiven Isolationsweg zu einem sehr niederohmigen Pfad hervorragend sein - auf Kosten höherer Leistung oder Schaltkomplexität, wenn Verriegelungsteile verwendet werden. "

Dämpferabstimmung

Zum Thema Trimmer sagte Smith: "Wenn Ihnen die Pulsantwort nicht so wichtig ist, dann können Sie billige Bauteile verwenden und Kompromisse bei der Genauigkeit Ihrer Wellenform machen - nicht etwas, das Pico jemals zulassen würde. Wenn Sie eine gute Reaktion wünschen, dann müssen Sie entweder fest tolerierte oder in Binnendetails fixierte Komponenten verwenden und Ihr Design sorgfältig evaluieren - was teuer und langwierig ist; oder verwenden Sie Trimmer und verbringen Sie Ihre Zeit beim Trimmen. Es gibt Topologien, die es Ihnen ermöglichen würden, den Trimmer loszuwerden, aber die Energie und Komplexität kosten. Bei diesem Design vermute ich, dass Trimmer der richtige Kompromiss sind. "

Eine weitere analoge Entscheidung wäre, eine lokale negative Schiene zu erstellen oder das ankommende Signal irgendwo zwischen 0 und 5 V zu verschieben.

All dies sollte im Bereich eines HAT möglich sein, obwohl es fast sicher mindestens einen Trimmerkondensator pro Kanal gibt, um die Antwort zu optimieren.

Hat Smith mehr Ratschläge?

"Sie versuchen, eine ziemlich gute Linearität in Bezug auf die Bandbreite des Oszilloskops zu erreichen. Sie müssen auf die Linearität der gesamten Signalkette achten: Abschwächer, Verstärker und ADC ", sagte er. "Frequenzgang und Impulsantwort laufen nicht immer zusammen. Du kannst mit ziemlich guter Ebenheit enden, und dann steckst du einen Puls rein und bekommst alle möglichen Arten von Klingeln und Überschießen. "Zum Thema Erdung: "Für uns müssen die Signalpotentiale auf geeigneten Signalsteckern - BNCs - aufgekauft werden.

Durch solide Verbindungen zwischen Eingangsbuchse, Abschwächer, Verstärker und ADCs wird das Rauschen reduziert.

"Sie möchten ein Front-End, das geräuscharm genug ist, um mit der Auflösung des zu erstellenden Oszilloskops kompatibel zu sein. Sie wollen nicht mehr als eine halbe Lärmenteilung auf dem Bildschirm, im empfindlichsten Bereich ", sagte Smith. "Wir haben 10 Divisionen vertikal in unserem Display und der empfindlichste Bereich ist 1mV / Division, das ist 10mV / Bildschirm, also würden Sie wollen

Mit zwei Seiten der Platine, um mit zu spielen, sieht ein Raspberry Pi HAT mit genug Leistung, um sich ein richtiges 10 MHz-Oszilloskop zu nennen, eindeutig plausibel.

Wenn sich jemand nicht tief genug in die Broadcom-Chips vertieft, um die Geheimnisse der Pi 2Gbit / s-MIPI-CSI-2-Kameraschnittstelle zu entschlüsseln, und es dann für den Scope-Einsatz geeignet findet, wird es einen FPGA auf einem 10MHz-Scope-HAT geben müssen eine passende Firmware dafür zu entwickeln, wäre eine Herzensangelegenheit. Analog dazu wird der Teufel im Detail sein. <500uV of noise – most people’s 8bit scopes struggle to meet that, but it is a nice goal.”

Es wäre sicherlich einfacher, ein PicoScope 2204A zu kaufen.