Moin, ich habe hier das Problem das ich einen Spansion (nun Cypress) S29GL064N Flash auslesen und beschreiben möchte. Dieser hat ein TSOP56 Gehäuse und kann nicht direkt in den Programmer eingesteckt werden (ZIF40 DIL Sockel). Interessanterweise kann man ihn aber in der Chipliste auswählen, jedoch nur als TSOP48. Dafür ist von Autoelectric ein Adapter vorgesehen, welchen ich mir zugelegt habe (siehe Bild) Der hat zusätzliche Lateches drauf. Auf die beiden Pfostenleisten wird dann ein passender Gehäuseadapter gesteckt. Die beiligenden sind für mich aber alle unbrauchbar. Es gibt zwar einen SOP56 aber da könnte ich meinen Chip nichtmal drauflöten, weil der TSOP56 viel breiter ist. Weiterhin kann das Pinout meiner Meinung nach nicht stimmen, weil auf dem SOP56 Adapter für die Funktion wesentliche Pins garnicht beschaltet sind. Ist vielleicht für andere Chips gedacht?! Jedenfalls habe ich noch einen TSOP56 ZIF-Sockel mit Pfostenleisten und hätte die Idee gehabt die mit Dupont-Wires zum Adapter zu verbinden. Ich finde jedoch nirgends ein Pinout für den o.g. Latch-Adapter und seine beiden doppelreihigen Pfostenleisten. Damit wüsste ich auch nicht welche Pins des Flash ich mit welchen des Adapters verbinden müsste. Da der TL866 universell ist und seine Pins keine feste Funktion haben (sprich, sie richten sich nach dem gewählten Chip in der Software) müsste ich ja wissen welchen Pin die Software wie anspricht und wo dieser am Adapter zu finden ist. Für mich aktuell ein großes Fragezeichen, da ich keinerlei Unterlagen finden kann.
Das sieht schlecht aus :-( Man könnte natürlich so etwas wie https://www.aliexpress.com/item/ECU-TSOP56-Programming-Socket-Pitch-0-5mm-Chip-Size-14x18mm-Open-Top-IC-Test-Socket-Flash/32841581520.html nehmen, da sind alle Pins auf Pfostenleisten und dann über Lochrasterplatine auf Pfostenbuchsen usw. Mit etwas Pech wird es dann aber mit der Original-Software (vom TL866) trotzdem nicht funktionieren: Die TSOP48- gibt's scheinbar nur als 03, 04, 06, 07, V6, V7, die TSOP56-Variante nur als 01, 02, V1, V2. "Freundlicherweise" haben die aber unterschiedliche IDs, wenn die Software also pingelig (nicht abwegig, da auf dem Adapter oben auch ein "Kopierschutz" drauf sitzt) ist ...
A. B. schrieb: > Das sieht schlecht aus :-( Nciht sehr erbauend... > Man könnte natürlich so etwas wie > https://www.aliexpress.com/item/ECU-TSOP56-Programming-Socket-Pitch-0-5mm-Chip-Size-14x18mm-Open-Top-IC-Test-Socket-Flash/32841581520.html > nehmen, da sind alle Pins auf Pfostenleisten und dann über > Lochrasterplatine auf Pfostenbuchsen usw. Ja, die Teile dafür habe ich ja bereits und das war ja auch mein Plan :-) Aber ohne Pinout vom Programmer, bzw. dem Adapter mit den zusätzlichen ICs drauf weiss ich ja nicht welche Leitungen wo hin müssen. Genau das ist ja mein Dillema! Ich könnte bestenfalls einen 48-poligen Flash kaufen und schauen ob sich der mit dem Adapter problemlos lesen lässt. Wenn ja, dann könnte ich die Signale dieses Flash auf den Pfostenleisten des Adapters "durchklingeln" und dann auf meinen Chip transponieren. > "Freundlicherweise" haben die aber unterschiedliche IDs, wenn die Das ließe sich wohl noch übergehen, wenn man den ID-Check Haken bei der TL866-Programmiersoftware raus macht. > Software also pingelig (nicht abwegig, da auf dem Adapter oben auch ein > "Kopierschutz" drauf sitzt) ist ... ??? Gegen welches kopieren und wozu? Hey, das ist China-Ware, die halten sich doch nicht an Standards ;-) Möglichweise unterscheiden sich die Chips aber nicht nur im Package-Layout und der ID sondern auch im Protokoll?! Meine einzige Alternative im Moment wäre noch ein Arduino Due. Der hat 3.3V IO, was der S29GL064 wohl noch mitmacht und genügen Ports für Adress-, Daten- und Signalleitungen. Aber eigentlich wollte ich nicht alles selbst entwickeln...
@ Olli Z. (z80freak) >ich habe hier das Problem das ich einen Spansion (nun Cypress) S29GL064N >Flash auslesen und beschreiben möchte. Auslesen ist einfach, schreiben schon aufwändiger. >Dieser hat ein TSOP56 Gehäuse und kann nicht direkt in den Programmer >eingesteckt werden (ZIF40 DIL Sockel). Was für ein Programmer? > Interessanterweise kann man ihn >aber in der Chipliste auswählen, jedoch nur als TSOP48. Das sollte egal sein. Der IC ist ja identisch, bestenfalls sind ein paar Signale nicht herausgeführt. >Dafür ist von Autoelectric ein Adapter vorgesehen, welchen ich mir >zugelegt habe (siehe Bild) Und wo kommt dort der Flash hin? >Der hat zusätzliche Lateches drauf. Auf die beiden Pfostenleisten wird >dann ein passender Gehäuseadapter gesteckt. Aha. >sind. Ist vielleicht für andere Chips gedacht?! Sieht so aus. >wissen welchen Pin die Software wie anspricht und wo dieser am Adapter >zu finden ist. In der Tat. Nimm doch einfach das Pinout von diesem IC im TSOP48 Gehäuse, das sollte dann passen.
Olli Z. schrieb: > Ich könnte bestenfalls einen 48-poligen Flash kaufen und schauen ob sich > der mit dem Adapter problemlos lesen lässt. Wenn ja, dann könnte ich die > Signale dieses Flash auf den Pfostenleisten des Adapters "durchklingeln" > und dann auf meinen Chip transponieren. Wozu den Flash kaufen? War der TSOP48-Adapter nicht dabei? Wenn nicht, wäre das eher eine Investion in die Zukunft ;-) Das durchklingeln kann man doch damit machen. > ??? Gegen welches kopieren und wozu? Hey, das ist China-Ware, die halten > sich doch nicht an Standards ;-) Der 8-Beiner ist vermutlich ein PIC oder AVR. Naja, den Adapter kann man so teuer verkaufen. Sonst könnte ja jeder mit 'nem ZIF-Sockel mal schnell ... > Möglichweise unterscheiden sich die Chips aber nicht nur im > Package-Layout und der ID sondern auch im Protokoll?! Lt. Datenblatt unterscheiden sich die Varianten haupts. hinsichtlich der Sektorstruktur (Schreibschutz), das sollte erstmal egal sein. Wenn das Deaktivieren des ID-Check tatsächlich klappt, kein Problem. Ich habe selbst nur die Linux-Variante, daher kann ich dazu nichts sagen.
Ich komm einfach nur von einem Problem ins nächste. Ich habe nun erstmalig den XinGong TSOP48 Latch-Adapter zusammen mit dem TSOP48 ZIF-Sockel getestet. Als Proband dient mir ein fabrikneuer S29GL064N90TFI04 Chip. Im Gegensatz zu dem Chip den ich auslesen möchte (ein S29GL064A90TFAR2), hat dieser nur 48 Pins und entspricht dem Model 04 (V4). Mein anderer hat 56 Pins und Model 02 (V2). Die TSOP56 gibt es nur für Model 01 und 02. Bei den TSOP48 gibt es Model 03, 04 (da sind die Pins 1:1 kompatibel mit dem vom TSOP56) und Model 06, 07 (da sind die Pins etwas anders). Nungut, den Chip selbst konnte ich im MiniPro v6.70 auswählen, aber er meckerte direkt die Chip-ID an. Die war immer wieder anders. Dann habe ich den Chip "erased". Im Endeffekt sind jetzt alles Bytes auf 0xFF. Danach war die Chip-ID plötzlich auch 0x0001227E und der MiniPro war beim erneuten lesen zufrieden. Hmmm, ist denn die Chip-ID vom Hersteller fest vorgegeben? Oder wird die beim programmieren auf einen beliebigen Wert gestellt? Bei letzterem würde es doch mit "Check ID" aktiviert gar keinen Sinn machen diesen Wert zu prüfen. Naja, jedenfalls war ich wohl in der Lage den Flash zu lesen und zu beschreiben, was wohl bedeutet das der Adapter als solches funktioniert. Dann habe ich die Pins vom oberen ZIF-Adapter durchgemessen und festgestellt das die so an den Pfostensteckern verbunden sind:
1 | 1 2 48 47 |
2 | 3 4 46 45 |
3 | 5 6 44 43 |
4 | 7 8 42 41 |
5 | 9 10 40 39 |
6 | 11 12 38 37 |
7 | 13 14 36 35 |
8 | 15 16 34 33 |
9 | 17 18 32 31 |
10 | 19 20 30 29 |
11 | 21 22 28 27 |
12 | 23 24 26 25 |
Dann habe ich mittels Dupon-Wires die Pins von meinem TSOP56 Adapter zu den entsprechenden Pins auf dem Pfostenstecker des Latch-Adapter-Platine verbunden. Der Einzige Pin der übrig blieb war "Vio". Diesen gibt es bei der TSOP48 Variante nicht. Laut Datenblatt ist das ein Eingang und soll niedriger als die Betriebsspannung sein. Er treibt wohl die Buffer-Stufe der Daten. Ich habe diesen zusammen mit Vcc auf 3.3V gelegt. Beim auslesen erhalte ich dann als ID immer nur 0xFFFF FFFF und auch sonst ist der Inhalt den ich lese eher Schmarrn (eine zufällige Aneinanderreihung von nur diesen Bytewerten: 0xFF, 0xFE, 0x7E)
:
Bearbeitet durch User
Die ID ist natürlich fest einprogrammiert. Wenn das Auslesen der ID schon nicht zuverlässig klappt, geht sonst wahrscheinlich auch nichts. Fürs Auslesen der ID sind fast alle Adressleitungen irrelvant, also sollte man die paar restlichen Adressleitungen und CE, OE, WE noch mal sorgfältigst kontrollieren. Diese Jumper-Kabel sind ohnehin keine gute Idee. Wieviele von den 56(!!!) sind 100%-ig zuverlässig? Und unnötig lang sowieso. Außerdem sind Abblock-Kondensatoren umittelbar am Chip dringendst nötig. ZIF-Sockel, Adapterplatine, noch ein Adapter, Kabel, ... das alles zusammen ist schon kritisch. 100nF und zusätzlich 10uF oder so mit kürzest möglichen Leitungen zum Chip, auf der Unterseite des ZIF-Sockels. Die Stromaufnahme steigt beim Selektieren von ein paar uA auf ein paar Dutzend mA in ein paar ns. Das gibt mit Leitungsinduktivität ... Gerade das "mal so, mal so" spricht für so ein Problem.
Ich will und kann das nicht bestreiten was Du sagst, A.B. der Aufbau ist schon abenteuerlich :-) Aber wie will ich es sonst machen? Hab schon die kürzesten Duponts genommen die ich finden und handeln konnte. Und natürlich hatte ich einen Fehler drin und zwar hab ich angenommen das der Flash-Reader den BYTE-Modus nutzt und nur die DQ0-DQ7 verbunden. Erst nachdem ich die DQ8-DQ15 noch aufgelegt hatte, klappte es dann auch. Keine Ahnung wie ich auf die Schnappsidee mit dem 8-Bit Interface gekommen bin... Der Witz ist aber, das mit dem Adapter (rechts im Bild) das Ergebnis ebenso sprunghaft war und das nach einigen malen das Ergebnis dann stabil blieb. Ich habe damit mal zwei runtergelötete TSOP56 Flashes ausgelesen und das Ergebnis sieht einigermaßen stimmig aus (siehe Screenshot). Ich habe einen Flash der anscheinend molo ist, denn ab einigen KB ändern sich bei jedem auslesen die Bytewerte. Ein anderer Flash zeigt dieses Verhalten nicht, da bleibt das ausgelesene Image konstant gleich, egal wie oft ich es wiederhole. Eine weiter Frage zur Device-ID (Chip-ID). Diese wird im MiniPro als "4746 414D" ausgegeben. Laut Jedec-Standard und Datenblatt ist die aber doch nur 2 Byte...
:
Bearbeitet durch User
Nur versuchsweise habe ich mal den Extra-Pin "Vio" entfernt und es macht keinen Unterschied. Wozu auch immer der dienen mag, anscheinend gibt es einen internen Bypass oder er wird nur genutzt, wenn auch ein Spannungspegel angelegt wird.
Leider habe ich die falschen Ersatz-Flash-Chips bestellt. Anstelle S29GL064A90TFAR1 (Model 01, TSOP56) habe ich S29GL64N90TFIR4 (Model 04, TSOP48) bekommen. Grundsätzlich müsste das aber doch egal sein, weil von den 8 zusätzlichen Pins ist nur der Vio beschaltet und den hat das TFI04 (Model 04) einfach nicht. Von der internen Organisation und dem CFI sollte das doch gleich sein?! Habe auch schonmal versucht den Chip zu beschreiben, was aber leider in einer Fehlermeldung endete. So das erste Drittel (bis fast zu Hälfte) schreibt er problemlos und dann gibt es immer einen Fehler. Sind Pfuschneue Flashes. Vor dem programmieren macht er ein ERASE (alles mit 0xFF beschreiben). Diesen hab ich auch mal alleine gemacht und zurückgelesen, das klappt scheinbar. Nur das programmieren mit echten Daten geht in die Hose. Grrrr... Meine Idee war den TSOP48 Chip mit den Daten des funktionierenden TSOP56 zu beschreiben und auf das Board zu löten auf dem ich den defekten Chip gefunden hab.
naja mit FF zu testen ist natürlich etwas ungeschickt. Offene Leitungen sind ja auch FF. Wenn dann würde ich mit Bitmustern testen. 01 02 03.... 11 22 33 etc. Damit wird am schnellsten klar ob ein Bit oder sonst was klemmt. Das er mitten drin abbricht kommt mir vor wie falsche Größe, Pufferfehler , Softwaremacke oder Adressleitung nicht i.O. Du musst systematisch testen.
Die Vio ist die Vcc für die Buffer am Ein/ Ausgang. Damit läßt sich die Spannung zur MCU in Grenzen anpassen. Wie ein Pegelwandler. Die wird gebraucht !
Stephan schrieb: > Die Vio ist die Vcc für die Buffer am Ein/ Ausgang. Damit läßt sich die > Spannung zur MCU in Grenzen anpassen. Wie ein Pegelwandler. Die wird > gebraucht ! Ich würde Dir zustimmen. Interessanterweise funktioniert es ohne genauso gut :-) Laut Datenblatt soll die hier angelegte Spannung niedriger als Vcc sein. Auf dem Board von dem ich es runtergelötet hab ist der Pin aber direkt mit Vcc verbunden.
Stephan schrieb: > naja mit FF zu testen ist natürlich etwas ungeschickt. Offene Leitungen > sind ja auch FF. Wenn dann würde ich mit Bitmustern testen. 01 02 03.... > 11 22 33 etc. Damit wird am schnellsten klar ob ein Bit oder sonst was > klemmt. Das er mitten drin abbricht kommt mir vor wie falsche Größe, > Pufferfehler , Softwaremacke oder Adressleitung nicht i.O. Du musst > systematisch testen. Hab jetzt mal mein "Kabelkonstrukt" wieder vom Latch-Adapter entfernt und den TSOP48-Sockel direkt aufgesteckt. Und siehe da, der 48-Pin S29GL064 lässt sich auf anhieb und ohne Probleme flashen. Es liegt also scheinbar wirklich an den langen Leitungen oder Steckverbindern. Ich werde mir also wohl oder übel ein PCB für den TSOP56-ZIF-Sockel erstellen müssen :-/ Dabei würde ich gleich noch Kondensatoren zum blocken und puffern vorsehen.
Habe ein 24pol Flachbandkabel mit zwei aufgequetschten Pfostensteckern inzwei geschnitten, die enden abisoliert und an einen TSOP56-Adapter-Platine direkt angelötet. Die Leitungen sind jetzt ca. 5cm lang. Klappt einwandfrei. Hab zigmal gelesen und geschrieben und nachher verglichen, passte immer! Nachdem ich nun TSOP48 und TSOP56 lesen und schreiben kann habe ich versucht einen der falsch bestellten TSOP48 Chips, mit dem Inhalt des Original-Flash bestückt auf das Grafikboard zu löten. Dabei habe ich einfach die NC-Pins weggelassen. Hat leider nicht geklappt, das Board startet nicht. Der Original-Chip hat die Bezeichnung S29GL064A90TFAR2 (TSOP56) und der andere S29GL064N90TFI04 (TSOP48). Von den Pins her hat der TSOP56 noch ein Signal mehr an den äußeren Pins, nämlich Vio. Das wird beim Betrieb mit 3,3V versorgt. Diesen Pin hat das TSOP48 Gehäuse nicht, also werden die Buffer intern versorgt, oder mit Vcc. Interessant finde ich, das Vcc über einen Widerstand vom Cyclone kommt und eine Messung vom Oszi zeigt reges Treiben. Hier hätte ich eher eine konstante Spannung erwartet. Es ist fast so, als würde das System den Flash "nur bei Bedarf" mit Strom versorgen. Das hierfür ein Cyclone-Pin über einen 33 Ohm Widerstand ausreicht... nunja. Hab zuerst an eine Verwechslung mit einer Adress/Datenleitung geglaubt, aber das stimmt alles. Vio hingegen ist konstant. Evtl. liegt es aber auch an den Unterschieden beim Flash selbst?
Moin, Olli Z. schrieb: > Hab zuerst an eine > Verwechslung mit einer Adress/Datenleitung geglaubt, aber das stimmt > alles. > Vio hingegen ist konstant. An eine Verwechslung glaub' ich da aber doch sehr stark. Das klingt alles nach sehr unwahrscheinlichem Schaltungsdesign. Gruss WK
Hallo WK! :-) habe hier mal ein paar Bilder beigefügt. Das erste zeigt das Board mit den noch eingelöteten TSOP56 Flash (der Cyclone ist schon runter). Gut zu erkennen, Pin 1, rechts unten. Das zweite zeigt das Pinout des SG29GL064 (richtig gedreht, damit man gleich 1:1 zuordnen kann) und das dritte mein Reengineering-Bild auf dem ich die Leiterbahnen nachgezogen habe (rot) und die nicht sichtbaren als Verbindungen (blau). Ich mach nochmal ein Bild vom Vio Pegel, dazu muss ich den Chip nur wieder einlöten. Ach das nervt die ewige hin- und herlöterei. Schade das es dafür keine passenden ZIF-Sockel gibt die man auch per Hand auf die Pads löten kann... Das Problem beim auslesen des TSOP56 ist noch, das es GENAU diesen Chip im MiniPro nicht zu Auswahl gibt, selbst den im TSOP48 Gehäuse, also den S29GL064A90TFAR2 (das "2" ist wohl entscheident!? Und evtl. doch das Vio, was ich in meinem Adapter ja nicht beschalte). Ich habe nur die Modelle 3-x. Keine Ahnung ob die von den CFI-Befehlen her auch unterschiedlich sind...
:
Bearbeitet durch User
Hier noch die Bilder von meinem zweiten selbstbau TSOP56-Adapter. Einen Schönheitspreis bekomme ich dafür sicher nicht ;-) Dürfte aber schon ein vielfaches besser sein als die vorherige Lösung mit einzelnen Dupon-Wires. Zudem habe ich den 100nF Abblock-Kondensator direkt auf der Unterseite des Adapterboards an Vss und Vcc gelötet. Den Puffer-Elko von 100uF oben zwischen Vss und Vio/Vcc. Vio habe ich nun einfach vom Vcc abgegriffen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.