Forum: Mikrocontroller und Digitale Elektronik FDTI232BM Programmierung mit EEPROM


von Mario B. (Gast)


Angehängte Dateien:

Lesenswert?

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=sharing
https://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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Gibts ein Bild des Aufbaus?

Warum verwendest Du den reichlich ältlichen FT232BM?

von Mario B. (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Mitlesa (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Gerd E. (robberknight)


Lesenswert?

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.

von Mario B. (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Mario B. (Gast)


Lesenswert?

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?

von Mitlesa (Gast)


Lesenswert?

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?

von Mario B. (Gast)


Lesenswert?

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

von Mitlesa (Gast)


Lesenswert?

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.

von Mario B. (Gast)


Angehängte Dateien:

Lesenswert?

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

von Mitlesa (Gast)


Lesenswert?

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.

von Mitlesa (Gast)


Lesenswert?

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).

von Mario B. (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Mitlesa (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.pdf
https://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?

von Mario B. (Gast)


Angehängte Dateien:

Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Mario B. (Gast)


Lesenswert?

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?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Mario B. (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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?

von Mario B. (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mario B. schrieb:
> Ich habe nie vom PCB gesprochen.

Mario B. schrieb:
> Das PCB des Devices orientiert sich am Referenz-Design von FTDI.

von Mario B. (Gast)


Lesenswert?

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!

von Jan (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

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.