Wie kann ich den USB-Verkehr auf einem Oszilloskop anzeigen?

Ich versuche die Kommunikation einer USB-Maus mit einem Oszilloskop (PicoScope 3204) zu untersuchen. Wenn ich die Masse des Oszilloskops mit einer der beiden Datensignalleitungen (Data+ oder Data-) verbinde, schaltet sich die Maus aus. Die Maus ist das Microsoft Home-Gerät von 1995, also muss sie USB 1.1 verwenden, nicht irgendeine ausgefallene Hochgeschwindigkeitsversion. Ich habe es auch auf einem USB-Speicherstick versucht und das gleiche Problem festgestellt. Gibt es eine einfache Schaltung, die ich bauen kann, um dieses Problem zu lösen?

Mir ist bewusst, dass es für diesen Zweck ausgefeilte USB-Testvorrichtungen gibt, aber ich versuche dies als Demonstration / Experiment, also suche ich nach einer minimalen selbstgebauten Lösung.

Könnten Sie die Modellnummer Ihres Oszilloskops schreiben?
PicoScope 3204; Ich füge dies der Frage hinzu.
70 MHz ist auch nicht viel Bandbreite, um USB-Signale zu betrachten.
@MattYoung - es ist ausreichend für ein langsames Gerät ...
@ThreePhaseEel Es geht nicht um Bitraten, es geht um die Anstiegszeit.
@MattYoung - ja, die Anstiegszeit wäre etwas "aus", aber ich vermute, Sie könnten immer noch ein brauchbares Auge bekommen - welche Bandbreite würden Sie übrigens empfehlen?
Ich bin sehr neugierig - warum?

Antworten (5)

Erden Sie die Datenleitungen nicht. Sie sind oberirdisch. Beyond Logic sagt

USB verwendet ein differenzielles Übertragungspaar für Daten. Dies wird unter Verwendung von NRZI codiert und mit Bits gefüllt, um angemessene Übergänge im Datenstrom sicherzustellen. Bei Geräten mit niedriger und voller Geschwindigkeit wird eine differenzielle „1“ übertragen, indem D+ über 2,8 V gezogen wird, wobei ein 15-kOhm-Widerstand auf Masse gezogen wird, und D- unter 0,3 V gezogen wird, wenn ein 1,5-kOhm-Widerstand auf 3,6 V gezogen wird. Eine differentielle '0' hingegen ist ein D- größer als 2,8 V und ein D+ kleiner als 0,3 V mit denselben geeigneten Pull-Down/Up-Widerständen.

Sie müssen die Masse des Oszilloskops mit der USB-Masse verbinden. Andernfalls töten Sie eines der Signale und der Differentialempfänger erkennt die erforderliche Phasenumkehr nicht.

Wenn das Oszilloskop an Masse angeschlossen ist, kann ein Einzelkanal-Oszilloskop entweder D+ oder D- überwachen. Ein Zweikanal-Oszilloskop kann beide überwachen, und Sie sollten die Phasenumkehr sehen, wenn Daten übertragen werden.

Beachten Sie, dass ich versucht habe, die Datenleitungen in Bezug auf die USB-Masse zu überwachen, aber kein Signal erhalten habe, das digital aussah (oder das das Oszilloskop als USB decodieren konnte).
Haben Sie DC-Kopplung für den Bereich ausgewählt?

Bitte sehen Sie sich diese sehr nützliche Erklärung an, warum USB D- kein GND ist. Wenn Sie USB-Datenpaare prüfen möchten; Sie müssen Ihr Oszilloskop zwischen GND und USB D- und/oder D+ verbinden.

Denken Sie auch daran, dass bei den meisten PCs "GND" geerdet ist; und so ist Ihr Zielfernrohr GND führen. Dies ist wahrscheinlich das Verhalten beim Herunterfahren, da Sie USB D- über Ihr Oszilloskop effektiv mit GND (über Erde) verbinden.

Das erklärt es! Ich dachte, die Eingänge des Oszilloskops seien differenziell und nicht massebezogen.
Nun, sie messen den Unterschied zwischen der Sonde und dem Boden. Siehe Bearbeiten meiner Antwort.
Entschuldigung, Hans, ich habe Ihre Antwort anstelle meiner eigenen bearbeitet! Das Internet bewegt sich zu schnell!

Um ein wenig mehr Informationen und Referenzen hinzuzufügen, die sich auf den sicheren Betrieb Ihrer Ausrüstung während des Testens beziehen.

Sie müssen immer sehr vorsichtig sein, bevor Sie die Masse oder das Chassis Ihres Testgeräts mit Ihrem DUT (Device Under Test) verbinden .

Einige sehr schlimme Dinge können passieren , darunter:

  • Sie oder andere Personen einem Todesrisiko aussetzen.
  • Dauerhafte Beschädigung Ihrer Prüfgeräte.
  • Dauerhafte Beschädigung Ihrer getesteten Schaltung oder Ihres DUT.

Einige interessante Referenzen über erdfreie vs. geerdete Prüfgeräte und Sicherheit. Ich kann sie hier nicht zusammenfassen, da das Thema sehr breit gefächert ist:

Scope-Masse geht an USB 0V [probieren Sie das weiße Kabel. Testen Sie mit einem DC-Multimeter am Computergehäuse, dass es 0 V und niedrige Ohm aufweist, an die Sie es anschließen.]

Wenn Ihr Bereich zwei Kanalunterschiede AB zulässt, verwenden Sie A für USB + Daten und B für USB - Daten.

Testen Sie immer den Datenverkehr zwischen PC und einem Gerät wie einem Drucker oder einer Webcam. Sie brauchen die Appliance, weil USB einen Handshake verwendet, bevor es losgeht. Kratzen Sie die Isolierung ab, um die Drähte freizulegen, und versuchen Sie es mit einer Oszilloskopsonde mit hoher Impedanz (10 Meg). Es kann sich selbst anpassen, um mit hässlichen freiliegenden Kabeln zu arbeiten. Erwarten Sie nicht, dass irgendetwas > 10 MHz so funktioniert, da Oszilloskopsonden hässlich sind und mit 240 Ohm terminierte Sonden mit dem Handshake von der richtigen Terminierung am Gerät in Konflikt geraten würden.

USB-C ist mir unbekannt; Es könnte eine ganze Menge zusätzlicher Schalter im Weg haben, um die Richtung zu bestimmen. Ich weiß nicht, was die 100-Watt-Stromleitungen tun könnten. Vermeiden Sie USB-C

Sie benötigen ein 2-Kanal-Oszilloskop. Dann verbinden Sie einen Kanal mit D+und den anderen mit D-. Die Masseklemmen der beiden Sonden verbinden Sie miteinander. Dann subtrahieren Sie die beiden Kanäle: XY, weil es sich um ein Differenzsignal handelt.