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
Ä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!
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
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
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!
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?
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.
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.
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!
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
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.
Auf dem USB laufen immer Daten! Der Inhalt sagt lediglich was das Device machen soll!
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.
Variante 1 wird schwierig. Die Laufzeiten verändern sich. Was ggf Probleme verursacht.
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
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, ...
@ 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? :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.