Comment visualiser le trafic USB sur un oscilloscope?

13

J'essaie d'examiner la communication d'une souris USB avec un oscilloscope (PicoScope 3204). Lorsque je connecte la masse de l'oscilloscope à l'une des deux lignes de signal de données (Data + ou Data-), la souris s'arrête. La souris est le périphérique Microsoft Home 1995, donc elle doit utiliser USB 1.1, pas une version haute vitesse sophistiquée. J'ai également essayé la même chose sur une clé USB et j'ai rencontré le même problème. Y a-t-il un circuit simple que je peux construire pour surmonter ce problème?

Je suis conscient qu'il existe des dispositifs de test USB sophistiqués à cet effet, mais j'essaie cela comme une démonstration / expérience, donc je cherche une solution minimale de brassage maison.

Diomidis Spinellis
la source
Pourriez-vous écrire le numéro de modèle de votre oscilloscope?
pipe
PicoScope 3204; J'ajoute ceci à la question.
Diomidis Spinellis
1
70 MHz n'est pas beaucoup de bande passante pour regarder les signaux USB non plus.
Matt Young du
@MattYoung - c'est amplement suffisant pour un appareil à basse vitesse ...
ThreePhaseEel

Réponses:

19

Ne mettez pas à la terre les lignes de données. Ils sont hors sol. Beyond Logic dit

L'USB utilise une paire de transmission différentielle pour les données. Ceci est codé en utilisant NRZI et est bourré de bits pour assurer des transitions adéquates dans le flux de données. Sur les appareils à basse et pleine vitesse, un différentiel `` 1 '' est transmis en tirant D + sur 2,8 V avec une résistance de 15K ohms tirée à la masse et D- sous 0,3V avec une résistance de 1,5K ohm tirée sur 3,6V. Un différentiel «0», d'autre part, est un D- supérieur à 2,8 V et un D + inférieur à 0,3 V avec les mêmes résistances de descente / montée appropriées.

Vous devez connecter la masse de l'oscilloscope à la masse USB. Sinon, vous tuez l'un des signaux et le récepteur différentiel ne détectera pas l'inversion de phase requise.

Lorsque l'oscilloscope est connecté à la terre, un oscilloscope à canal unique peut surveiller D + ou D-. Une portée double canal peut surveiller les deux et vous devriez voir l'inversion de phase lorsque les données sont transmises.

Transistor
la source
Notez que j'ai essayé de surveiller les lignes de données par rapport à la masse USB, mais je n'ai pas obtenu un signal qui semblait numérique (ou que l'oscilloscope pouvait décoder en USB).
Diomidis Spinellis
Avez-vous sélectionné le couplage CC pour le champ d'application?
Chu
15

Veuillez voir cette explication très utile pourquoi USB D- n'est pas un GND. Si vous souhaitez sonder des paires de données USB; vous devez connecter votre oscilloscope entre GND et USB D- et / ou D +.

Souvenez-vous également que dans la plupart des PC, le "GND" est mis à la terre; et il en va de même pour votre portée GND. C'est probablement le comportement de l'arrêt car vous connectez efficacement USB D- à GND (via la terre) via votre oscilloscope.

Hans
la source
1
Ceci explique cela! Je pensais que les entrées de l'oscilloscope étaient différentielles plutôt que référencées au sol.
Diomidis Spinellis
Eh bien, ils mesurent la différence entre la sonde et le sol. Voir modifier ma réponse.
Transistor
Désolé, Hans, j'ai modifié votre réponse au lieu de la mienne! Internet va trop vite!
Transistor
4

Pour ajouter un peu plus d'informations et de références, liées au fonctionnement de sécurité de votre équipement lors des tests.

Vous devez toujours être très prudent avant de connecter la masse ou le châssis de votre équipement de test à votre DUT (Device Under Test) .

De très mauvaises choses peuvent se produire , notamment:

  • Vous mettre, vous ou d'autres personnes, en danger de mort.
  • Endommager définitivement votre équipement de test.
  • Endommager définitivement votre circuit testé ou DUT.

Quelques références intéressantes sur l'équipement d'essai flottant et mis à la terre et sur la sécurité. Je ne peux pas les résumer ici car le sujet est extrêmement vaste:

jose.angel.jimenez
la source
1

la masse de l'oscilloscope passe à usb 0V [essayez le fil blanc. tester avec un multimètre DC sur le châssis de l'ordinateur que c'est 0V et ohms bas auquel vous vous connectez]

si votre portée autorise une différence de deux canaux AB, utilisez A pour les données USB + et B pour les données USB.

Testez toujours le trafic entre le PC et un appareil tel qu'une imprimante ou une webcam. Vous avez besoin de l'appareil parce que l'USB utilise une poignée de main avant de démarrer. Grattez l'isolant pour exposer les fils et essayez une sonde de portée à haute impédance (10 Meg). Il peut s'ajuster automatiquement pour fonctionner avec des câbles laids et exposés. Ne vous attendez pas à ce que> 10 MHz fonctionne comme ceci car les sondes de portée sont laides et les sondes terminées à 240 ohms entreraient en conflit avec la prise de contact de la terminaison appropriée au niveau de l'appareil.

L'USB-C m'est inconnu; il pourrait y avoir beaucoup de commutateurs supplémentaires sur votre chemin pour décider de la direction. Je ne sais pas ce que les lignes électriques de 100 watts pourraient faire. Évitez USB-C

mephisto
la source
1

Vous avez besoin d'un oscilloscope à 2 canaux. Ensuite, vous connectez un canal à D+et l'autre à D-. Les clips de mise à la terre des deux sondes que vous connectez l'une à l'autre. Ensuite, vous soustrayez les deux canaux: XY, car il s'agit d'un signal différentiel.

Rainer
la source