Forum: Mikrocontroller und Digitale Elektronik STM32 USB viele gleiche devices an einem host


von Alex (Gast)


Lesenswert?

Hallo Leute,

ich hab vor einiger Zeit ein kleines USB-basiertes Messinterface (für 
Temperatur, Impulszähler o.ä.) gebaut, das auch sehr gut funktioniert.

Die VCP-USB-Implementierung hab ich von Stefan F.s Webseite, und hab die 
auch mit eurer Hilfe erfolgreich zum Laufen gebracht. Danke dafür!!!
(Beitrag "STM32 USB init problem mit Kompaktcode von W.S." ).

In einer Anwendung hab ich jetzt mehrere (gerne 10+) von diesen kleinen 
Boards an einem PC laufen. Jedes Modul schickt etwa im Sekundentakt ein 
Datum mit ca. 40 Bytes.
Die Stromaufnahme der einzelnen Module ist minimal, grad was der 
STM32F042 benötigt.

Wenn ich mehr als 5 Module an einem USB Port (via aktivem oder passivem 
Hub) anschließe, hab ich Probleme:
- manche Module melden sich nicht am PC an,
- wenn ich sie der Reihe nach einstecke geht z.B. das 6te Modul 
gelegentlich nicht mehr.
- im Betrieb fällt die Kommunikation mit manchen Modulen aus (kein 
Datentransfer am VCP mehr.
- manchmal gehen auch 6 Module über längere Zeit gut..

Hat jemand eine Ahnung, an was das liegen könnte?
Meine Möglichkeiten tief in das USB-Geschehen einzutauchen sind (wegen 
unzureichendem USB-Knowhow) beschränkt, ich hab daher keine große Ahnung 
wo ich da zu Suchen anfangen sollte...

von W.S. (Gast)


Lesenswert?

ne Gegenfrage: hast du deinen vielen Devices auch unterschiedliche 
Seriennummern gegeben? Das macht man in den Strings, die beim 
Enumerieren vom Host helesen werden.

W.S.

von Alex (Gast)


Lesenswert?

Hallo W.S.

Asche auf mein Haupt, natürlich nicht !! :-0

Ich nehme an du meinst den

[c] const byte StringSerial[26] = { [\c]
...

in usb.c, oder?

Da ist es ja fast verwunderlich, dass es überhaupt mit 2 Devices 
funktioniert...

von Thomas Z. (usbman)


Lesenswert?

nun Seriennummern sind bei CDC nicht unbedingt notwendig aber hilfreich. 
Ohne diese wird jedes mal beim Enumerieren ein neuer Comport angelegt. 
Das ist bei so vielen Devices schon mal ein Problem. Ich will gar nicht 
wissen wie deine Registry inzwischen aussieht.
Wie viele Comports kann win überhaupt? 255?
Ohne SN am besten abgeleitet von einer Chip UUID wirst du Probleme 
bekommen. Die Registry bzw PNF Dateien wirst du aufräumen müssen.

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.