Read & Burn Adapter to 2708 and TMS2716 pro smart prommer

2708 burnadapter,  2708 programmer,                              2708 Programieradapter,   graver des eprom 2708

Lese und Brennadapter für 2704, 2708, TMS2708,K573RF1, TMS2716 und U555 für intelligente Brenner

Neues Konzept das den Adapter auf vielen Brennern einsetzbar macht, die über einen intelligenten Programieralgorithmus zum brennen des 2716 verfügen und 25V Programierspannung bereitstellen

Der Einsatz ist erfolgreich auf dem GALEP3, Galep4 und Galep5 getestet worden!

Dazu muss bei der Auswahl 2716 der Speicherbereich auf 1KB eingeschränkt werden. Sonst kommt es zu einer falschen Fehlermeldung! Ausserdem ist wegen der höheren Gesamtstromaufnahme als bei einem 2716 Eprom, eine externe Spannung von 5V/>0,5A am Adapter anzulegen (Steckernetzteil).

Ich habe von einem User den Erfolgsbericht über den Einsatz des 2708 Brennadapters am Galep 5 erhalten. Wie bei den Programiergeräten Galep 3 und Galep 4 war bei dem testweise gebrannten K573RF1 der Dateninhalt nach einem Brennimpuls von 500µsec in Ordnung. Sicherheitshalber wurde der Dateninhalt aber noch viermal nachgebrannt. Ein darauffolgender Test mit dem gebrannten Eprom auf dem Profibrenner Elnec Jetprog mit 2708 Adapter ergab Datengleichheit bei Überspannung und Unterspannung (Ucc4,5V und 5,5V).

Da die K573RF1 Pin und Funktionskompatibel mit den internationalen 2708 und dem U555 sind, ist das gleiche Verhalten auch bei diesen Typen zu erwarten. Nur bei Eproms die mit alten Programier-Methoden gestreßt wurden oder die defekt sind kann es zu mehr Programierzyklen oder Fehlern kommen. Der Getestete K573RF1 war Neu und noch niemals gebrannt worden. Jedoch auch gelöschte mehrmals gebrannte 2708 wurden schon beim ersten Brenndurchlauf mit 500µsec fertig gebrannt. Damit werden die Eproms einem wesentlich geringeren thermischen Streß als bei dem überholten Intelverfahren aus den siebziger Jahren des 20. Jarhunderts ausgesetzt.

Wegen der geringeren Flankensteilheit des Programierimpulses der damals verwendeten Programierimpulse konnte es durch die Vielzahl (100) der Programierimpulse pro Zelle, zu Zerstörungen des Eproms kommen. Die Datensicherheit ist aber trotz der geringeren Anzahl der Programierimpulse mindestens genauso Gut. Nach meinen Erfahrungen mit vor 30 Jahren mit meiner Methode gebrannten 2708 oder kompatiblen haben diese Eproms Heute noch ihren richtigen Dateninhalt im Gegensatz zu Eproms die mit konventionellen Methoden gebrannt wurden und inzwischen, teilweise seid Jahren ihre Daten verloren haben ( Beipielsweise beim Morsegeber/Decoder "MG80"). Bei zwei Geräten habe ich schon vor mehr als 10 Jahren die Eproms austauschen und mit neuen Daten versehen müssen um die Geräte wieder zum funktionieren bewegen zu können. 

 

Klarstellung zum 2708 Programieradapter

Auch bei dem intelligenten Brennverfahren des Galep 4 werden, wie auf dem M030, erst alle Speicherzellen nacheinander gebrannt. Anschließende wird ein Verivy durchgeführt. Ist nach einem der Durchläufe, bei einem Verify im gesamten Speicherbereich Datengleichheit vorhanden, schickt die intelligente Software noch auf jeder Speicherzelle je nach Hersteller Algorithmus 15 bis 25 Sicherheitszyklen nach. Auch auf anderen Programmern die den 2708 brennen können und mit Adapter arbeiten wird genau so vorgegangen. Damit sind die aktuellen Datenblattvorgaben von Intel erfüllt. Im Gegensatz zu falschen Behauptungen im Robotronforum die warscheinlich in Unkenntnis der Funktion verbreitet werden.

Die von mir fertiggestellten 2708 Brennadapter in Aufbauvarianten

Schritt für Schritt Aufbauanleitung

Erst alles in Ruhe ansehen und durchlesen. Es sind Varianten vorgeschlagen für die man sich vor der Teilebestellung entscheiden kann.

Alternative, wenn keine langen Pfostenfeldstecker aufzutreiben sind.

So sollen Adapter und Präzisionsfassung mit der Leiterplatte verbunden werden. Dann klappt es auch mit dem einsetzen in die Programierfassung.

Die dargestellte Fassung soll die des Programiergerätes symbolisieren.

Im Bild hier drunter ist die darauf zu befestigende untere Leiterplatte zu sehen. Sie soll bündig mit den Steckerstiften abschliessen damit Platz für die Bauelemente unter der Leiterplatte ist.

Hier drunter der Aufbau mit überlangen Pfostenfeldsteckern

Die 12 poligen Pfostenfeldstecker die in die Programierfassung des Programiergerätes kommen, sollen genau Rechtwinklig in der unteren Leiterplatte sitzen. Oben sollen sie mit der Leiterplatte abschließen, damit die Beinchenlänge ausreichend für das Kontaktieren in der Programierfassung ist. Dazu stecke ich sie in die Pfostenfeldbuchsen die die Leiterplatten verbinden sollen. Dann werden sie auf der Seite mit dem Bestückungsaufdruck verlötet. Dabei eventuell noch zwischen dem Isoliersteg der Pfostenfeldstecker und der Leiterplatte einen Abstandshalter einlegen damit die Einbautiefe stimmt.

Wir kürzen eine Pfostenfeldbuchse auf 13 und eine auf 17 Steckplätze.
Bei der mit 17 Steckplätzen wird die zweite bis vierte Kontaktgabel auf einer Seite entfernt.

Damit die Pfostenfeldbuchsen ebenfalls winklig auf der Leiterplatte sitzen machen wir das sinngemäß wie beim einlöten der Pfostenfeldstecker mit einem Stück Pfostenfeldstecker. Dann können auch die Pfostenfeldbuchsen verlötet werden.

 

Darauf werden die gedrehten Buchsenleisten MPE115-1-036 von denen Stücke zu 12 Pins abzuteilen sind, aufgesteckt. Diese können dann in das Programiergerät eingesteckt werden.
Der NME0505DC wird ebenso wie der 4583, R1 und R2 sowie C1 und C2 von Unten auf die Leiterplatte zwischen die beiden 12 poligen Pfostenfeldstecker gesetzt und verlötet.
Damit ist die untere Leiterplatte fast fertig bestückt.

Hier drunter sieht man den Einbau von R0 und R3, sowie von ZD1 (5,1V)

Auf dem Foto ist zu sehen, das die Lötverbindung zu Pin 24 des zur Programierfassung des Programmers zeigenden Pfostenfeldsteckers noch nicht verlötet ist. Das kann so bleiben wenn die Versorgung den Programieradapters von extern erfolgt. Zum versorgen des Programieradapters vom Programiergerät, zum beispiel dem M030, muss diese Verbindungsstelle mit einem Lötklecks versehen werden der beide Lötpads verbindet.

Für die Widerstände R1 und R2 sind die 10K Widerstände mit 5mm Rastermaß von Conrad zu nehmen die dort unter der Bestellnummer 40 00 17 zu bekommen sind. Mir war nicht klar das es diese Bauform nicht mehr bei Reichelt gibt. Ich hätte sie sonst bei gelegt.

So sieht die untere Leiterplatte des Programieradapters fertig aufgebaut aus.

Bei der Pfostenfeldbuchse ist zu sehen, das rechts drei Kontakte entfernt wurden.

Ein alternativer 5V Inverter zu den in der Stückliste angegeben ist eingebaut.

So lang sollten die Pfostenfeldstecker über den Inverter hinausragen damit es sicheren Kontakt in der Programierfassung gibt.

Die kleinen Umschalter gibt es auch bei Reichelt unter NK236

Die obere Leiterplatte habe ich zum Bestücken vorbereitet indem ich abgewinkelte Pfostenfeldstecker so bearbeitet habe, das die Jumper zur Epromauswahl nach vorne abstehen. Damit muss zum umstecken der Auswahljumper das Modul nicht mehr auseinander gezogen werden. Außerdem ist die Kennzeichnung welcher Epromtyp gesteckt ist, noch zu sehen.

Von einem Viererblock abgewinkelter Pfostenfeldstecker wird etwas von der Isolierung so abgekniffen oder abgefeilt das ein Rest stehenbleibt. Der ist nötig, damit die mittleren Stifte keine Verbindung zu den unteren Stiften bekommt die an der Kante ohne Isolierung eingesteckt werden. Der in die Leiterplatte zu steckende kürzere Schenkel ist vorher auf 1mm Länge zu kürzen damit die Kontakte nicht mit dem Oberen Viererblock in Berührung kommen.

Damit die Pfostenfeldstecker zum Löten in ihrer Position arretiert sind habe ich vor dem Löten Jumper aufgesteckt.

 

Die auf dem Programieradapter benötigte Programierfassung kann steckbar gemacht werden. Dazu ist eine gedrehte Buchsenleiste  MPE 115-1-036 von Reichelt Elektronik zu besorgen. Davon sind zwei Stücke mit jeweils 12 Kontakten abzutrennen und Oben auf der oberen Leiterplatte einzulöten.

Das ist vor dem Bestücken der Transistoren und anderen Bauelemente zu machen. Die Bauelemente stören sonst beim Verlöten der Buchsenleisten.

Vor dem Verlöten das Aufstecken probieren. Es gibt ähnlich aussehende Buchsenleiten die nicht passen!

Ich nehme normale Fassungsstreifen und löte an die Programierfassung

Adapterleisten von Reichelt AW 122/32, von der ich dafür zwei Stücke mit je 12 Kontakten abtrenne. Dabei ist darauf zu achten das nur die dünnere Seite in die Fassungsstreifen passt. Die dickeren Pins werden verlötet.

Für das Bestücken mit Transistoren und anderen Bauelementen vorbereitete obere Leiterplatte. Die Beinchen der Transistoren vor dem Einsetzen in die Leiterplatte mit einer Spitzen Zange vorsichtig so vorbiegen, das sie in die Bohrungen passen. Dabei den Transistor möglichst nicht belasten um mechanische Spannungen zwischen Bein und Gehäuse zu vermeiden.

Widerstände und Dioden mit einer kleinen Rundzange abbiegen. Mit einer anderen Zange abgebogene Beinchen brechen oft im Laufe der Zeit!

Die Bauelemente von der nichtbedruckten Seite bestücken! Der Aufdruck muss nach dem Bestücken sichtbar sein. Die Bezeichnung mit E(mitter), B(asis) und C(ollektor) ist sinngemäß von Transistor b-k fortzuführen. Bei den Mosfets für E=S(ource), B=G(ate) und C=D(rain).

Fertig bestückter  Programieradapter

Bei dieser Programierfassung habe ich zwei zwölfpolige vergoldete Fassungsleisten verwendet. Die Pins der Programierfassung sitzen vor dem verlöten lose in den Öffnungen der Fassungspins. Bei diesen sind die unteren Kontakte genau so dünn wie beim Adapterstreifen.

Bis jetzt hält diese Lösung schon 5 Jahre. Bei Bedarf lässt sich jedes Pin leicht nachlöten.

Es müssen immer beide Jumper gesteckt werden. Beide Jumper Oben = 2708, beide Jumper Unten = TMS2716.

Jumper für das brennen der 2708 gesteckt.

Alternativbestückung statt Jumper die Verwendung zweier Schalter

Der fertige 2708 Brennadapter mit Schalterstellung 2708

Bei dem Bild hier drüber und drunter habe ich Buchsenleisten mit gedrehten Kontakten zur Aufnahme der Programierfassung genommen. Bei mir passen alle Programierfassungen in diese Fassungspins. Best. Nr. MPE 115-1-036  davon 2x 12 Pins abgetrennt.

Es müssen immer beide Schalter betätigt werden bevor der Adapter in die Programierfassung des Brenners gesteckt wird.

Beide Schalter nach vorn = 2708, beide Schalter nach hinten = TMS2716.

Legende zur Leiterplatte und Schaltung

Großbuchstaben

D = 1N4148

A = Anode

K = Kathode

S = Schotkydiode BAT42

Z = Z-Diode

Kleine Buchstaben = Transistoren

Kleine Zahlen = Widerstandsnummern

Mittlere Zahlen 8+16 Auswahl Epromtyp

Große Zahlen Pinnummern Programierfassung

Bauelementeliste

Untere Leiterplatte

1x R0 = METALL 4,70K

2x R1, R2 = METALL 10,0K

1x R3 = METALL 1,50K

1x C1 = 1x MKS-2 47nF-100nF

1x C2 = 1x KERKO 1nF-2,2nF

1x C  = X7R-2,5 100N

1x ZD1 = ZD 5,1, Z-Diode 5,1V,1,3W  Z-D1

1x LED1 = LED 3MM 2MA RT

1 x 4538 oder 74HCT4538, wird mitgeliefert

1x NME0505DC, oder ROM0505S, wird mitgeliefert

 

Obere Leiterplatte

4x PNP Transistor 3x SC307D, 1x BC640C, wird mitgeliefert

3x NPN Transistor SC237D, wird mitgeliefert

3x FET   BS170, wird mitgeliefert

2x  BAT42, Schotky Diode  S3+S4

1x ZF 18, Z-Diode 18V   Z-D3

1x ZD 12, Z-Diode 12V/1,3W Z-D2

2x 1N4148, Si Schaltdioden 1N4148 D1+D3

1x LED 3MM 2MA RT, Low Current LED Rot


4x R6,R7,R8,R15    = METALL 10,0K
1x R4        = METALL 5,60K
1x R5        = METALL 1,00K
4x R9, R10, R11, R18    =METALL 4,70K
2x R12,R21    = METALL 3,30K
3x R13,R17,R19        =METALL  1,20K
1x R14        = METALL 220
1x R16        = METALL 12,0K
1x R19        = METALL 1,20K
1x R20        = METALL 100

1x NME0512DC oder ROM0512S,  Inverter, wird mitgeliefert

sonstiges:

1x Programierfassung 24Polig, wird mitgeliefert

2x Buchsenleiste MPE 094-1-016  (Reichelt-Elektronik)

2x SL 1X40G 2,54, Pfostenfeldstecker 40Polig, gerade

2x  MPE 115-1-036, Buchsenleiste, gedrehte Kontakte, RM 2,54mm (Reichelt)

 

Erkannte Fehlermöglichkeiten


Beim Aufbau der Testmuster wurden folgende Fehlermöglichkeiten erkannt.
Pins der Pfostenfeldstecker nicht verlötet.
Nicht gelötete Verbindungen überhaupt.
Verbindung für die Stromversorgung laut Abbildung nicht gelötet.
Fassungspin der Programierfassung in den Körper der Programierfassung gerutscht.  Dann ist die Kontaktierung der Programierfassung nur über das auflöten auf einen Adapter möglich.
Ansonsten haben alle sieben Testmuster die Tests erfolgreich bestanden, nachdem die erkannten Fehler beseitigt wurden. Diese traten hauptsächlich auf weil ich die Programiermodule nicht hintereinander aufbauen konnte da ich Besuch hatte.
Beim Weiterarbeiten habe ich dann die nichtgelöteten Verbindungen übersehn.
Das bei der Fehlermeldung soll Eprom 55, ist 54 warscheinlich ein Kontaktfehler vorlag stellte sich beim abziehen der Programierfassung heraus.

Schaltung des Programieradapters      

Zum Vergrößern auf die Schaltung klicken

Bei Interesse an der Schaltung mit bester Auflösung bitte E-Mail an mich.

Der Adapter funktioniert bei allen Eprom Brennern zum auslesen der 2708 und TMS2716. Auf den meisten Eprommern können aber auch die genannten Eproms gebrannt werden.

Bei Brennern die die Stromaufnahme des Eproms überwachen kann es zu einem Abbruch des Brennvorganges kommen. Dann kann extern 5V eingespeist werden. Dazu ist eine Lötbrücke zu öffnen oder erst garnicht herzustellen.

Die Eproms werden auf normalen Brennern als 2716 gelesen. Die Datei erscheint beim auslesen des 2708 wegen der 2KB Speichergröße des 2716 dann doppelt.

Der TMS 2716 verhält sich auf dem Adapter wie ein normaler 2716 und wird dann auch so gelesen und gebrannt ohne das die Grenzwerte des TMS2716 überschritten werden. Eventuell ist der Brennvorgang mehrmals zu starten bis Datengleichheit besteht.

Im Adapter werden die Programierimpulse auf eine Breite von 0,5-1msec begrenzt. Damit werden auch bei Brennern die den 2716 mit 50msec Impulsen brennen die Daten des 2708 eingehalten und eine Zerstörung vermieden.

Auf dem Programiergerät für den KC85 2-5, dem M030 ist ein Extra Program zum behandeln der 2708/U555 erhältlich, das bei der Programmauswahl als "EPROM 1 B" für meinen Adapter gestartet werden muß.

Er funktioniert endlich vollständig!

Noch mit der Software für den 2716 die auch für den TMS2716 verwendet wird (der TMS2716 ist nicht Pinkompatibel zum Standard!)

Jetzt mit der dazugehörigen Software zum brennen des 2708

Ein intelligenter Algorithmus von Intel

05.04.2016

 

Schon 1977 war die Programierung der 2704/2708 von Intel durchaus nicht so eng vorgeschrieben, wie man dem Datenblatt Oben entnehmen kann. Durch die Entwicklung grösserer Eproms in den Jahren bis zur Mitte der achtziger Jahre setzte sich dann die Erkenntnis bei Intel durch, das für die Programiererei ihrer Eproms ein von dem 2708 abgeleiteten Verfahren, das sogenannte Intelligente Verfahren schonender für die Eproms bei besserem Datenerhalt ist. Beispiel weiter Oben.

Es ist danach nicht nötig alle 100-1000 Zyklen zu durchlaufen wenn das Probelesen Datengleichheit mit dem RAM-Inhalt erkennt. Dann reichen wenige Sicherheitszyklen aus um eine dem Datenblatt entsprechende Datensicherheit zu erreichen. Aber durch die kürzere Brenndauer wird der Chip nicht solch einem Stress ausgesetzt, was der Lebensdauer und dem Datenerhalt zugute kommt. Durch meine Schaltung wird die Impulsabfolge hardwaremäßig, auch bei Rechnerabsturz sicher gestellt. Das ist bei rein Softwaregestützten Programmern wie es Selbstbauten oft sind, nicht der Fall.

05.04.2016

 

So wie der obige Beispielalgorithmus von Intel vom Anfang der Achtziger Jahre hat jede Herstellerfirma von Eproms danach einen eigenen intelligenten Algorithmus vorgestellt. Diese unterscheiden sich aber nicht wesentlich. Auch das Anheben der Betriebsspannung ist dazu nicht unbedingt nötig. Nur beim lesen kann die Spannung Ucc kleiner sein als beim Brennvorgang, weil dann der Vergleich mit den im RAM stehenden Daten sicherer ist. Um defekte Eproms auszuschliessen wird von einigen Herstellern auch noch das Auslesen bei einer um 10% höheren Ucc Spannung vorgeschrieben.

Einen sehr ähnlichen Algorithmus hat Professor Völz für das von Ihm 1987 in der RFE veröffentlicht Programiergerät verwendet.

Dieses Programiergerät ist an anderer Stelle auf meiner Homepage zu finden.

Ein Eprom der seine Daten vergessen hat kann oft noch mit einer Ucc Spannung die kleiner als die üblichen 5V ist richtig ausgelesen werden. Das kann man durch die Versorgung des auszulesenden Eproms mit einer externen einstellbaren Spannungsquelle und probieren, erreichen.

Dazu auch der RFE Artikel hier drunter.

Aus dem Intel Handbuch von Oktober1977 Seite 173 und 174

Ein Artikel aus der RFE 8/1987 als man noch davon ausging das erst ab dem 2716 das Verfahren angewendet werden kann

Intelligent programieren.pdf
Adobe Acrobat Dokument 239.5 KB

Ein Artikel aus der RFE 3/1981 bei der für den 2708 das von Intel angegebene Verfahren und ein Intelligentes Verfahren angewendet wird mit Literaturhinweis das die Funktionalität des Verfahrens mindestens seid 1978 bekannt ist

2708Intelligent.pdf
Adobe Acrobat Dokument 344.3 KB

                    Stückliste

Ansteuerlogik
R1    1,5K
R2    8,2K
R3    15K
R4    12K
R5    12K
R6    2,2K
R7    8,2K
R8    1,5K
R9    470R
R10    100R
R11    1,5K
R12    820R
R13    1,5K
IC1    74LS06
D1    BAT42
D2    BAT42
D3    low current LED yellow
D4    low current LED gren
D5    low current LED red
T1    SF817D/ BC640B
T2    BC556B
T3    BC546B
T4    BC556B
T5    BC556B