|
|
- Um
einen EPROM zu programmieren muss man nicht zwingend wissen was
im Hintergrund passiert. Man setzt den gelöschten EPROM in
die Fassung des EPROM Brenners ein, gibt der Software seinen
Typ und den Hersteller an und lädt die
Binär-
oder Intel
HEX-Datei,
die der Inhalt des EPROMs werden soll. Nun wird der EPROM
gebrannt.
-
Die
Software hat durch die vorhergehenden Angaben am Brenner den
Adress- und den Datenbus in geeigneter Form an die Fassung
angelegt, die benötigten Programmierspannungen eingestellt
und aus einer Tabelle die vom Hersteller angegebenen Werte zum
Programmieren des in Rede stehenden EPROMs entnommen.
-
Die
angefügte Beschreibung soll den Hintergrund des
Geschehenen beleuchten ..
-
-
-
EPROM ist gelöscht
-
Ist
ein EPROM gelöscht, dann besitzen alle Bits den Zustand 1.
Das bedeutet, dass seine Bytes den Wert FFh besitzen. Beim
Programmieren werden nun einzelne Bits auf 0 gesetzt, so dass
der gewuünschte Wert entsteht . Bits, die den Wert 0
besitzen können nur durch ultraviolettes Licht zurück
auf 1 gesetzt werden. Bits die den Wert 1 besitzen können
auch später noch durch Nachbrennen auf 0 gebracht werden.
-
-
-
Anlegen der Adressen und der Daten
-
Der
Adress- und der Datenbus des EPROMs sind wie bei einem
Lesevorgang verschaltet. Jede Speicherzelle des EPROMs kann
über den Adressbus einzeln ausgewählt und
eingeschaltet werden. Das Signal /OE behält ebenfalls
seine Gültigkeit. Es wird zum Schreiben der Daten auf /OE
= 1 und zum Lesen auf 0 gesetzt.
-
-
-
Programmierspannung Vpp anlegen
-
Beim
Programmieren ist die Versorgungsspannung Vcc des EPROMs
normalerweise etwas angehoben. Üblich ist Vcc = 6V. Zudem
muss eine zweite Spannung, die Programmierspannung am Pin Vpp
angelegt werden. Diese besitzt häufig die Werte 12,5V, 21V
oder 25V. Sie ist, wie die anderen bisher genannten Werte, dem
Datenblatt des EPROMs zu entnehmen. Die Spannung Vcc muss vor
der Spannung Vpp ein- und nach Vpp ausgeschaltet werden.
-
-
-
Das Programmiersignal /PGM
-
Nachdem
über den Adressbus ein Byte des Speichers ausgewählt
wurde und Daten auf dem Datenbus anliegen, wird das Signal /PGM
aktiviert (auf 0 gebracht). Zur Betätigung dieses Signals
gibt es nun mehrere Verfahren, die die Programmierzeit
verkürzen können.
-
-
-
Normaler Programmiermodus
-
Im
Normalmodus wird das Signal an /PGM durchgehend für die
Dauer von 45-55ms pro Byte (s.Datenblatt) auf logisch 0
gesetzt. Dann gilt das Byte als gebrannt. Dieser Modus benötigt
die längste Zeit und funktioniert auch bei veralteten
EPROM-Typen.
-
-
-
Schneller Programmiermodus
-
Bei
ihm wird das Signal an /PGM höchstens A mal für 1ms
auf logisch 0 gesetzt. Nach jeder Millisekunde wird geprüft,
ob das Byte den gewünschten Wert angenommen hat. Ist dies
der Fall, wird mit B weiteren Programmierimpulsen zu je 1ms
nachprogrammiert. ... siehe Flussdiagramm oben. Die Werte für
A und B sind dem Datenbuch des EPROMs zu entnehmen.
-
Ein
weiterer schneller Programmiermodus experimentiert noch mit der
Zeitdauer des Programmierimpulses, entspricht aber im Grossen
und Ganzen dem obigen Ablauf.
-
-
-
Kontrolle
-
Nachdem
der EPROM gebrannt wurde, wird an dem Pin Vpp die
Programmierspannung auf den Wert der normalen
Versorgungsspannung abgesenkt, dann ebenfalls an Vcc. Nun
liegen an Vcc=Vpp= 5V. Das häufig gemultiplexte Signal
/PGM erhält seine Normalbedeutung zurück. Ein
weiterer Lesevorgang stellt fest, ob alle Bytes des EPROMs, der
Originaldatei entsprechend, gebrannt wurden (verify).
Wie
bereits oben angedeutet, muss ein EPROM nicht in einem Zug
vollständig gebrannt werden. Er kann auch nur in
Teilbereichen bearbeitet werden, um später in einem anderen
Bereich programmiert zu werden. Durch den Adressbus ist ja
steuerbar, welches Bytes gebrannt wird.
|
|
|
|
- Binärdatei:
-
Eine Binärdatei
besteht aus der Abfolge von Speicherbytes, so wie sie bei einem
Programm oder bei Daten im Hauptspeicher eines Computers
vorliegen. Diese Bytes können Werte zwischen 00h und FFh
annehmen. Sie entsprechen dem, was man bei Programmen 'die
Maschinensprache' nennt. Assembler und Compiler erzeugen solche
Binärdateien, die dann von der CPU gelesen und umgesetzt
werden. Sollen diese Daten in einen EPROM gebrannt werden, so
muss das Programm des Brenners sie 1:1 in den EPROM übertragen.
-
-
Intel-Hex-Datei:
Eine Intel-Hex-Datei
beinhaltet ebenfalls binäre Programm- und Datencodes,
jedoch wurden diese mit weiteren Informationen versehen. Diese
Informationen können die Ablageadresse der Binärdaten
bezeichen, Start- und Endebytes benennen, sowie Checksummen zur
Datenübertragungssicherheit umfassen. Das Programm des
EPROM Brenners muss diese Informationen zwar auswerten,
sie aber vor dem Brennvorgang unbedingt entfernen. Tut er dass,
so stehen hernach wieder die reinen Binärdaten im EPROM.
|
|