Bausteine
 
 
 
 
 
ROM -Speicher
 
 
 
 
 
EPROM programmieren
 
 
 
 
 

 
 
 
 

 

 

 

 

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.

 

 

 

 

www..de