Forum: Mikrocontroller und Digitale Elektronik Arten E/EPROMs zu programmieren


von I_ H. (i_h)


Lesenswert?

Moin

Ich bin grad dabei mir einen E/EPROM/FlashROM Brenner zu bauen, die 
Daten werden per RS232 an einen ATMega geschickt und der schreibt die 
dann in's ROM. Und wenn ich sowas schonmal anfange soll das Ding so 
viele Teile wie möglich unterstützen.

Rumliegen hab ich hier im Moment 4 29C020, die komplett in 5V 
programmiert werden. Nun hab ich zB. gesehen, das der 27C020 fast 
genauso programmiert wird, nur muss WP mit 12.75V versorgt werden. Nun 
könnte ich auf dem Programmer ja zB. 25V erzeugen und daraus mit einem 
DAC+OpAmp eine einstellbare Spannung generieren (es gibt ja sicherlich 
welche mit einer anderen Spannung für WP).
Gibt es da noch andere Sachen die bei anderen ROMs anders sind?

von Jörn P. (jonnyp)


Lesenswert?

Die ersten Eproms wurden mit 25V programmiert, dann ging es runter auf 
21V und auf 12,5V. Kommt darauf an, ob du noch so alte Eproms 
programmieren willst, oder nur die heute üblichen. Im Datenblatt der 
jeweiligen Typen wirst du fündig was die Programmierspannung und den 
Algorhytmus angeht.

von Benedikt K. (benedikt)


Lesenswert?

I_ H. wrote:

> Nun hab ich zB. gesehen, das der 27C020 fast
> genauso programmiert wird,

Fast ist relativ: Die alten EPROMs benötigen alle Signale von außen, 
also Adresse anlegen, Daten anlegen, Vpp anlegen, Programmierimpuls 
anlegen (für eine bestimmte Dauer !). Danach Vpp auf 6,25V legen, Byte 
auslesen, vergleichen. Das selbe nochmal bei 5V.
Bei den Flash EPROMs muss man dagegen nur die Daten mitsamt der Adresse 
und dem Programmierbefehl senden, und erhält dann als Antwort OK/Nicht 
ok.

> Gibt es da noch andere Sachen die bei anderen ROMs anders sind?

Bei den neueren Flash EPROMs gibt es noch einen Unterschied zwischen den 
29Fxxx und den 29Cxxx: Die einen werden Seitenweise beschrieben, die 
anderen Byteweise.
Einen wirklich universellen Programmer zu bauen ist ein großer Aufwand, 
u.a. deshalb weil je nach IC an unterschiedlichen Stellen Vpp angelegt 
werden muss usw.
Von daher haben bessere Universalprogrammer an jedem Pin einen DAC um 
die Spannung beliebig einstellen zu können.

von I_ H. (i_h)


Lesenswert?

Hab mir das mal etwas genauer angeguckt. Hab hier noch ein paar 8fach 
6bit DACs rumfliegen (TDA8444), die Überlegung war die zusammen mit 
OPAmps und Optokopplern zu verwenden.

Aber ihr habt natürlich recht, das wird ziemlich aufwendig. Werd mich 
wohl auf die 5V Typen beschränken, dann entfällt die ganze 
Spannungserzeugung. Mit 2 Sockeln wird dann auch die Verdrahtung 
einfacher.

Danke schonmal. Reicht ja auch wenn ich die nicht-5V Teile auslesen und 
gegebenenfalls durch 5V Typen ersetzen kann. Hab hier halt noch einige 
UV EPROMs rumliegen, aber dann wird halt mal ein Satz FlashROMs für 5V 
gekauft.

Hält ein Textool ZIF Sockel eigentlich auf normalen IC Fassungen?

von Paul Baumann (Gast)


Lesenswert?

Sieh Dir mal das an:
http://s-huehn.de/elektronik/epromprog/epromprog.htm

Diesen Apparat habe ich schon vor einiger Zeit gebaut. Er funktioniert 
tadellos.

MfG Paul

von I_ H. (i_h)


Lesenswert?

Bei dem Teil stören mich irgendwie die Jumper, außerdem macht 
selberbasteln doch eh viel mehr Spaß ;). Und zu guter letzt will ich die 
ganzen Anschlüsse die das Ding haben wird noch nach draußen führen, mit 
Adapterkabeln sollte sich ja dann so ziemlich alles programmieren 
lassen.

Hab mich jetzt mal durch die Datenblätter der verschiedenen ROMs 
gearbeitet. Von der Sache her müsste es reichen auf einem einzelnen 
32pin Sockel 8 Kontakte mit Umschaltrelais abzutrennen (Pins 1, 3, 24, 
25, 26, 28, 30 und 32) und auf andere Spannungen zu führen.
Dabei gibt's keine Doppelbelegungen, also es gibt kein Pin das bei einem 
ROM zB. 6.5V VCC trägt und bei einem anderen VPP. Sprich ein 
Umschaltrelais pro Pin reicht aus - bei Reichelt gibt's passende Relais 
für 89ct (FIN36.11 5V).

Ich hätte aber noch gern die Möglichkeit VCC, VPP und A9 unabhängig von 
den Relais auf 0V oder die eingestellte Spannung zu schalten. Hab mir 
schon die 4020 Latches angeguckt, aber die verkraften leider nur 20V, 
einige der EEPROMs brauchen ja aber 25V. Für VCC brauch ich außerdem 
auch 'n bisschen Srom.

Ideal wäre ein Schalter (1Bit reicht) der 0V oder die angelegte Spannung 
ausgibt, mit TTL Pegeln geschaltet werden kann, kurzzeitig auch mal 
200mA hergibt, und im us Bereich schaltet - gibt's sowas schon fertig? 
Für 3 Spannungen kann ich's sonst zur Not auch diskret aufbauen.

Glatt vergessen: Ich brauch auch noch einen OpAmp der bis 200mA source 
kann.

von Jörn P. (jonnyp)


Lesenswert?

Ich hatte seinerzeit (Eproms 2716 bis 27256 und ähnliches)eine 
elektronische Lösung bevorzugt um nicht zu viele "Klepperzeiten" 
(Kontaktprellen  ;-))mit einrechnen zu müssen. Die Vpp-Spannungen wurden 
mit einem Tl497 durch "programmierte" Widerstände erzeugt und über 
PNP-Transitoren auf den entsprechenden Pin der Eproms gelegt. War Vpp 
abgeschaltet, lag am Pin logik Hi Level an (Vcc über Diode). 
Komplizierter wurde es bei einigen Typen, bei denen am Pin Logik hi oder 
lo oder Vpp anliegen mußte. Hab dann PNP Transistoren und 7406 / 7407 
(max 30Volt) nachgerüstet. Sollte heute aber kein Problem mehr sein, wo 
es die schönen ULN treiber gibt.

Egal welche Lösung du nimmst, wenn du umschaltest mußt du Wartezeiten 
rechnen, bis sich die Spannung eingepegelt hat. 200mA Source? Einfach 
einen Transistor hinter den OpAmp.

von Benedikt K. (benedikt)


Lesenswert?

Willst du wirklich noch dir uralten 25V EPROMs programmieren ? Ich würde 
mich auch die 12,5V typen beschränken, davon gibt es genügend.
Wenn du noch einen Schritt weiter gehen willst: Die ganz alten (1701, 
1702) brauchen -48V zum Programmieren, und zwar nicht nur als Spannung, 
sondern auch die Daten zbd Adressleitungen müssen diese Pegel annehmen. 
Das ist dann richtig Aufwendig, das zu bauen.

Ich habe es bei meinem Progammiergerät mit 4053 Multiplexern gelöst. 
Damit schalte ich die Signale zwischen µC Pin und Sonderfunktion (z.B. 
12V an A9) um. Nur Vcc und Vpp brauchen mehr Strom, dafür habe ich PNP 
Transistoren verwendet.

Insgesamt braucht man 4 verschiedene Spannungen:
12,5V
12V
6,5V
5V

Die 12V/12,5V schalte ich mit einem Transistor in der Masseleitung eines 
78L12 um, der eine Diode überbrückt.
Die 5V/6,5V genauso, nur dass es hier zwei Dioden sind.

von I_ H. (i_h)


Lesenswert?

Die Relais gefallen mir auch nicht so 100%ig, aber von der Sache her 
werden die ja nur 1mal geschaltet wenn das EPROM ausgewählt wird.


Die 25V sind eigentlich garkein Problem. Wenn ich einen TDA8444 
draufsetze hab ich 8 6bit DAC Kanäle. Je 2 über einen Opamp gewichtet 
addiert ergibt zwar keine 12Bit, aber sicherlich mehr als 8. Spannung 
kann ich ja noch über ADC ausmessen.
Hab inzwischen mal gesucht, den L272 OpAmp gibt's bei Reichelt und der 
tut bis 1A raus, reicht also dicke. Den DAC Ausgang in den Op rein und 
fertig ist die regelbare Spannungsquelle mit 1A peak.
Ob nun 12.5V oder 25V hängt ja nur von der Versorgungsspannung am Op ab, 
der L272 kann 40V. 1mal 25V reicht aber in jedem Fall... mit -48V wollt 
ich mich nicht anlegen ;).

Hab mir das halt so gedacht: Die Datenleitungen sind bei praktisch allen 
EPROMs, EEPROMs usw. auf den selben Pins - die kommen direkt an den 
Mikrocontroller. Alles andere (also hauptsache Addressleitungen) kommt 
an 3state Latches. Wenn der Typ ausgewählt wurde, werden durch die 
Relais die entsprechenden Leitungen (VCC, VPP, A9) vom Latch getrennt 
und an die Spannungsquellen gelegt.

Ich weis nur noch nicht ob es überhaupt Sinn macht an die 
Spannungsquellen nochmal Schalter zu hängen, die zwischen 0V und 
eingestellter Spannung umschalten.
Kann ich eigentlich auch über die DACs machen, ist zwar langsamer, aber 
dafür kann ich, wenn's zum Programmieren nötig sein sollte, 
zwischendurch auch 5V an VPP legen.


Das ROM spezifische Zeugs wollt ich eigentlich auf eine extra Platine 
machen. Dann ließen sich mit wenig Aufwand auch Programmierer für andere 
Sachen realisierten, so ala GAL, AVR high voltage, ICSP sowieso, 
vielleicht noch was für CPLDs, ...

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.