Hallo zusammen, werden bei modernen USB-Oszilloskopen wirklich alle Messdaten (die geben ja teilweise 500MSample an) auf den PC betragen? Werden die Daten irgendwie gepackt oder wie schafft man es, diese Datenmengen durch ein USB2.0 Kabel zu senden? Danke und VG Karl
Die 500 MSamples/s sind die Abtastrate, der Speicher und damit die Datenmenge pro Triggerung ist dann doch deutlich kürzer.
Danke Andreas für deine Antwort. Werden dann also nur paar Hundert Messdaten ab einer einzigen Triggerung übertragen? Was ist, wenn die Signale sich bei jedem Triggervorgang etwas unterscheiden und man sich das im Nachhinein in aller Ruhe in einer Graphik anschauen will? Z.B. Wenn ein Fehler in einem Gerät steckt, der nur Spontan auftritt und man in der Zeitachse zu dem Fehlerzeitpunkt zurück gehen will, um sich genau anzuschauen, was da passiert ist?
Tja, für sowas braucht man vieeeel Speicher im Oszi, und der ist sauteuer. Das geht dann mit den billigen Dingern nicht zu machen. Oder man braucht einen intelligenten Trigger, der eben solche Anomalien findet. Unter anderem deswegen sind die großen Scopes so teuer. Die haben dann auch keine USB Anbindung für die Daten sondern zum Beispiel PCIe (bei den LeCroy Geräten).
Karl schrieb: > Werden dann also nur paar Hundert Messdaten ab einer einzigen Triggerung > übertragen? Stichwort dazu: Speichertiefe Zuerst werden die Daten auf dem Oszi "schnell" gespeichert. Und anschließend "langsam" übertragen. > Was ist, wenn die Signale sich bei jedem Triggervorgang > etwas unterscheiden und man sich das im Nachhinein in aller Ruhe in > einer Graphik anschauen will? Pech gehabt. > Z.B. Wenn ein Fehler in einem Gerät > steckt, der nur Spontan auftritt und man in der Zeitachse zu dem > Fehlerzeitpunkt zurück gehen will, um sich genau anzuschauen, was da > passiert ist? Wenn die Daten nicht im Speicher sind: Pech gehabt.
Die PC-Oszis haben einen internen Speicher, der beim Samplen beschrieben wird. Dessen Inhalt wird dann über USB an den PC gesendet und dargestellt. Fall a): Die Samplerate liegt unter der max. USB-Datenrate, dann Darstellung sofort ohne Verzögerung möglich. Fall b): Abstastrate so hoch, dass der interne Scope-Speicher schneller voll ist als der USB die Daten übertragen kann. Dann findet ein verzögerter Transfer zum PC statt. Wenn der Hersteller hier einen Ringpuffer des internen Scope-Speichers implementiert hat, dann sollte theoretisch nur wenig verloren gehen, da bereits vom USB übertragenen Samples freien Speicher für den nächsten Zyklus bedeuten. Es gibt aber eine Totzeit, da sich ja der Ringpuffer sich selbst überschreiben darf. Spätestens, wenn der schreibende Pufferindexzeiger den lesenden erreicht, muss auf den nächsten USB-Transfer gewartet werden. Wenn genau an dieser Stelle dein Fall des Fehleranteils im Signal auftritt und dieser so kurz ist, dass er nur von wenigen Samples erfasst werden kann, sollte der Signalverlust da sein. Bei Picoscope ist das so, dass man mehrere Screens hintereinander durchblättern kann. Die Anzahl der Screens, die man haben möchte, kann man einstellen. Grundsätzlich haben dieses "Problem" alle digitalen Scopes, nur dass bei den Nicht-PC-Scopes schnellere DSPs arbeiten, wo auch der USB-Flaschenhals entfällt. Zudem ist der Speicher i.d.R. bei teureren Geräten weitaus größer. Nicht zu vergessen die wfm/s (Aktualisierungsrate), die bei PC-Scopes auch nicht unbedingt hoch ist. Statistisch selten auftretende Fehler kann man eventuell durch langes Messen mit der Nachleuchtfunktion (wenn vorhanden) der PC-Applikation hinbekommen. In Zusammenhang mit einem Maskentest dann auch erfassen. Mein Ratschlag: lade dir die Picoscope-Software herunter, diese besitzt einen Demo-Modus, wo das nicht vorhanden Scope simuliert wird. Da kannst du einen Eindruck bekommen, wie das bei PC-Scopes aussieht. Ich arbeite lieber mit reinen Scopes, sowohl analog als auch digital. Die PC-Teile sind je nach Anwendungsbereich auch nicht schlecht, aber bei hohen Abtastraten in Zusammenhang mit Fehlersuche von Störern in Signalen entweder nicht geeignet oder einfach zu teuer, wenn mit mehr Speicher ausgestattet. Da bekommt man von Agilent, Hameg und Tektronix weitaus bessere Geräte ohne PC-Pflicht. Wie gesagt, nur meine persönliche Vorliebe, will hier jetzt keine Glaubensdebatte lostreten ;-) Gruß GunB
Gun B. schrieb: > Da bekommt man von Agilent, Hameg und Tektronix > weitaus bessere Geräte ohne PC-Pflicht. Naja, da ist dann der PC hübsch im Gehäuse des Skops verpackt ;)
luk4s schrieb: > Naja, da ist dann der PC hübsch im Gehäuse des Skops verpackt ;) Nur hat der Hersteller dann die Möglichkeit einer weitaus schnelleren Anbindung des Speichers statt langsamen USB zu nutzen und ein Betriebssystem seiner Wahl einzusetzen, dass u.a. Echtzeit unterstützt und die laufenden Prozesse und Threads weitestgehend selbst zu bestimmen, was bei einem PC nicht geht. Gruß GunB
Herzlichen Dank an alle und ganz besonders für den hervorragenden Beitrag von Gun B.! Ich denke, meine Fragen sind alle beantwortet. Viele Grüße Karl
Es ist fraglich, ob überhaupt alle Samples übertragen werden oder nur die relevaten der Anzeige. Ich würde letzteres Vermuten. Nehmen wir doch nur mal an, wie hätten 500 MSamples/s und nehmen ne Sekunde lang auf. Bei 8 Bit hat man dann ja nur rnd nen halbes GB an Daten aufgesammelt. Über USB schicken würde hier bedeuten, um keinen Verlust zu haben, man müsse rnd 500 MB/s übertragen. Zum Ausrechnen bin ich zu faul aber 50 MB/s sind schon verdammt gut/schnell bei USB 2.0. Ich denke, man wird hier nur die zur Anzeige notwendigen Daten übertragen, z.B. nur jeden 100. Sample.
Michael schrieb: > Ich denke, man wird > hier nur die zur Anzeige notwendigen Daten übertragen, z.B. nur jeden > 100. Sample. Durchaus denkbar. Da hast du auch sicher recht, was die Datenmenge angeht. Ich möchte dennoch zu einem optionalen Denkansatz anregen: Der Speicher meines Picoscope hat z.B. 512k, was ja nicht viel ist. Das Scope kann bei nichtrepetetiven Signalen eine max. Abtastrate von 100MS/s erreichen. Nehmen wir an, die maximale Abtastrate sei eingestellt. Der A/D-Wandler arbeitet mit 8 Bit, dann sind 100MS/s = 100 MB/s. Der Speicher wäre dann nach 5,12 ms voll. Spätestens jetzt muss der Speicher über USB an den PC gesendet werden, bevor ein neuer Zyklus startet. An dieser Stelle ergeben sich Totzeiten, wo das Signal nicht erfasst werden kann. Die 512kB hat der USB schnell übertragen, der Haken ist aber, dass das Signal eben nicht ohne Verluste wie zum Beispiel von dir beschrieben 1s lange ununterbrochen aufgezeichnet werden kann. Bei einer Zeitbasis, wo ein kompletter Screen z.B. 5ms beträgt, dürfte dann kaum merkbar ein synchroner Bildaufbau passieren, während z.B. bei Aufzeichungszeiten von 1s deutlich merkbare Sekunden vergehen, bis das erste Bild erscheint. So bei mir. Schlussendlich kann das Scope mit 500MS/s abtasten, die Frage ist aber, wie groß der Speicher ist, da er bestimmt, wie lange verlustfrei am Stück gesampelt werden kann. Die anschliessende Übertragung über den USB kann dann ruhig 20s dauern (Zumutung), das, was dann aber angezeigt wird, ist mit 500MS/s abgetastet worden und in diesem Sinne wird dann auch jedes Sample angezeigt. In der Geschwindigkeit liegt dann eben der Unterschied zu schnellerer Speicheranbindung bei Nicht-PC-Scopes. Werde das vielleicht am Wochenende mal mit meinem PC-Scope mit ein paar Signalen prüfen, interessant zu erfahren. Gruß GunB
Gun B. schrieb: > Die 512kB hat der USB schnell übertragen, der Haken ist aber, dass das > Signal eben nicht ohne Verluste wie zum Beispiel von dir beschrieben 1s > lange ununterbrochen aufgezeichnet werden kann. Das war ja nur das Beispiel, dass das Signal so lange aufgenommen werden könnte. Ich wollte hier nur verdeutlichen, dass schon bei dieser Samplerate USB lange nicht hinterherkommt weshalb es unwahrscheinlich ist, dass jedes Sample übertragen wird. Rein rechnerisch kann USB 2.0 480 MBit/s übertragen, das wären 60 MB/s aber das gilt ja fürs gesamte Frame und nicht nur für die Nutzdaten, da darf man dann eher so um die 30-40 MB/s erwarten. Auch der Hintergrund der Anzeige ist so eine Sache die bei der Übertragung sicherlich eine Rolle spielt. Kommt wahrscheinlich auch auf die Einstellung drauf an welches Sample übertragen wird. Bleiben wir mal bei 1 Sekunde und den 500 MSamples/s. Wenn ich mir das auf den üblichen Screen von ca. 2000 Pixel Breite anschauen will sind 500 MSamples zu übertragen mehr als übertrieben, mehr als 2000 können eh nicht dargestellt werden. Von daher würde es Sinn machen nur jedes 250000. Sample zu übertragen, wenn man noch Zoomen will macht vielleicht jedes 10000. oder 5000. vielleicht noch Sinn aber alles darunter wäre Quatsch und eine sinnlose Verschwendung von Resourcen da es eh nicht angezeigt werden kann.
Naja, dass das Quatsch ist, zu übertragen würde ich mal so nicht stehen lassen. Woher soll die Software/Hardware wissen, was jetzt für mich wichtig ist? Für die Anzeige wird dann schon mit schlauen und bei jedem Hersteller etwas anderen Algorithmen die Pixelzahl reduziert. Ein gutes Scope hält aber den kompletten Sample-Speicher im Hintergrund, für den Zoom oder das nachträgliche Auswerten des Signals. Bei LeCroy machen die das jedenfalls so. Da schreibt das Scope per PCIe und DMA direkt in den Hauptspeicher des PC und verringert so die Totzeit, die bei digitalen Scopes immer da ist. Da der PC ein Multicore ist, kann der die Anzeige, Abfrage der Bedienelemente usw. recht gleichzeitig machen. Mein Wave Pro 7 Zi auf Arbeit hat einen Quadcore Prozessor, 4GB RAM und Vista x64. Da geht richtig die Post ab. Der Samplespeicher ist glaube 40MS groß und wird je nach Anzahl der aktiven Kanöle aufgeteilt. Will man mehr Speicher haben (geht glaub bis 256MS bei denen), dann kostet das richtig Kohle...
Christian R. schrieb: > Ein gutes > Scope hält aber den kompletten Sample-Speicher im Hintergrund, für den > Zoom oder das nachträgliche Auswerten des Signals. Bei LeCroy machen die > das jedenfalls so. Das Scope ja, aber ich meinte hier doch die Übertragung über USB. Da wäre es Quatsch die gesamten 500 MSamples zu übertragen.
Michael schrieb: > Das war ja nur das Beispiel, dass das Signal so lange aufgenommen werden > könnte. Ich wollte hier nur verdeutlichen, dass schon bei dieser > Samplerate USB lange nicht hinterherkommt weshalb es unwahrscheinlich > ist, dass jedes Sample übertragen wird. Hallo Michael, dein Beispiel ist durchaus berechtigt, ich habe es auch so verstanden, wie du es beschrieben hast. Der USB mag zwar nicht hinterherkommen, muss er aber auch nicht, da zuerst in den internen Speicher des Scopes gesampelt wird und nicht online zum PC. Somit werden sehr wohl alle Samples angezeigt, die bis zum Erreichen der internen Speichergrenze des Scopes aufgenommen werden. Erst während der Übertragung zum PC entsteht die Totzeit. Nimmt man dein Beispiel, so muss ein Scope mit 512k zum Beispiel 1s/5,12ms = 195 mal den Speicher vollschreiben und zwischendurch übertragen, wo eben beim Übertragen die Totzeiten entstehen. Michael schrieb: > Rein rechnerisch kann USB 2.0 > 480 MBit/s übertragen, das wären 60 MB/s aber das gilt ja fürs gesamte > Frame und nicht nur für die Nutzdaten, da darf man dann eher so um die > 30-40 MB/s erwarten. Da stimme ich dir zu, mir sind allerdings im isonchronen USB Mode so um die 24MB/s für Nutzdaten bekannt. Wie auch immer, aber das macht eben die Totzeit aus. Michael schrieb: > Auch der Hintergrund der Anzeige ist so eine Sache die bei der > Übertragung sicherlich eine Rolle spielt. Kommt wahrscheinlich auch auf > die Einstellung drauf an welches Sample übertragen wird. Da müsste dann bei jedem Zoom am PC der Speicher des PC-Scopes neu übertragen werden, wenn mal mehr oder mal weniger Samples angezeigt werden sollten. Das wäre dann wirklich dumm gemacht und so wird es definitiv nicht gemacht. Es wird der gesamte Speicher zum PC gesendet und in Abhängigkeit des Zooms werden dann alle oder weniger Samples in den realen Screen genommen. Bei maximalem Zoom siehst du dann im Fenster ALLE Samples, wobei dann natürlich nur ein Teil des insgesamt 1s langen Signals sichtbar ist. Michael schrieb: > vielleicht noch Sinn aber alles darunter wäre Quatsch > und eine sinnlose Verschwendung von Resourcen da es eh nicht angezeigt > werden kann. Natürlich kann alles angezeigt werden, nur das Zeitfenster wird entsprechend immer kleiner. Alles eine Frage des "wieviel Zeit bekomme ich maximal bei gegebenem Zoom an Samples auf den Screen". Macht jedes zoombare Scope so. Habe selbst schon Algorithmen für zoombare Koordinatensysteme zum Sichtbarmachen von schnellen Samplefolgen programmiert. Eine Verschwendung an Ressourcen ist das sicher nicht. Gerade damit werben Firmen wie Agilent, Tektronix, R&S usw., denn deren Scopes haben i.d.R. im oberen Preissegment hohe Aktualisierungsraten, die u.a. dadurch entstehen, dass eine schnelle Übertragung der Scopespeicher in den Bildspeicher gegeben ist, womit statistisch nichtperiodisch auftretende Störer mit einer höheren Wahrscheinlichkeit erfasst werden können. Dazu MUSS jedes Sample erfasst und dargestellt werden können. In diesem Bereich versagen die LowCost-PC-Scopes in aller Regel. Diese können das Problem nur durch einen großen Speicher halbwegs beseitigen, was aber dann auch eine lange Übertragungszeit mit USB 2.0 bedeutet. Die StandAlone-Geräte sind da eben weitaus überlegen, weil sie eine schnelle Anbindung an den Bildschirmspeicher haben. Mein älteres Agilent 54622D wie auch das der 6er-Reihe machen sowas ohne Verzögerung. Hier kannst du u.a. die Interpolation abschalten und die Samples als Punkte direkt sehen. Und weggeworfen wird kein einziges Sample, dann wären diese Geräte ihr Geld nicht wert.
Michael schrieb: > Das Scope ja, aber ich meinte hier doch die Übertragung über USB. Da > wäre es Quatsch die gesamten 500 MSamples zu übertragen. Es wäre äußerst fatal und ein Grund zum Wegschmeißen des Gerätes. Das Dingens kann doch nicht nach gutdünken was aussortieren. Das macht garantiert kein ernstzunehmendes USB Scope.
Christian R. schrieb: > Michael schrieb: >> Das Scope ja, aber ich meinte hier doch die Übertragung über USB. Da >> wäre es Quatsch die gesamten 500 MSamples zu übertragen. > > Es wäre äußerst fatal und ein Grund zum Wegschmeißen des Gerätes. Das > Dingens kann doch nicht nach gutdünken was aussortieren. Das macht > garantiert kein ernstzunehmendes USB Scope. Da stimme ich dir zu. Allerdings hat Michael auch nicht ganz unrecht, dass je nach gerade aufgelöstem Bildschirm ein Kompromiss gemacht wird nach dem Motto "wofür mehr Details übertragen als gerade angezeigt werden sollen". Hier arbeiten spezielle Interpolationsalgorithmen, die bei "viel Signal mit weniger Details" im Streaming-Mode des USB Samples zusammenfassen, aber nicht wie er beschreibt, wegwerfen. Im Detailmodus müssen dennoch alles Samples angezeigt werden können, wodurch eben die Übertragung aller Samples notwendig wird. Ich möchte für alle Interessenten gerne auf folgendes Dokument verweisen, dass ich vor einiger Zeit mal bei der Suche nach Treibern für mein Scope gefunden habe: http://www.picotech.com/support/kb/kbfiles/PicoScopeUSBStreaming.pdf Denke, dass Michael sich mit seiner Argumentation in diesem Rahmen bewegt. Gruß Gunb
Gibt es für die Picoscope-Sachen eigentlich auch einen Treiber, der die Daten als Soundkarte im PC verfügbar macht? Sodaß man z.B. mit SpectrumLab die Daten angezeigt bekommt. Hatte die mal angefragt, aber es kam keine Antwort zurück. Bzw. ist das API so gut spezifiziert, das man den Treiber selberschreiben könnte?
Wozu sollte man das so verkrüppeln? Nimm doch lieber das API von denen, und mach dir selbst eine Oberfläche, falls dir das nicht passt, was die haben. Für die Anzeige eignet sich beispielsweise PlotLab ganz vorzüglich.
Das übersteigt meine Fähigkeiten bei weitem. SpectrumLab hat einen interessanten Funktionsumfang. Ist halt Frickelware so wie LTspice.
Hallo, ich habe das PicoScope in der großen Ausstattung (8MB Speicher etc.) auf Arbeit. Es verhält sich so, dass für die Darstellung auf dem PC nur eine reduzierte Anzahl Samples via USB übertragen wird. Hat man das Gerät gestoppt, bspw. nach einem Triggerereignis, so lässt sich der vollständige ScopeSpeicher auslesen und kann dann nach Belieben in den Datenpunkten herumscrollen. Das hat den Vorteil, dass für die reine Signaldarstellung auf dem Bildschirm das Scope unwahrscheinlich schnell, sprich die Bildwiederholrate groß ist. Hat man das gewünschte Ereignis, liest man einfach den Speicher vollständig aus und die volle Samplerate steht zur Verfügung. Nebenbei bemerkt habe ich auch ein TDS5104B, bei dem das Scope unter Win2000 ebenfalls als USB-Gerät läuft. Es ist davon auszugehen, dass Tek das hier nicht anders gelöst hat. branadic
@branadic: Hallo, ja, was du schreibst macht Sinn. In Zusammenhang mit dem Dokument, auf das ich oben gelinkt habe, ist diese Vorgehensweise sinnvoll. Die Datenaggregation zieht immer alle Samples zur qualitativen Signalbewertung auch bei niedriger Auflösung ein, wodurch eine reduzierte Übertragung der Ergebnissamples im Streaming-Mode kein Problem darstellt. Bei höherer Auflösung, womit ich den maximalen Zoom meine, und einer Darstellung aller Samples zur exakten Untersuchung OHNE Aggregation muss dann wie von dir beschrieben der Scopespeicher 1:1 übertragen werden. Das würde dann ja dem von Picotech beschriebenen Blockmode entsprechen. Da müsste es doch dann auch bei der 8MB-Version, die du nennst, so sein, dass einige Zeit vergeht, bis der Speicher zum PC übertragen worden ist, richtig? Kannst du in diesem Zusammenhang dem Interesse halber Zeiten nennen? Gruß Gunb
Ich denke nicht, dass der gesamte Speicher des Scopes übertragen wird sondern nur ein Teil. Mittels USB hat man ja eine Kommunikation, mit der die SW dem Scope z.B. die aktuelle Auflösung mitteilen kann. Ein kluger Algorithmus, wie auch immer dieser aussehen mag, kann nun entscheiden welche Samples übertragen werden sollen und welche nicht. Und so machen das aus Scopes von Agilent, die übertragen nicht den ganzen Speicher. Ich hab am Port meines Scopes mehrere USB-Geräte und a. seh ich keinen zeitlichen Versatz zwischen Scope und PC und die anderen Geräte sind auch noch flott unterwegs. Würde ständig der Speicher übertragen würde ich hier entweder einen zeitlichen Versatz sehen oder die anderen Geräte (z.B. externe HDD) würde nicht großartig senden können oder beides. Das ist aber alles mitnichten der Fall weshalb ich einfach vermute, dass das Scope nur das nötigste über den USB-Port schickt zum PC und genau das scheint mir auch das sinnvollste zu sein. Bedenkt auch, wir reden hier von einem Osziloskop, nicht von einem Datenlogger oder ähnliches. Manchmal hab ich hier grad den Fall, dass das Skope auch noch ne Datenloggerfunktion übernehmen soll. Gun B. schrieb: > Ich möchte für alle Interessenten gerne auf folgendes Dokument > verweisen, dass ich vor einiger Zeit mal bei der Suche nach Treibern für > mein Scope gefunden habe: > > http://www.picotech.com/support/kb/kbfiles/PicoSco... > > Denke, dass Michael sich mit seiner Argumentation in diesem Rahmen > bewegt. Ja, sowas dachte ich auch. Hier werden doch zwei Methoden beschrieben (habs nur überfolgen, schau ich mir heute Abend mal genauer an) und bei beiden Verfahren gehen (nicht grad wenig) Samples verloren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.