Forum: Mikrocontroller und Digitale Elektronik Welcher programmer für Nand/Nor flashes


von Olli Z. (z80freak)


Lesenswert?

Ich habe mir vor einiger Zeit mal eine TL886CS zugelegt. Nun möchte ich 
größere Chips auslesen, welche im TSOP56 gehäuse (z.B. S29GL256) 
stecken. Dafür habe ich keinen Adapter und der Grund ist wohl auch das 
der Flasher für solche Chips zuwenig Adressleitungen zur Verfügung hat.

Auf der Suche nach einer Alternative bin ich auf den RT806H gestossen. 
Der wird aber leider nur über China verkauft und ich hab da etwas Sorge 
wegen dem Zoll und so... kostet ja auch knapp 200€.

Kennt ihr vielleicht noch gute Alternativen? Preisklasse bis ca. 200€ ?

Danke im Voraus :-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn es wirklich nur ums Auslesen geht, das ist mit einem passenden 
Sockel, irgendeinem beliebigen µC und ein paar Schieberegistern recht 
einfach selbst zu stricken.

Mit den Schieberegistern werden die Adressleitungen angesteuert, die 
Datenleitungen kommen an einen Port des µC, notfalls auch mit 
Schieberegistern), und den Rest macht recht simple Software nach dem 
Konzept

Adresse anlegen
CE#/OE# anlegen
Datenbus einlesen
CE#/OE# deaktivieren

und das mit jeweiligem Erhöhen der Adresse in einer Schleife über alle 
gewünschten Adressen.

Die gelesenen Daten können im Intel-Hex-Format als Text über eine 
serielle Schnittstelle an einen Host-PC ausgegeben werden.

von Erich (Gast)


Lesenswert?

Für das Bauteil im Gehäuse TSOP56 braucht es sowieso einen Adapter, 
denke ich.
Da kannst du dir auch einen selbst bauen, der alle Adressleitungen ab A0 
aufwärts auf das Pinning des größten verfügbaren Speicherbausteins legt, 
den dein vorhandener Programmer unterstützt.
Restlich neue höchste Adressleitungen dann auch DIP-Schalter (mit 
pullups).
Damit kannst den neuen Baustein in 2, vier oder 8 Lesedurchgängen 
auslesen.
Die erzeugten Hexfiles ggf. zusammenkopieren (SRecord o.ä).
Gruss

von Olli Z. (z80freak)


Lesenswert?

Danke für die Hinweise und Tipps! Ja, ich will erstmal(!) nur auslesen. 
Aber programmieren wäre dann gleich das zweite Thema. Von der 
Betriebsspannung her könnte der TL886 das, nur halt vom Adressbereich 
nicht.

Habe mir nun erstmal folgende Adapter bestellt:

1.) Einen TSOP56 Adapter
https://www.ebay.de/itm/TSOP56-Adapter-For-RT809H-Programmer-RT-TSOP56-A-V1-1/232392130098
Der ist eigentlich für den Programmer RT809H und bietet schonmal einen 
Nullkraftsockel zur Aufnahme des Chips. "Unten" raus hat er normale 
IC-Sockel Pins.

2.) Einen Adapter für den TL886
https://www.ebay.de/itm/27C322-27C160-27C800-27C400-adapter-board-for-TL866-programmer/263471323285
Der soll den Übergang vom TSOP-Adapter auf meinen, kleineren TL886 
Programmer bieten. Über die DIP-Schalter kann man die fehlenden 
Adressleitungen emulieren.

Wenn das elektrisch funktioniert, dann ist das Auslesen und 
programmieren nur noch eine Fleißaufgabe, weil man stückeln muss. Da ich 
das aber nur ab und zu mal brauche wäre das kein Problem.

Sobald die Sachen da sind werde ich mal berichten. Leider war nirgendwas 
was zu finden, womit man direkt einen TSOP56 Sockel auf den TL886 
bringt.

von Olli Z. (z80freak)


Lesenswert?

So, hab jetzt alles da aber irgendwie immer noch Fragezeichen im Hirn, 
sprich im komm nicht zurecht.

Für den TL886A gibt es ja eigene Adapter mit denen man z.b. TSOP48 
Flashes von Spansion auslesen kann. Die verwenden zusätzliche Latches 
auf dem Adapter um ohne Dipswitches auszukommen. Das zeigt die Software 
auch an, wenn man einen solchen Typen auswählt. Daher werde ich den mit 
meinem passiven Adapter nicht nutzen können, weil die Ansteuerung aus 
Sicht des programmers nicht passt.

Einen Flash mit 3.0V und pinout vom S29GL064 konnte ich jetzt nicht 
finden (wo suchen beimden 13.000 unterstützten Chips?). Ich hab schon 
bei den DIP Flashes geschaut, jedenfalls welche ohne Zusatzadapter, aber 
da find ich nix.

Leider finde ich auch nirgends wie man dem Programmer eine eigene 
Custom-Chip definition beibringen könnte.

von A. B. (Gast)


Lesenswert?

Beim TL-866 ist das nicht ganz hoffnungslos, es gibt dazu eine freie
Software für die Host-Seite:

https://github.com/vdudouyt/minipro

Die Liste der Chips steckt offenbar nicht im Programmer (dessen Flash 
wäre dafür auch wohl zu klein), sondern in devices.h (s. o.). 
Prinzipiell müsste man also nur einen "kleineren" ähnlichen Chip dort 
finden und einen neuen Eintrag mit der passenden ID hinzufügen. Dann 
wär's kein Problem, die fehlenden Adressbits per DIP-Switch oder so zu 
erledigen.

Allerdings muss man das Format erst einmal verstehen (oder den Autor 
ganz nett um Hilfe bitte).

Sonst ist's vom Zeitaufwand her wohl doch am einfachsten, so einen 
Sockeladapter auf Lochrasterplatine, zwei oder drei HC4040 für die 
Adressleitungen und das ganze an einen Arduino (vorsicht mit der 
Betriebsspannung, nur 3,3V !!!), ein STM32-Nucleo oder Bluepill ...
und die ausgelesenen Daten per S-Record oder so über einen UART zu 
schicken. Und natürlich wäre zur Sicherheit ein Reserve-Chip gut ;-)

Selbst das Programmieren sollte nur unwesentlich komplizierter werden, 
da der o. g. Flash ja keine 25V oder 21V braucht wie anno dazumal die 
2716, ...

von W.S. (Gast)


Lesenswert?

Olli Z. schrieb:
> Danke für die Hinweise und Tipps! Ja, ich will erstmal(!) nur auslesen.
> Aber programmieren wäre dann gleich das zweite Thema.

Wo ist eigentlich dein Problem?
Also, so einen Speicher wird man ja wohl eher nicht an einem kleinen 8 
Bitter betreiben wollen, also ist dafür schlichtweg ein größerer µC 
vonnöten. Heutzutage also vermutlich ein Cortex mit externem Bus. Dort 
kannst du so einen Chip schlichtweg fest einlöten und im System 
programmieren. So ein Controller hat üblicherweise auch einen 
USB-Anschluß, womit du innerhalb erträglicher Zeit die Daten zwischen PC 
und Controller transportieren kannst.

Ansonsten sind all die Vorschläge mit Schieberegistern usw. doch eher 
auf 8 Bitter orientiert, die schlichtweg zu wenig Pins haben. Für einen 
simplen Programmierer guck dir einfach einen µC mit 100 oder 144 Pins 
aus, das dürfte sicherlich ausreichen.

W.S.

von Olli Z. (z80freak)


Lesenswert?

A. B. schrieb:
> Beim TL-866 ist das nicht ganz hoffnungslos, es gibt dazu eine freie
Danke für den Link! Das tool schau ich mir mal an.

> Die Liste der Chips steckt offenbar nicht im Programmer (dessen Flash
> wäre dafür auch wohl zu klein), sondern in devices.h (s. o.).
Stimmt, da gibt es jedoch keine Quellen zu. Die Chipdefs liegen im 
Programmverzeichnis des MiniPro wohl in "InfoIC.dll".

> Prinzipiell müsste man also nur einen "kleineren" ähnlichen Chip dort
> finden und einen neuen Eintrag mit der passenden ID hinzufügen. Dann
Ja, das ist mir schon klar. Nur welchen ist ja die Frage. Denn zum einen 
muss die Betriebs- und IO-Spannung passen und dann muss ich natürlich 
die Daten, Adress und Signalpins kennen um vom virtuellen Chiplayout im 
ZIF des Programmers auf meinen TSOP56-Adapter umzupinnen. Weiterhin muss 
auch das Protokoll passen, damit der Chip die richtigen Signale erhält.
In Summe hab ich noch keine Idee wie ich das machen soll.

> wär's kein Problem, die fehlenden Adressbits per DIP-Switch oder so zu
> erledigen.
Ja, dafür hätte ich ja entweder ein Steckbrett bzw. an dem oben 
verlinkten und gekauften 27c800-Adapter DIP-Switches dran.

> Allerdings muss man das Format erst einmal verstehen (oder den Autor
> ganz nett um Hilfe bitte).
Hmm, sprichst Du nun von dem OpenSource-Tool?

> Sonst ist's vom Zeitaufwand her wohl doch am einfachsten, so einen
> Sockeladapter auf Lochrasterplatine, zwei oder drei HC4040 für die
> Adressleitungen und das ganze an einen Arduino (vorsicht mit der
> Betriebsspannung, nur 3,3V !!!), ein STM32-Nucleo oder Bluepill ...
> und die ausgelesenen Daten per S-Record oder so über einen UART zu
> schicken. Und natürlich wäre zur Sicherheit ein Reserve-Chip gut ;-)
Reserve-Chips hab ich. Aber das mit der IO-Spannung ist schon nicht 
ohne. Der Flash hat eigentlich sogar nur 3.0V. Dann bräuchte ich 
zahllose Pegelwandler, hmpf.

> Selbst das Programmieren sollte nur unwesentlich komplizierter werden,
> da der o. g. Flash ja keine 25V oder 21V braucht wie anno dazumal die
> 2716, ...
Ne, das geht mit Vcc.

Es sind grundsätzlich alles LÖSBARE Probleme. Es ist halt nur irgendwie 
so das man immer wieder eine weitere Anforderung generiert und ich das 
Gefühl hab nie zum Ziel zu kommen. Also ich möchte schon sehr gern einen 
Programmer und entsprechende Software nutzen. Ok, ich muss die Files 
nachher mergen bzw. vor dem programmieren splitten. Gut, das geht aber 
noch recht einfach.

Also ich schau mal ob ich bei dem OpenSource Teil weiter komme. 
Grundsätzlich wär aber die Frage ob jemand einen "Kompatiblen" Chip mit 
weniger Pins, am besten im DIP40 Gehäuse kennt, sodass der Programmer 
die Pins 1:1 ansteuert.

Unabhängig davon habe ich mir aus England diesen "originalen" 
TSOP48/SOP56 Adapter für den TL866 bestellt, mit dem Latch drauf. Da 
müsste ich dann nur die Sockel entsprechend verbinden.

: Bearbeitet durch User
von A. B. (Gast)


Lesenswert?

Olli Z. schrieb:
> Hmm, sprichst Du nun von dem OpenSource-Tool?

Ja, da gibt's eine ganze Reihe "S29GL064N... @TSOP48"-Varianten, die
schon unterstützt werden. Den S29GL064 gibt es auch im TSOP56-Gehäuse.

Wahrscheinlich gibt's außer der Kapazität und Chip-ID keine wesentlichen 
Unterschiede zum S29GL256. Vermutlich reicht es daher völlig, einen 
neuen
entsprechenden Eintrag in der device.h anzulegen.

von Olli Z. (z80freak)


Lesenswert?

Leider ist das OS minitool nur für Linux verfügbar und nicht für 
Windows. Daher kann ich damit nichts anfangen.

Ich habe folgende Parameter meines Flash als relevant für die Suche nach 
einem kleineren Modell ermittelt:
 - Paralleles Interface
 - MirrorBit Technology (NOR)
 - max. 16 MBit (das müsste noch mit 40 Pins des TL866 programmierbar 
sein)
 - Verfügbar im DIP Gehäuse bzw. SOP ohne Zusatzelektronik im Adapter

Bis jetzt hab ich nix gefunden. DIP scheidet fast aus bei hochkapzitiven 
Flash-Speichern. 16 MBit findet man eher seriell, die parallelen fangen 
meist erst bei 32 MBit an und haben da bereits TSOP48 Gehäuse oder 
größer.

Alles nicht so einfach...

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.