mikrocontroller.net

Forum: PC-Programmierung 2x COM3, wie geht sowas ??


Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe bei mir zwei FT232, beide mit denselben EEPROM Daten am PC
angeschlossen. Beide werden als COM 3 erkannt und ich kann mit zwei
Programmen auf COM 3 zugreifen (ich nenn sie jetzt einfach mal COM3A
und COM3B)...

Ist das normal ?
Gibt es eine Möglichkeit COM3A und COM3B voneinander zu unterscheiden,
bzw. zu erkennen welcher was ist ?

Es ist schon merkwürdig:
Schließ ich ein FT232 an, ist ein COM3 im Gerätemanager da, schließ ich
den zweiten an, ist immer noch ein COM3 da. Steck ich einen ab, ist kein
COM3 mehr da, aber der erste FT232 funktioniert noch als COM3...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das liegt möglicherweise daran, daß beide die selbem EEPROM-Daten
verwenden und also dieselbe Seriennummer haben. Damit rechnet der
FTDI-Treiber vermutlich nicht und verhält sich entsprechend seltsam.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verschiedene IDs in den EEPROMs?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider befindet sich der FT232 auf einem fertgen Modul. Dessen ID
kann/darf ich auch nicht ändern.
Gibt es sonst noch eine Möglichkeit ?

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die ID eines Devices wirst du ändern müssen. Dafür gibt es von FTDI
mprog.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

also ich hab schon mehrere FT245BM (IIRC bis zu fünf) am Rechner gehabt
die alle kein progr. EEPROM hatten. Die werden dann einfach anhand ihrer
Position im USB-Bus durchnummeriert. Doppelte Schnittstellen hatte ich
nie. OS: WinXP.

Matthias

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das ist auch was anderes. Wenn die Dinger kein EEPROM haben, dann
verhält sich der Devicetreiber entsprechend; wenn die Teile aber ein
EEPROM und eine eineindeutige Seriennummer haben, dann kommt der
Devicetreiber sicherlich durcheinander.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ich schrub "kein progr. EEPROM". Das EEPROM ist also gefüllt mit
0xFF. Die haben alle die gleiche VID, DID und Seriennummer und werden
anhand ihrer Position im USB-Bus (ist ja eher ein Baum)
unterschiedlichen Schnittstellen zugeordnet. Ich kann den gleichen
FT245BM an unterschiedliche Buchsen anstecken und er bekommt jedes mal
eine andere COM zugeordnet.

Wenn ich aber das EEPROM programmiere bekommt er immer die gleiche COM
egal an welche Buchse ich ihn stöpsle.

Matthias

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nehme an, daß das Verhalten bei nicht programmiertem EEPROM dem bei
nicht vorhandenem EEPROM entspricht.

Benedikt aber scheint zwei FT232 zu verwenden, die beide mit einem
identisch programmierten EEPROM verbunden sind. Die eineindeutige
Zuordnung Adapter->COM-Nr, die der Treiber aufgrund der im EEPROM
vorhandenen Seriennummer vornimmt, die scheitert an dieser Tatsache.

Benedikts Problem lässt sich daher auf folgenden Wegen lösen:
- EEPROM bei mindestens einem der Adapter deaktivieren/entfernen
- EEPROM eines Adapters umprogrammieren, so daß eine andere
Seriennummer verwendet wird.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

nö. Selbst bei zwei identischen EEPROMs ist die Position im Bus
entscheidend für die zugeordnete COM-Schnittstelle (unter WinXP) Warum
sollte es auch anderst sein als ohne EEPROM. Da melden ja schließlich
auch beide Chips die gleiche Seriennummer. Die Seriennummer ermöglich
nur eine eindeutige Zuordnung von Chip zu COM-Schnittstelle so das man
jeden beliebigen USB-Port nutzen kann und immer die gleiche
Schnittstelle hat.

Matthias

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias, bist Du Dir da wirklich sicher, daß es sich auch bei
vorhandener Seriennummer im EEPROM so verhält?

Autor: Hubert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An das Rufus:

Die COM Nr. wird vom BS vergeben und hat mit Deinem EEPROM nix am Hut.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hubert: das BS schaut (über den Treiber) im EEPROM nach der Seriennummer
und vergibt den COM-Port, eben so, wie Matthias es geschildert hat: wenn
man ein Modul mit einer bestimmten Seriennummer betreibt, erhält man
immer die gleiche COM-Nummer. Wozu sollte sonst das EEPROM gut sein,
wenn das BS damit nichts am Hut hat, hä?

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

@Rufus
Stimmt. Wenn die Seriennummer und VID/DID identisch sind wird nur das
erste Gerät erkannt. So sagt zumindest die Hilfe von MProg.

Matthias

Autor: René König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Selbst bei zwei identischen EEPROMs ist die Position im Bus
> entscheidend für die zugeordnete COM-Schnittstelle (unter WinXP)
> Warum sollte es auch anderst sein als ohne EEPROM. Da melden ja
> schließlich auch beide Chips die gleiche Seriennummer.

Windows unterstützt gleiche Geräte (selber VID, selber PID) mit
identischer Seriennumer nicht. Punkt. Mit blankem EEPROM, wie Du es
beschrubst, geben die Chips keine Seriennumer zurück. Schau mal ins
Datenblatt:

"When no EEPROM (or a blank or invalid EEPROM) is attached to the
device, the FT232BM no longer gives a serial number as part of its USB
descriptor. This allows multiple devices to be simultaneously connected
to the same PC. However, we still highly recommend that EEPROM is used,
as without serial numbers a device can only be identified by which hub
port in the USB tree it is connected to which can change if the end
user re-plugs the device into a different port."

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Exakt das meinte ich. Dank an René für das Zitat.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.