Forum: Offtopic Led nur bei USB Datenübertragung


von K. K. (elektr00)


Lesenswert?

Hallo zusammen,

ich möchte gern eine LED blinkenlassen, solange Daten auf meinen USB 
Stick übermittelt wird. dies soll zwichem dem Stick und dem usb Port 
geschaltet werden. Leider habe ich bisher keinen Erfolg. Um die szu 
ermöglichen habe ich ebenfalls einen Mikrocontroller da.
Weißt jemand wie man dies macht?

Viele Grüße
K.

: Verschoben durch User
von Leo B. (luigi)


Lesenswert?

Ähm ja, kauf dir nen Stick mit LED, die Blinken auch wenn auf sie 
zugegriffen wird. Alles andre wird für dich mMn nicht möglich sein, da 
ein Zwischenstecker selbst für "Profis" ein gutes stückchen Arbeit ist!

von John (Gast)


Angehängte Dateien:

Lesenswert?

Leo B. schrieb:
> kauf dir nen Stick mit LED, die Blinken auch wenn auf sie
> zugegriffen wird

Ganz so einfach ist das leider nicht.
Die meisten USB-Sticks die es zu kaufen gibt, haben keine echte 
Zugriffs-LED mehr: sobald auf den Stick zugegriffen wird beginnt die 
LED, mit einem fest vorgegebenem Tackt, zu blinken. Und erst wenn 
mehrere Sekunden nicht mehr auf den Sick zugegriffen wird, hört das 
Blinken wieder auf. Wenn jetzt alle paar Sekunden auf den Stick 
zugegriffen wird resultiert das im Dauerblinken der LED.
Noch schlimmer sind diese blink/schnarch-LEDs: mehrere Sekunden nachdem 
kein Zugriff auf den Stick erfolgt, geht das blinken über in 
auf-/abdimmen der LED.

Die USB-Sticks mit echter zugriffs-LED die ich kenne sind diese 
USB3.0-Sticks von Lexar:
JumpDrive S23
 - billiges Plastikgehäuse
 - lesen: bis 100MB/s
 - schreiben: 15…55MB/s (8GB…64GB-Version)

JumpDrive P10
 - lesen: 260MB/s
 - schreiben: 180MB/s (16GB), sonst: 245MB/s

Wie sich die LED bei den anderen Lexar-Sticks verhält kann ich nicht 
sagen, ich hab nur welche von diesen zwei Typen (die gibt es z.b. bei 
Reichelt).

Gruß
John

von K. K. (elektr00)


Lesenswert?

Hallo,

Danke für Eure Antwort. Es müsste dich irgendwie möglich sein, dies doch 
selber zu basteln?
Wie machen es die Hersteller?
Man müsste doch feststellen können, wann Daten auf den Stick übertragen 
werden und solang dies passiert in einem festgelegten Rhatmus die LED 
blinken zu lassen.

Viele Grüße

von google (Gast)


Lesenswert?

K. K. schrieb:

> Man müsste doch feststellen können, wann Daten auf den Stick übertragen

luigi schrieb:

> Alles andre wird für dich mMn nicht möglich sein, da
> ein Zwischenstecker selbst für "Profis" ein gutes stückchen Arbeit ist!

von Anti-Hpunkt (Gast)


Lesenswert?

K. K. schrieb:
> Hallo,
>
> Danke für Eure Antwort. Es müsste dich irgendwie möglich sein, dies doch
> selber zu basteln?
Man merkt, dass du dich null mit USB befasst hast.
http://www.beyondlogic.org/usbnutshell/usb1.shtml

> Wie machen es die Hersteller?
evtl. wenn auf eine Bulk-I/O Operation stattfindet und nicht nur auf den 
Control-Endpoint zugegriffen wird.

> Man müsste doch feststellen können
man oder du?

von Noch einer (Gast)


Lesenswert?

Eigentlich ganz einfach.

Du nimmst ein NAS mit Open-Source Betriebssystem und patcht den 
USB-Treiber. Am einfachsten mit Rasaperry oder ähnlichem. Da kannst du 
eine Lowpower LED direkt an einen der GPIO Pins anschließen.

von Schlumpf (Gast)


Lesenswert?

Man könnte doch mittels Differenzverstärker hochohmig an den Leitungen 
mithören.
Danach folgt eine Schaltung, die auf Flankenwechsel des Signals 
reagiert. Wird eine Flanke erkannt, dann wird die LED für eine bestimmte 
Zeit eingeschaltet. Danach wieder aus und die Flankenerkennung wird für 
eine bestimmte Zeit gesperrt.

Setzt allerdings voraus, dass USB in den Lücken zwischen den Telegrammen 
keine Signalwechsel auf den Datenleitungen erzeugt, oder ständig im 
"Hintergrund" noch irgendwelch Datentelegramme schickt.
Ob das so ist, weiss ich nicht. Aber da gibt es sicher Leute hier, die 
tiefer in der USB-Spec stecken.

von Anti-Hpunkt (Gast)


Lesenswert?

Schlumpf schrieb:
> Man könnte doch mittels Differenzverstärker hochohmig an den Leitungen
> mithören.
wieder einer, der Null Ahnung von USB hat. Besser die Fr*sse halten!

von Georg (Gast)


Lesenswert?

Schlumpf schrieb:
> Man könnte doch mittels Differenzverstärker hochohmig an den Leitungen
> mithören.

Da ständig Daten übertragen werden, ist es viel einfacher, die LED 
ständig leuchten zu lassen, das kommt auf dasselbe heraus.

Georg

John schrieb:
> Die USB-Sticks mit echter zugriffs-LED die ich kenne

Ich habe auch einen alten Stick, bei dem das öfters mal funktioniert - 
ist aber unterschiedlich an verschiedenen PCs und verschiedenen 
Betriebssystemen. Z.B. geht die LED bei bestimmten Windows-Versionen 
nach dem "sicheren Abmelden" aus, bei anderen nicht. Verlassen würde ich 
mich daher auf garnichts mehr.

Georg

von K. K. (elektr00)


Lesenswert?

Anti-Hpunkt schrieb:
> Schlumpf schrieb:
>> Man könnte doch mittels Differenzverstärker hochohmig an den Leitungen
>> mithören.
> wieder einer, der Null Ahnung von USB hat. Besser die Fr*sse halten!

Hallo Anti-Hpunkt,

anstatt hier die leute unfreundlich zu beleidigen, dass sie die Fress 
ehalten sollen und hier rumzumosern. Wäre es angebrachter, wenn du hier 
die Lösung zur Frage posten würdest und damit zeigst wie das geht und 
dass du Ahnung hast.
Andere zeigen den guten Willen und versuchen zu helfen! Das was du tust 
ist dich über andere her zu ziehen ohne selbst eine brauchbare Info zu 
liefern!
So ist das nur heiße Luft und unverschämt zugleich was du tust.

Viele Grüße
K.K.

von Markus (Gast)


Lesenswert?

Auf dem USB laufen immer Daten! Der Inhalt sagt lediglich was das Device 
machen soll!

von USB-Kenner (Gast)


Lesenswert?

Also dann mal los:
Es gibt bei USB verschiede Paketarten == Übertragungsmodi.
Zunächst muß du mal rausfinden wie der USB-Stick vom Betriebssystem des 
PCs angesprochen wird. Ich gehe mal von Bulk-Transfers aus.
Dann brauchst du einen Chip, der parallel zum Stick am USB lauscht und 
a) die verschiedenen Datenpakete unterscheiden kann und b) auch noch 
herausfiltern muß ob es sich um ein Schreiben von Daten handelt oder ob 
nicht einfach nur in die Konfigurationsregister des Controllers auf dem 
Stick gesetzt wird.

Ich schreibe oben bewust Chip, denn es gibt hier prinziliell zwei 
Möglichkeiten:
1. Ein Mikrocontroller mit einem USB Slave und einem USB Host.
Der Mikrocontroller wird als USB-Slave an den PC angeschlossen und gibt 
sich als Speicherstick aus. Gleichzeitig muß er den 'echten' USB-Stick 
als USB-Host bedienen.

2. FPGA, das tatsächlich die USB-Kommunikation mithört und zu 
interpretieren weiss.

Anhand deiner Fragen muß ich mich meinen Vorrednern anschließen: VERGISS 
ES! Ohne detailiertes Wissen über USB und Mikrocontrollern (ich rede 
hier nicht von 8bittigen AVRs) wird das nichts.

Außerdem ist es ziemlich viel Aufwand um eine LED 'blinken' zu lassen!

Es ist wahrscheinlich einfacher, (da kostenlos!) sich in den USB-Treiber 
auf dem PC einzuklinken und die Kommunikation dort mitzuschneiden 
(Google: USB-Sniffer).

Ach ja noch was:
Auf dem Stick sitzt ein eigener Controller. Wenn da noch ein Pin frei 
ist, kann der Hersteller des Sticks da auch eine LED anschließen. Der 
Controller auf dem Stick weiß ja was er macht (machen soll).
Aber so eine LED kostet Geld und wird daher fast immer weggelassen.

von 123 (Gast)


Lesenswert?

Variante 1 wird schwierig. Die Laufzeiten verändern sich. Was ggf 
Probleme verursacht.

von Timmo H. (masterfx)


Lesenswert?

Am einfachsten ist es wohl die Abweichung vom ruhestrom des Gerätes zu 
messen. Zumindest bei Speichermedien ist es eigentlich so, dass sie mehr 
Strom beim Lesen und Schreiben benötigen. Ansonsten ist es wie gesagt 
schwierig da bei USB auf den Leitungen immer Aktivität ist auch wenn 
effektiv nichts übertragen wird

von 123 (Gast)


Lesenswert?

Bei flashs auch nur ein Schätzeisen.
Auch wenn über USB nichts läuft kann der stick intern trotzdem arbeiten. 
Und nicht benötigte blöcke löschen, Speicher umorganisieren, ...

von Schlumpf (Gast)


Lesenswert?

@ K.K.

Danke, aber da steh ich drüber.
Ich habe ja auch am Ende meines Posts geschrieben, unter welchen 
Bedingungen dieser Ansatz funktioniert, ich aber nicht weiss, ob diese 
Bedingungen bei USB gegeben sind und sich vielleicht jemand findet, der 
Näheres dazu sagen kann.

Offesichtlich hat sich jemand gefunden, der Näheres dazu sagen kann:
Nämlich, dass man gefälligst die Fre..e zu halten hat, wenn man keine 
Ahnung hat.
Ist doch auch ne Aussage, oder? :-)

von Christian R. (supachris)


Lesenswert?

Man könnte schon den Roh-Datenverkehr halbwegs auswerten. Wir entwickeln 
hier USB Hardware und müssen ab und zu mal die Leitungen angucken. Im 
Idle, wenn der Host nur immer mal das Device pollt, ob es Daten hat, 
sind die USB 2.0 Microframes nahezu leer, da ist nur ein kurzes Paket 
drin. Wenn aber richtig BULK oder ISO Transfer ist, werden die 
Microframes ziemlich schnell voll, bei 40MB/s ist da so viel los, dass 
die Frames komplett gefüllt sind. Mit extrem hochohmigem Abgriff und 
sehr schnellem Monoflop könnte man dort ansetzen.

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.