Moin zusammen,
ich habe Probleme bei der Prgorammierung eines FTDI232BM und hoffe mir
kann jemand von Euch irgendeinen Tipp geben, was ich noch untersuchen
könnte. Der FTDI232BM ist via Referenz-Design an einen 93C56 EEPROM
angebunden (16-bit Mode). Im EEPROM soll eine spezielle PID und
Seriennummer abgelegt werden. Leider stehen bei mir jedoch nach einem
USB-Bus Scan völlig falsche Werte im EEPROM. Sämtliche Lösch- und
Programmierfunktionen mache ich mit dem Standard FTDI Tool "FT_Prog"
unter Windows 7. Hier mein bisheriges Vorgehen.
Den EEPROM zu löschen funktioniert ohne Probleme und das Tool zeigt den
Inhalt des EEPROM auch als "leer" an. Dann programmiere ich den EEPROM
über ein selbst erstelltes Template - was ebenfalls ohne Fehler
funktioniert. Nach einem USB-Port Cycle scheint im EEPROM auch alles
richtig angekommen zu sein. Scanne ich nun jedoch den gesamten USB Bus
erneut, dann stehen teilweise geänderte Werte im EEPROM. Die
Verbindungen auf dem PCB habe ich schon x-mal gecheckt, lediglich
besonders ist, das der FTDI die Din und Dout Signale über eine
gemeinsame Leitung überträgt. Deshalb habe ich zusätzlich einen Saleae
Logic Analyzer angeschlossen. Ich bin kein Elektroingenieur, aber für
mich sehen die Signale jedoch völlig normal aus. Beim leicht
weglaufenden Takt bin ich mir jedoch unsicher, ob dies vielleicht mein
Problem sein könnte.
Ich habe mal ein Startup des FTDI und ein READ-Vorgang des EEPROM
beigefügt.
https://drive.google.com/file/d/1oGWyLTKq93YzJ92ogZe0kQXPZeAbbMlk/view?usp=sharinghttps://drive.google.com/file/d/1mEhMgn2fQ_dMCAPm47hjCgVS9WRk9Ydw/view?usp=sharing
Vielleicht hat jemand von Euch einen Tipp für mich, was ich falsch
mache.
thx
Mario
Das PCB des Devices orientiert sich am Referenz-Design von FTDI.
Lediglich die 1-Wire Datenleitung scheint unüblich zu sein. Ich bin wie
gesagt kein "begnadeter" Elektroniker, weshalb ich es mir leicht machen
wollte und entweder den 232BM oder den 93C56 tauschen wollte - ohne
großartig nach neueren Alternativen zu suchen. Bisher habe ich nur noch
nicht verstanden, woher das Problem kommt. Soweit ich weiß, verlangt die
Software für das Device eine eigene Seriennummer im EEPROM, weshalb z.B.
ein 232RL nicht gehen dürfte.
Mario B. schrieb:> Referenz_FTDI.png
Rufus Τ. F. fragte nicht ohne Grund nach
Rufus Τ. F. schrieb:> Gibts ein Bild des Aufbaus?
denn auch im Aufbau kann der Hund begraben liegen.
Ausserdem brauchen auch EEPROMs manchmal einen Abblock-
Kondensator.
Mario B. schrieb:> Lediglich die 1-Wire Datenleitung scheint unüblich zu sein.
Das ist keine OneWire-Leitung sondern ein bidirektionales SPI.
Mario B. schrieb:> Soweit ich weiß, verlangt die Software für das Device eine eigene> Seriennummer im EEPROM, weshalb z.B. ein 232RL nicht gehen dürfte.
Der FT232R enthält ein EEPROM und hat ab Werk eine individuelle
Seriennummer.
Rufus Τ. F. schrieb:> Der FT232R enthält ein EEPROM und hat ab Werk eine individuelle> Seriennummer.
und selbst der ist nicht mehr ganz taufrisch und dementsprechend teurer.
Aktuell würde man wohl die FT-X-Serie verwenden, z.B. FT230X oder FT231X
für UARTs. Die haben auch alle das EEPROM integriert.
Nur wenn man noch 5V IO-Spannung braucht käme der FT232R für
Neuentwicklungen in Betracht, wobei auch da in den meisten Fällen ein
kleines Logikgatter zur Spannungswandlung billiger sein dürfte als der
Aufpreis für den FT232R.
Mitlesa schrieb:> Das ist keine OneWire-Leitung sondern ein bidirektionales SPI.
Wieder was dazu gelernt und sorry, falls ich es falsch benannt hatte
Mitlesa schrieb:> denn auch im Aufbau kann der Hund begraben liegen.> Ausserdem brauchen auch EEPROMs manchmal einen Abblock-> Kondensator.
Der grundsätzliche Aufbau kann nicht verkehrt gewesen sein, sonst hätte
der Adapter nicht lange Zeit funktioniert. Es geht wie gesagt nur um die
Programmierung des EEPROM. Was soll denn noch Einfluss auf die
Leiterbahnen haben, wenn es nur diese Verbindungen zwischen 232BM und
93C56 gibt?
Rufus Τ. F. schrieb:> Der FT232R enthält ein EEPROM und hat ab Werk eine individuelle> Seriennummer.
Genau das ist das Problem. Die Software möchte Ihre eigene SN haben und
nicht die FTDI-gebrandete.
Ich möchte eigentlich nix ändern, sondern lediglich das eventuell
defekte Bauteil gegen baugleiches tauschen.
Das EEPROM des FT232R lässt sich natürlich mit FT-Prog beschreiben.
Was für eine komische Software ist das, die da eine spezielle
Seriennummer braucht?
> Was soll denn noch Einfluss auf die Leiterbahnen haben, wenn es nur> diese Verbindungen zwischen 232BM und 93C56 gibt?
Da ja offensichtlich etwas nicht funktioniert, muss irgendwas am Aufbau
dafür verantwortlich sein.
Ich weiß ja noch nicht einmal, ob es wirklich ein Hardware-Problem ist.
Deshalb hatte ich extra den Logic-Analyzer angeschlossen. Dabei fiel mir
lediglich auf, das der Takt nach der Übertragung von OP-Code und
Adressierungs-Bits leicht "weg läuft" - sorry falls es wieder einen
Fachbegriff dafür gibt. Ich könnte mir vorstellen, das dadurch das erste
Datenbit ungültig ist. Hättest Du vielleicht mal die Möglichkeit in das
Saleae Capture (Startup File) zu schauen?
Mario B. schrieb:> Hättest Du vielleicht mal die Möglichkeit in das> Saleae Capture (Startup File) zu schauen?
Warum muss man sich erst irgendeine Krypto-Software installieren
um dir helfen zu sollen?
Geht's nicht ein bisschen einfacher?
Wie meinst Du das? Ich finde die Saleae Analyzer für den Hobbybereich
recht brauchbar und sie sind m.E. auch ziemlich verbreitet. Hätte ja
sein können, das Du damit arbeitest.
Wie wäre es denn für Dich akzeptabel, damit Du mir vielleicht helfen
kannst? Soll ich Screenshots vom Analyzer erstellen? Werden dann halt
recht viele Bilder.
thx
Mario
Mario B. schrieb:> Wie meinst Du das?
Was ich meine: du willst ein Problem von der Community gelöst
haben, dann wäre es auch deine Aufgabe die Tatsachen so
mundgerecht zu servieren dass jeder - ohne Kopfstände machen
zu müssen - auf dein Problem eingehen kann. So ist jedenfalls
hier die übliche Vorgehensweise.
Mario B. schrieb:> m.E. auch ziemlich verbreitet
Wenn man nichts besseres hat, vielleicht.
Wenn du aber möglichst viele mit deinem Problem erreichen
willst, dann so nicht.
Ich habe jetzt die Werte für eine READ Operation aus dem Analyzer in
Excel übertragen. Vielleicht hilft dies ja weiter. Was mir direkt
auffällt, sind die vielen 0x7FFF. Ich würde mal vermuten, das dies
eigentlich 0xFFFF sind. Somit wäre es das erste Daten-Bit nach den
Adress-Bits. Kann es sein, das es durch die bidirectional SPI Anbindung
ein Problem mit der Dummy "0" bei der READ Operation gibt? Ich habe
deshalb auch noch einen Scrrenshot vom Analyzer beigefügt. An den
Bookmarks sieht man zusätzlich die von mir erwähnte einmalige
Taktänderung.
thx
Mario
Nachdem du ja über den Dingen stehst (du brauchst deinen Aufbau
ja nicht zeigen da dieser perfekt ist) brauchst du dir ja auch
von mir nicht sagen lassen dass dein Aufbau fehlerhaft ist.
Zumindest stehst du ja - was die Hardware betrifft - über den Dingen.
Siehe auch:
Rufus Τ. F. schrieb:> Da ja offensichtlich etwas nicht funktioniert, muss irgendwas am Aufbau> dafür verantwortlich sein.
Mario B. schrieb:> sieht man zusätzlich die von mir erwähnte einmalige> Taktänderung.
Diese Taktänderung könnte von der mangelnden Zeitauflösung
deines Logic Analyzers kommen (Quantisierungs-Stufen der
Zeitachse).
Keine Ahnung ob es Humor oder Sarkassmus sein soll, aber den Aufbau habe
ich bereits gepostet. Keine Ahnung was ich noch schicken soll, wenn der
232BM direkt mit dem 93C56 verbunden ist? Ich habe jetzt nochmal eine
Zeichnung beigefügt, an dem Aufbau wird das aber nix ändern. Anstatt mir
ständig meine Dummheit vorzuwerfen, könntest Du mir ja vielleicht mal
erklären, ob der Bus Konflikt dafür verantwortlich sein könnte.
Mario B. schrieb:> Anstatt mir ständig meine Dummheit vorzuwerfen,
Deine "Dummheit" ist darin zu sehen dass du nicht wissen willst
was ein Aufbau ist. Du zeigst nur andauernd Schaltpläne.
Mario B. schrieb:> aber den Aufbau habe ich bereits gepostet.
Nein, Du hast einen Schaltplan gepostet. Der Aufbau wäre ein Bild Deiner
Platine, das Layout.
Was ich in Deinem Schaltplan beispielsweise nicht sehe, ist ein
Abblockkondensator für die Versorgungsspannung Deines EEPROMs.
Auch wenn das im Datenblatt des FT232BM nicht auftaucht, sollte der
nicht fehlen.
Den Ferrit, den FTDI in der Beispielbeschaltung für "USB bus powered
configuration" zwischen USB-Buchse und Vcc packt, sehe ich in Deinem
Schaltplan auch nicht.
Und was man --natürlich-- nicht sehen kann, ist, wo Du Deine
Entkopplungskondensatoren physisch angeordnet hast.
FTDI listet drei Stück (zwei mal 100 nF, einmal 10 µF), in Deinem
Schaltplan sehe ich nur einen der 100-nF-Kondensatoren.
FTDI hat sogar ein Beispiellayout:
https://www.ftdichip.com/Support/Documents/Schematics/US232B/US232B-bottom.pdfhttps://www.ftdichip.com/Support/Documents/Schematics/US232B/US232B-top.pdf
Und den dazu passenden Schaltplan:
https://www.ftdichip.com/Support/Documents/Schematics/US232B/US232B-schematic.pdf
Wie sieht das bei Dir aus?
Wahnsinn, was einem alles vorgeworfen wird, nur weil mir als Laie nicht
bekannt war, das es einen Unterschied zwischen dem Begriff Aufbau und
Schaltung gibt. Insofern vielen Dank an Rufus, der wenigstens das
Misverständnis aus der Welt räumen konnte. Ein einfaches "schick mal ein
Bild von der Platine" hätte es auch getan, zumal ich 2-mal geschrieben
hatte, das ich kein EE bin. Mir zu unterstellen, das ich irgendetwas
vorenthalten möchte finde ich ziemlich krass. Was meinen Analyzer
angeht - nein ich habe nichts Besseres und kann mir als Hobbybastler
auch nix besseres leisten. Wenn ich damit den Fehler nicht finden kann,
so ist das auch ein Ergebnis und ich begrabe die Reparatur - was ich
sehr bedauern würde.
Anbei nun ein Bild vom Aufbau. Ich hoffe die Auflösung ist hoch genug.
Die Widerstände habe ich gemessen, bei den Kondensatoren fehlt mir das
nötige Equipment. Was ich grundsätzlich nicht verstehe, hätte ich denn
überhaupt einen gültigen Signalverlauf am Analyzer gehabt, wenn es mit
den analogen Bauteilen ein Problem gäbe?
Falls irgendjemand bereit ist mir weiter zu helfen, so wäre es schön,
etwas andere Maßstäbe an den Skill des Einzelnen zu setzen.
Besten Dank
Mario
Die Platine hat offensichtlich nicht den von Dir geposteten Schaltplan
als Quelle. Das EEPROM (IC2) ist beispielsweise mit den Kontakten des
nicht bestückten IC8 verbunden.
Das macht es jetzt nicht gerade einfach.
Ich habe an dem Adapter nichts verändert und kann nur nochmal sagen, das
dieser 10 Jahre funktioniert hat. Als Ihr nach einem Schaltplan gefragt
hattet, habe ich lediglich diesen im Internet gefunden, da ich selbst
Keinen besitze. Die Pins am IC8 müssen schon immer so "offen" gelegen
haben. Die Verbindungen zum FTDI sind aber gegeben. Sind denn die von
Dir gesuchten Kondensatoren "scheinbar" vorhanden?
Mario B. schrieb:> und kann nur nochmal sagen, das dieser 10 Jahre funktioniert hat
Der Adapter, oder das Programmieren des EEPROMs darauf?
> Als Ihr nach einem Schaltplan gefragt hattet, habe ich lediglich diesen> im Internet gefunden, da ich selbst Keinen besitze.
O je.
Du hast also nicht den Schaltplan Deines Adapters gepostet, sondern
einfach irgendeinen?
Dabei hast Du das hier behauptet:
> Das PCB des Devices orientiert sich am Referenz-Design von FTDI.
Und das ist ganz offensichtlich unwahr.
Daß das überhaupt nicht hilfreich ist, ist Dir nicht klar?
> Sind denn die von Dir gesuchten Kondensatoren "scheinbar" vorhanden?
Das kann ich aus den Schnipselbildern nicht erkennen.
Rufus Τ. F. schrieb:>> Das PCB des Devices orientiert sich am Referenz-Design von FTDI.>> Und das ist ganz offensichtlich unwahr.
Was soll daran unwahr sein? Also messen kann ich noch und das Board ist
mit dem Referenz Design identisch. Und das ich natürlich nicht
irgendeine Plan genommen habe, sollte auch einleuchten. Mag sein, das
ich nicht exakt die Revision gefunden habe, die mein Board
wiederspiegelt. Keine Ahnung was diese Belehrung jetzt wieder soll.
Mario B. schrieb:> und das Board ist mit dem Referenz Design identisch.
Nein. Ist es nicht; im Referenzdesign taucht beispielsweise "IC8" nicht
auf.
Das ist zwar bei Dir nicht bestückt, aber hast Du wirklich jede einzelne
Leiterbahn und Durchkontaktierung vollständig verfolgt?
Mario B. schrieb:> Keine Ahnung was diese Belehrung jetzt wieder soll.
Du willst, daß man Dir hilft, machst es den Helfenden aber maximal
schwer, das zu tun.
Kannst Du wenigstens meine Frage nach der Funktion des EEPROMs
beantworten?
Rufus Τ. F. schrieb:> Nein. Ist es nicht; im Referenzdesign taucht beispielsweise "IC8" nicht
Keine Ahnung ob Referenz jetzt auch wieder eine besondere Bedeutung hat,
aber sämtlich Leiterbahnen und Bauteile sind mit dem Design identisch.
Ich habe nie vom PCB gesprochen.
> Das ist zwar bei Dir nicht bestückt, aber hast Du wirklich jede einzelne> Leiterbahn und Durchkontaktierung vollständig verfolgt?>
Ja, mehrfach.
> Kannst Du wenigstens meine Frage nach der Funktion des EEPROMs> beantworten?
Der Adapter hat funktioniert. Zumindest muss auch die READ Op des EEPROM
funktioniert haben, sonst hätte die Software die Seriennummer nicht
auslesen können. Bei einem Firmware-Update habe ich einen Fehler
gemacht. In Folge dessen hatte ich aus Unwissenheit auch den EEPROM des
FTDI gelöscht. Und nun versuche ich diesen halt wieder herzustellen.
Ich gebe auf. Ich komme mir vor wie im Kindergarten, aber nicht unter
erwachsenen Leuten. Mal ist es der falsche Begriff, mal das falsche
Meßgerät, mal der Bildausschnitt zu klein (umgekehrt wäre wohl kaum
sinnvoll gewesen) und zum Schluss der Staatsfeind Nr. 1, der alles
geheim halten möchte.
Aber ein Glück das Ihr alle unfehlbar seid. Du hast Recht, ich habe PCB
geschrieben und meinte Schaltung. Ausser völlig unsachlichen Vorwürfen
kam fachlich nicht viel. Ihr solltet eine closed Group bilden, aber kein
öffentliches Forum betreiben. Ich habe noch nie ein Forum erlebt, in
welchem man eine derartige Überheblichkeit antrifft.
Vielen Dank für die großartige Hilfe!
Das Ding sieht aus wie ein VCDS Adapter.
Ich gehe davon aus das die Seriennummer geändert werden muss da die
ursprüngliche Nummer auf einer Blacklist steht.
Mario B. schrieb:> Mal ist es der falsche Begriff, mal das falsche Meßgerät, mal der> Bildausschnitt zu klein (umgekehrt wäre wohl kaum sinnvoll gewesen) und> zum Schluss der Staatsfeind Nr. 1, der alles geheim halten möchte.
Lauter Geisterfahrer. Ganz sicher.