Forum: Mikrocontroller und Digitale Elektronik LED-Indikator für USB-Datentraffic gesucht


von Solder M. (soldermaster)


Lesenswert?

Hi,

früher gab's für serielle Schnittstellen als Zwischenstecker 
RS232-Tester mit LEDs, welche die Signale auf Tx, Rx & Co anzeigen 
konnten. -
Gibt's ähnliches mit Indikator-LED auch als Zwischenstecker für USB? - 
Mich interessieren dabei allerdings nicht Spannung und Strom, sondern 
nur ob auf D+, D- (längere Zeit) Daten übertragen werden.
Der Zwischenstecker soll sich nicht als USB-Gerät in Erscheinung treten 
und hinsichtlich USB-Enumeration unbeachtet bleiben. -
Ich denke da in Richtung Monoflop, welches über einen Trigger-Impuls auf 
D+ angeschubst wird. - Hat jemand eine Schaltung für diese Zwecke?

Gruß soldermaSTer

von Falk B. (falk)


Lesenswert?

Das dürfte eher aufwändig werden, denn dazu muss man das USB-Protokoll 
mitlesen und dekodieren. Denn bei USB ist IMMER was los, und wenn es nur 
der 1 bzw. 8kHz Framepulse ist.

von Jim M. (turboj)


Lesenswert?

Solder M. schrieb:
> Gibt's ähnliches mit Indikator-LED auch als Zwischenstecker für USB? -
> Mich interessieren dabei allerdings nicht Spannung und Strom, sondern
> nur ob auf D+, D- (längere Zeit) Daten übertragen werden.

Gibt Dauerlicht - USB übertragt das SOF (Start-Of-Frame) jede 
Millisekunde, also 1000 mal pro Sekunde ist da Datenverkehr drauf.

Ab USB 2.0 High Speed vertragen die Datenleitungen keinen zusätzlichen 
Scheiss mehr, kann man also nicht so einfach nachrüsten.

Nochwas: Low Speed hat invertierte Daten Pegel gegenüber Full Speed.

von Solder M. (soldermaster)


Lesenswert?

Jim M. schrieb:
> USB übertragt das SOF (Start-Of-Frame) jede Millisekunde

Okay, also hab' ich jede Millisekunde einen SOF-Puls wenn nichts 
übertragen wird. -
Falls Daten übertragen werden, dann liegen diese demnach in den Frames 
zwischen den SOF-Pulsen. -

Mal vorausgesetzt ich würde diese Übertragung mit dem Indikator nicht 
stören, dann müsste ich also eher die Anzahl der Impulse pro 
Millisekunde zählen, bzw. über einen Teiler verarbeiten?

von PittyJ (Gast)


Lesenswert?

Nimm dir ein Scope und schau dir das mal an. Danach möchtest du nicht 
mehr.

von vloki (Gast)


Lesenswert?

Jim M. schrieb:
> Nochwas: Low Speed hat invertierte Daten Pegel gegenüber Full Speed.

Was? Da habe ich ja noch nie von gehört...

Meinst du die Erkennung?
Low Speed zieht D- hoch, Full Speed D+?

von vloki (Gast)


Lesenswert?

Solder M. schrieb:
> Mich interessieren dabei allerdings nicht Spannung und Strom, sondern
> nur ob auf D+, D- (längere Zeit) Daten übertragen werden

vloki schrieb:
> Jim M. schrieb:
>> Nochwas: Low Speed hat invertierte Daten Pegel gegenüber Full Speed.
>
> Was? Da habe ich ja noch nie von gehört...
>
> Meinst du die Erkennung?
> Low Speed zieht D- hoch, Full Speed D+?



Solder M. schrieb:
> Mich interessieren dabei allerdings nicht Spannung und Strom, sondern
> nur ob auf D+, D- (längere Zeit) Daten übertragen werden

Ich würde auch sagen, schau es dir mal mit dem Scope an.
Wenn du dann meinst, dass deine "längere Zeit" eine wesentlich größere 
Helligkeit der LED erzeugt...

von vloki (Gast)


Lesenswert?

vloki schrieb:
> Wenn du dann meinst, dass deine "längere Zeit" eine wesentlich größere
> Helligkeit der LED erzeugt...

Mist war nicht angemeldet, kann nicht editieren :-(

...also die größere Aktivität in der "längeren Zeit" wäre quasi ein 
größerer Duty Cycle für die Ansteuerung der LED und deshalb heller.

von Jim M. (turboj)


Lesenswert?

vloki schrieb:
> Meinst du die Erkennung?
> Low Speed zieht D- hoch, Full Speed D+?

Und DAS zieht alles andere nach sich, denn das gibt den Ruhezustand des 
Busses vor.

Genau deshalb benutzt die USB Spec auch so komische Namen für die 2 
differentiellen Zustände des Busses - weil die bei Low Speed invertiert 
sind.

vloki schrieb:
> Ich würde auch sagen, schau es dir mal mit dem Scope an.

.. aber nimm kein High Speed Gerät, denn da sieht man nix. Bei Full 
Speed kommen moderne DSOs noch soweit hinterher das man die Daten 
offline rekonstruieren kann. BTDT.

von c-hater (Gast)


Lesenswert?

Solder M. schrieb:

> Okay, also hab' ich jede Millisekunde einen SOF-Puls wenn nichts
> übertragen wird. -

ERSTENS: SOF ist kein dümmlicher "Puls", sondern ein ganz reguläres 
USB-Paket wie alle anderen auch, die über den Bus gehen.

> Falls Daten übertragen werden, dann liegen diese demnach in den Frames
> zwischen den SOF-Pulsen. -

Ja, aber: Um diese Eigenschaft irgendwie nutzen zu können, müsstest du 
logischerweise erstmal SOF-Pakete identifizieren können. Also:

ZWEITENS: Um die verschiedenen Pakete unterscheiden zu können, muss man 
im Minimum die Paket-ID lesen können. Wenn man DAS kann, kann man 
schon fast schon alles, was nötig ist, um den gesamten Bus-Traffic 
zumindest grob zu analysieren, fehlt eigentlich nur noch die Erkennung 
von EOP (um das Ende eines Pakets erkennen zu können). Naja und der Kram 
mit RESET, SUSPEND und RESUME...

OK, du weisst jetzt immer noch fast nix über USB. Aber du hast einen 
Eindruck davon, wie unendlich viel Wissen dir noch fehlt, um deinen Plan 
umsetzen zu können...

von Guido Körber (Gast)


Lesenswert?

Noch ein Problem: Nicht alle Traffic geht über alle Ports.

Wenn man (wie es eigentlich normal ist) eine Mischung von Geräten mit 
Low, Full, High und Super-Speed hat, dann sehen die "langsamen" Ports 
die schnellen Transfers nicht. Die Hubs sortieren das aus.

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
Noch kein Account? Hier anmelden.