AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Energieklassifizierung von USB-Geräten
Thema durchsuchen
Ansicht
Themen-Optionen

Energieklassifizierung von USB-Geräten

Ein Thema von messie · begonnen am 4. Okt 2011 · letzter Beitrag vom 7. Okt 2011
Antwort Antwort
Seite 1 von 2  1 2      
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#1

Energieklassifizierung von USB-Geräten

  Alt 4. Okt 2011, 16:44
Betriebssystem: Win 7
Moin,

ich bin auf der Suche nach Informationen über die Energieklassifizierung von USB-Geräten.

Das Problem: wir benutzen einen gängigen USB -> RS485/RS422/RS232 Konverter (ADAM-4561), der den weit verbreiteten Prolific-Chipsatz nutzt. Es wird auch deren Treiber dafür angeboten. Nun sagt ein gängiger USB-> RS232-Konverter, dass er 100mA braucht. Der Mehrfachwandler sagt, dass er 500mA braucht.
Unter Windows 7/64 funktioniert der Mehrfachkonverter nur noch teilweise: er macht ein RS232- und ein RS422-Signal, beim RS485-Ausgang kommt nix. Sieht also so aus, als würde Win7/64 dem Wandler einfach den Strom begrenzen. Damit geht er nur noch ein bisschen.

Wo bekommt Windows solche Informationen her? Ich kann mir vorstellen, dass man die Sache mit dem patchen einer INF-Datei oder der registry in den Griff bekäme.

Grüße, Messie

Geändert von messie ( 5. Okt 2011 um 08:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#2

AW: Energieklassifizierung von USB-Geräten

  Alt 4. Okt 2011, 16:53
Schau mal, was USBView sagt

http://www.delphipraxis.net/163510-a...ml#post1127911


Wobei oftmals die Erkenntnis kommt, daß die USB-Controller nur Mist erzählen. (jedenfalls stimmt dieser Wert leider recht selten)



Mit der INF wirst du vermutlich nicht weit kommen, denn dein USB-Hostcontroler wird da schon einschreiten, bevor das Windows was davon mitbekommt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Energieklassifizierung von USB-Geräten

  Alt 4. Okt 2011, 17:00
Und man sollte die Energiersparoptionen mal kontrollieren:
Miniaturansicht angehängter Grafiken
esave.png  
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#4

AW: Energieklassifizierung von USB-Geräten

  Alt 4. Okt 2011, 17:01
Schau Dir die Daten an, die USBVIEW liefert.

http://www.ftdichip.com/Support/Utilities/usbview.zip

Der Strombedarf ist in den USB-Chips der angeschlossenen Geräte gespeichert und muss nicht der Realität entsprechen. Es ist völlig egal, was da drin steht.

Beispiele:
USB-Stick 16GB
bmAttributes: 0x80 (Bus Powered )
MaxPower: 0x64 (200 Ma)
---
USB-Stick 4GB
bmAttributes: 0x80 (Bus Powered )
MaxPower: 0x32 (100 Ma)
---
USB-Stick 2GB
bmAttributes: 0x80 (Bus Powered )
MaxPower: 0x19 (50 Ma)

Es ist in hex offensichtlich immer die Hälfte des dez-Wertes, weil man sonst mit einem 8-Bit-Wert nicht den Maximalstrom von 500mA bei USB2.0 darstellen kann.

Geändert von hathor ( 4. Okt 2011 um 17:16 Uhr)
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Energieklassifizierung von USB-Geräten

  Alt 5. Okt 2011, 09:58
Moin,

ein Vergleich zwischen dem Mehrfachkonverter und dem billigen (beide melden sich als prolific 2303) ergibt:
1.
bmAttributes: 0xA0 (Bus Powered Remote Wakeup)
MaxPower: 0xFA (500 Ma)
2.
bmAttributes: 0xA0 (Bus Powered Remote Wakeup)
MaxPower: 0x32 (100 Ma)

Und bei Wikipedia finde ich im Kleingedruckten:
Zitat:
Der USB-Standard sieht vor, dass Geräte zunächst im Low Power-Mode (100 mA oder 150 mA) starten und bei höherem Strombedarf diesen erst vom Host anfordern, bevor sie den höheren Strom verbrauchen. Dies können bei USB 2.0 bis zu weiteren 4x 100 mA sein, bei USB 3.0 bis zu weiteren 5x 150 mA sein. Schlägt diese Anforderung fehl, hat sich das Gerät abzuschalten.
Da es bei XP funzt und ich im Web nur Probleme mit 64bit-Versionen (Vista/Win7) finde, stellt sich die Frage:
kann man den high-power-mode bei Win7/64 irgendwo abschalten? Oder ist das ein Bug?

Grüße, Messie
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#6

AW: Energieklassifizierung von USB-Geräten

  Alt 5. Okt 2011, 10:08
Zitat:
Code:
bmAttributes:        0xA0 (Bus Powered Remote Wakeup)
MaxPower:            0xFA (500 Ma)
2.
bmAttributes:        0xA0 (Bus Powered Remote Wakeup)
MaxPower:            0x32 (100 Ma)
Die Frage ist, ob diese Werte auch stimmen?
Und ob sich die Geräte auch daran halten. (nimm mal die vielen USB-Lüfter und Lämpchen, welche ohne Anfrage einfach mal 500 mA ziehen)
Meine kleine HDD benötigt angeblich nichmal 100 mA und ist (laut dem USB-Descriptor) Self-Powered (es gibt aber keinen Stromanschluß).

Ich hätte das auch schon lange gemacht.
USB-Port überwachen und wenn sich wer nicht an die Regeln hält, ihm einfach den Saft abdrehn.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Energieklassifizierung von USB-Geräten

  Alt 5. Okt 2011, 10:12
Ich hätte das auch schon lange gemacht.
USB-Port überwachen und wenn sich wer nicht an die Regeln hält, ihm einfach den Saft abdrehn.
Dafür gibt es meine Zustimmung, nur dokumentiert sollte es sein.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#8

AW: Energieklassifizierung von USB-Geräten

  Alt 5. Okt 2011, 12:06
...Die Frage ist, ob diese Werte auch stimmen?
Und ob sich die Geräte auch daran halten. (nimm mal die vielen USB-Lüfter und Lämpchen, welche ohne Anfrage einfach mal 500 mA ziehen)
Diese Geräte haben keine logische Verbindung, nur Plus und Minus.
Das Betriebssystem kriegt davon nichts mit, weil der Embedded Controller autonom den Stromverbrauch überwacht: Die elektronische Sicherung schlägt bei ca. 600 mA erbarmungslos zu.
RESET: Shutdown, Netzteil ab, Akku raus für einige Minuten.
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#9

AW: Energieklassifizierung von USB-Geräten

  Alt 5. Okt 2011, 13:26
Diese Geräte haben keine logische Verbindung, nur Plus und Minus.
Das Betriebssystem kriegt davon nichts mit, weil der Embedded Controller autonom den Stromverbrauch überwacht: Die elektronische Sicherung schlägt bei ca. 600 mA erbarmungslos zu.
RESET: Shutdown, Netzteil ab, Akku raus für einige Minuten.
Hm.
Ich habe da bei microcontroller.net eine Beschreibung gefunden:
Zitat:
Beim Einstecken wird jedes USB-Gerät erstmal enumeriert, d.h. am Bus
angemeldet und dem PC bekannt gemacht. In dieser Phase darf das Gerät
maximal 100mA ziehen - USB-Spezifikation. In der Enumerationsphase wird
u.a. auch abgefragt, wieviel Strom das Gerät ziehen wird, wenn es
angemeldet ist. Aus dieser Information kann der PC rausrechnen, ob das
Gerät normal betrieben werden darf oder ob es durch das "volle"
Einschalten den Bus überlasten würde, wenn noch andere Teilnehmer dran
sind. Dafür ist das PWREN-Signal. Es wird erst aktiv werden, wenn vom PC
die Meldung kommt, dass sich das Gerät voll einschalten darf. Mit diesem
Signal wird dann eben ein FET gesteuert, der den Rest der Schaltung mit
Spannung versorgt.
Macht das alles der Chipsatz unabhängig vom Betriebssystem?

Grüße, Messie
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#10

AW: Energieklassifizierung von USB-Geräten

  Alt 6. Okt 2011, 15:48
Sooo, jetzt habe ich nochmal einen Testrechner aus alten Teilen zusammengeworfen und Windows 7 (ging nur 32bit) aufgespielt. Das Resultat: identisch mit den Win7/64-Notebooks. Damit kann ich ausschließen, das es zufällig an der Kombination von relativ neuen Notebooks mit Win7/64 lag.

Nachdem, was ich sehe, mag ich nicht mehr glauben, dass es keinen Einfluss des Betriebssystems auf die Benutzung des USB-Ports gibt.
Denn, wieder geht nur ein Port, der stromfressende RS485-Port bleibt stumm.

Beachtet man das im microcontroller-zitat genannte Verhalten, dass sich eine Schaltung erstmal mit 100mA low Power anmelden muss und dann ein GO für das Zuschalten des stärkeren Schaltungsteil wartet, verhält sich der Mehrfachwandler genau richtig. RS232 geht auch mit 100mA, die anderen werden nicht zugeschaltet, weil es das Freigabesignal nicht gibt. Es muss also einen Einfluss des Treibers hierbei geben. Und der scheint unter Win7 nicht richtig zu funktionieren.

Zitat von Sir Rufo:
Kaum macht man's richtig - schon funktioniert's
Das wäre hiermit widerlegt

Ich vermute, über das Problem wäre viel mehr bekannt, wenn alle Produkte mit Prolific-Chipsatz so ordentlich nach Vorschrift funktionieren würden

Grüße, Messie
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz