Archiv verlassen und diese Seite im Standarddesign anzeigen : Ft232bm
Ich habe mir mit dem FT232BM ein Modul gebaut ( www.dianu.de (http://www.dianu.de/) 10MHz DDS ). Funktioniert auch alles ordentlich. Nun meine Frage, man kann mit der Software des Herstellers eine eigene VID und PID Kennung in den EEPROM 93C46 am FT232BM eintragen. Da bin ich noch nicht durchgestiegen, was die einzelnen Kennungen bewirken und wie das gehen soll. FTI erwähnt auf seiner Web, das sie irgendwelche freien Kennungen die an ihrer eigenen hängen vergeben. Was hat das zu bedeuten? Theoretisch müßte es so möglich sein, das sich der Modul mit einem von mir erdachten Namen am USB anmeldet? Hat das schon mal jemand gemacht und wie setzen sich die USB Kennungen zusammen? Das Net gibt nur weniges in englisch her. Wie benutzt man den dazugehörigen Progtool?
Also, Fragen über Fragen. Wie geschrieben, das Teil funktioniert auch gänzlich ohne EEPROM. Ist also nur ne kosmetische Sache, ich möchte aber gern komplett wissen wie das funktioniert.
73 Gerd H
Hallo Gerd,
das hatte mich auch mal interessiert, hab das aber noch als 'Langzeitprojekt' bei mir irgendwo rumliegen. Vielleicht mach ich mal Bilder...
Im PDF ds232b11.pdf von FTDI steht, dass der FT232BM mittels EEPROM durch eine VID, PID, Seriennummer usw. erweitert werden kann, um z.B. mehrere dieser Chips am USB-Port zu betreiben und jeden davon eindeutig mit einem einzelnen virtuellen COM-Port anzusprechen. Ohne EEPROM wird die interne voreingestellte PID, VID, Produktbeschreibung und der "Power Descriptor Value" verwendet. Soweit ich es im Sinn hab gibt es ein grosses Problem dann, wenn man was eigenes stricken und AUCH verkaufen möchte, da diese ID's lizensiert sind (sehr teuer!) und somit nicht frei verwendbar. Bleibt dann nur eine vom Hersteller zur Verfügung gestellte (unter Wahrung seiner Bedingungen) zu verwenden. Praktisch wollte ich mit so einem Teilchen auch schon mal rumspielen und hab dazu noch diese Seite auf meiner HD:
http://www.holger-klabunde.de/usb/usb.htm
Gruß
Gerd K.
, da diese ID's lizensiert sind (sehr teuer!) und somit nicht frei verwendbar. Bleibt dann nur eine vom Hersteller zur Verfügung gestellte (unter Wahrung seiner Bedingungen) zu verwenden. kann man das wo nachlesen?
@Rudo
Ich meine die c't hatte mal was geschrieben, hab aber den Artikel jetzt nicht parat, bin mir aber recht sicher dass es so war bzw. ist. Für den Eigengebrauch spiel das ja auch keine Rolle, nur wenn es ein kommerzielles Produkt werden soll.
Hab gerade parallel noch mal geschaut. Hier ist auch davon zu lesen:
http://www.mikrocontroller.net/forum/read-1-147576.html
Hier stehts auch nochmal offiziell:
http://www.unitronic.de/ftdi/spezial_faq.htm
Gruß
Gerd K.
Hier stehts auch nochmal offiziell:
http://www.unitronic.de/ftdi/spezial_faq.htm
Gruß
Gerd K.@Gerd K., danke fuer die Info!, das ist nett von Dir.:)
@Rudo u. Gerd K,
na prima, da sind wir ja schon drei :) . Habe gerade mal bei Microcontrollers gelesen. So richtig sind die sich aber auch noch nicht klar wies geht und was geht. Also, das Thema ist für mich nicht vom Tisch. Mal als Info. Der FT232BM arbeitet auch völlig ohne den EEPROM. Der Chip meldet sich als "USB Serial Port" ohne den Namen FTI. Sicher muß man wissen, welcher Treiber benötigt wird. Es ändert sich absolut nix, egal ob der EEPROM gesteckt ist oder nicht. Wir haben inzwischen das Gerät auf mehreren Systemen getestet. XP, 2000, 98, klappt immer, Hauptsache man benutzt den entsprechenden Treiber. Meine Aussage gild aber nur für den BM. Wie der ältere AM ohne EEPROM reagiert, nje snaju. Ich denke, die Forschungsarbeit geht weiter, bis eine eindeutige Aussage getroffen ist, zumal mein Gerät fertig vor mir steht und der EEPROM steckt drinn, bereit meine Ideen abzuspeichern, oder auch nicht.
73 Gerd H
Oh Gerd K neuer Link, so schnell war ich nicht :-)
na dann stell ich doch mal Fotos bei mir rein.
@Rudo,
jo, das wäre hilfreich
so steht FTI in der Systemsteuerung
also, wenn ich das richtig verstanden habe,
eine VID > Vendor ID > würde Geld kosten,
zu einer VID gibt's ne ganze Masse PID > Produkt ID >
die kann man bei FTDI kostenlos beziehen.
FTDI besitzt eine VID und vergibt bei Einsatz ihrer Chips PID's
Nächste Frage, wenn ich mein Produkt zB "anatec" nennen möchte, wo steht das dann? in der VID oder in der PID oder wo nun?
73 Gerd H
@Anatec (Gerd H.)
Die VID und PID sind doch nur Zahlen. Ich würde mal auf den Device Descriptor (DeviceDesc) tippen, der als Name im Gerätemanager erscheint und frei wählbar ist (String), so zumindest hats der Klabun auf seiner Seite beschrieben. Kostenlos ist es wohl nur für eigene Applikationen oder wenn das Verkaufsprodukt den Treiber von FTDI verwendet UND auf Werbung mit dem USB-Logo verzichtet (so habe ich es bis jetzt verstanden). Willst du das Teil vermarkten?
Gruß
Gerd K.
@Gerd K,
vermarkten? naja, einige Anfragen sind da. Wechens des Treibers habe ich gar kein Problem. Ich nutze den Original FTDI Treiber (wer bitte versteht sich darauf, für diesen Chip einen eigenen Treiber zu schreiben?) und wenn das Gerät als FTDI im Gerätemanager erscheind isses eh Wurscht, sieht keiner. LOL. Wäre eigendlich nur von Interesse, da ich noch mehr mit dem Chip vorhabe, sodas der PC die Dinger auseinanderhalten muß. Das er sich mit einem Namen meldet, nagut, aber was wäre, wenn einerseits die PID unterscheidbar ist und andererseits der Besitzer des PC nicht erkennen kann, welchem der FTDI Comm's welches Gerät zugeordnet ist? Im Gerätemanager würde ja nur FTDI und Comm3 und 4 und 5 stehen. Zumindest stelle ich mir das so vor. Letztendlich können doch nicht zwei Geräte gleichzeitig auf den gleichen Treiber zugreifen, oder? mal nicht. Klabun opert mit den dll's rum. Die kann ich eh nicht programmieren. Ich nutze den virtuellen Com Port Treiber. An den kommt man prima unter VB mit der MSComm ran.
73 Gerd H
@Gerd H.
Insgesamt stellt sich das für mich momentan so da:
- Nichtkommerziell, nur EIN Gerät mit FTDI Chip an USB:
1. Treiber von FTDI verwenden
2. Standard Vendor ID (VID) UND Standard Produkt ID (PID) von FTDI verwenden
- Nichtkommerziell, MEHR als ein Gerät mit FTDI Chip an USB:
1. Treiber von FTDI verwenden
2. Standard Vendor ID (VID) UND Standard Produkt ID (PID) von FTDI verwenden
3. zusätzlich EEPROM anbinden, das eine eindeutige Seriennummer pro Gerät vergibt und Device Descriptor mit eigenem String möglich
- von FTDI empfohlen für mehrere via FTDI angebundene Geräte an USB:
1. Treiber von FTDI verwenden
2. Standard Vendor ID (VID) von FTDI verwenden
3. PID Block von FTDI für eigenen Produkte zu beantragen (wenn kommerziell, dann event. kostenpflichtig, nichtkommerziell event. kostenfrei ?
4. neue PID in INF-Treiber einbinden
5. eindeutige Seriennummer + Device Descriptor in EEPROM
- eigene Vendor ID (für Firmenprodukt) für 2 Jahre erfordert Zertifizierung mit Jahresgebühren, eigene Treiberentwicklung, weitere Gebühren falls auch mit dem USB-Logo geworben werden soll, event. Workshops mit entsprechenden Mitgliedschaften und weiteren Gebühren
Wenn es so einen PID-Block umsonst gibt, dann scheint mir das der geeignete Weg. Ansonsten wird es entweder Treiberkonflikte geben oder es wird seeehr teuer. :D
Zur Unterscheidbarkeit kann ich dir momentan leider auch nicht mehr sagen, ist aber nicht unwichtig. Treiber können schnell Ärger verursachen (Memory Sticks, Linux etc) und das ist äußerst lästig.
Gruß
Gerd K.
aja, so habe ichs auch begriffen, das mit kostenfreien PID Block habe ich auch bei FTDI mühsam übersetzt. Was schlägst du vor? einfach mal ne PID Serie beantragen? Rudo hat gerade im Board www.dianu.de (http://www.dianu.de/) (MC Interface) seine Unterlagen über diese EEPROM Sache aufgelistet. Schau halt bitte auch mal dahin, ich glaube da gehts um die Daten im EEPROM. Ich muß mal bei FTDI die pdf suchen, wo sie das Umschreiben der Treiber erläutern.
73 Gerd H
Zu intensiv kann ich mich jetzt nicht mit dem Teil befassen (hab auch keins rumliegen). Aber so wie ich das sehe, brauchst du den virtuellen COM-Port Treiber (den hast du wohl schon) und das EEPROM Programming Utility, was die entsprechenden Bytes in das EE schreibt. VID ist fix mit 0403h, ebenso erstmal die PID mit 6001h. Klabunde schreibt, bei einem leeren EE ließe sich mit dem TOOL die PID verändern (wenn ein richtig angebundenes EE verhanden ist wird die PID vom EE bestimmt und nicht die voreingestellte PID vom FTDI-Chip verwendet). Du kannst ja spassenshalber (vor der Anfrage wegen PID-Block) mal versuchen für 2 Platinchen (so vorhanden) die erste PID auf 6001h und die zweite PID auf 6002h zu setzen (Klabunde hat es so ähnlich gemacht). Danach dann in der inf Datei ebenfalls ändern, um herauszufinden, ob Windows die Virtuellen Com-Ports dann unterscheidet (dazu würde ich mir event. ein Minimal-Test-Windows auf einer eigenen Partition einrichten, um Registry such und Löschorgien zu vermeiden und man kann besser nachvollziehen ob es beim "treiberfreien" Win später funktioniert).
FTD2XXST4.zip und die FTD2XX.DLL aus ST_232_245.zip braucht es. In "FTD2XXST user guide.pdf" steht in Appendix 2 wie die inf Dateien bez. PID anzupassen sind ansonsten stehen da sehr schön die Felder umschrieben aus deinen Scans (Dianu). Nebenbei, der Programmcode von C++ Builder in ST_232_245.zip ist gut überschaubar mit CreateFile() usw., besser als das aufgeblähte MFC Zeugs aus dem VisualC++ Beispielcode.
Gruß
Gerd K.
habe das eben recht interessiert gelesen.
Vendor ID auf keinen Fall verändern!!!
Das wäre so, als wenn man einem Mercedes den Stern abschraubt und ein VW Logo auf den Kühlergrill schraubt.
Wenn man dann gleichzeitig auch noch die Produkt ID verändert, also das "350 SLK" durch "Piranha 3.5" auf der Heckklappe austauscht, dann ist nicht nur Mercedes sauer, sondern auch VW.
Die M-Leute, weil ein anderer Vendor sich für sie ausgibt und!!! die komplette Entwicklung und Fertigung vermarktet (M kaufen, VW xy draufschreiben, 5000,- Euro draufhauen und weiterverkaufen); auch die VW Kundschaft wäre sauer; spätestens beim nächsten Werkstattbesuch, wenn der Meister ungläübig davor steht, "tut mir leid, was iss´n das; da paßt ja noch nichtmal unser Diagnosestecker..."
Internet geht noch besser (außer Firewall, Router, Intranet).
Jeder, der sich ein Buch kauft "Wie geht das?" liest dort 192.168.7.1 z.B und schon konfigurieren tausende von Druckerbesitzern jeder seinen Drucker mit 192.168.7.1. Jeder PC (gerade in der Unix Welt beliebt heißt natürlich "foo" oder "genius%" (Original Sparc System User´s Guide) usw.
Toll, wenn jetzt noch die "Cloner, China-Abkupferer" Netzwerkkarten nachbauen, von denen jede weltweit eine eindeutige ID haben muß / sollte... und mal ihrem Kumpel sagen; "schieß mir mal tausend von den EEproms; hier hast Du einen.."
Also zumindest mal bei dem Chip-Hersteller nachfragen, was man denn privat so benutzen dürfte als Product-ID.
Rest ist korrekt; als Vendor (Hersteller bzw. BRAND, das neue Wort dafür) aufzutreten läßt der "echte" Vendor sich kräftig bezahlen.
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.