Deze website maakt gebruik van zogeheten cookies. Klik op [OK] om deze melding te verbergen. Klik hier om meer informatie te lezen over de gebruikte cookies.
P O L Y T E C H . N U
English

(E)EPROM - (Erasable) Electric Programmammable Read Only Memory

inleiding
Een EPROM is een electronica component dat werkt als een (programmeerbaar) geheugen. EPROM staat voor Erasable Programmable Read Only memory. De benaming is wat bedenklijk omdat "Read Only" impliceert dat de chip alleen uit te lezen is en niet te programmeren. De realiteit leert dat een EPROM (normaal gesproken) één keer wordt geprogrammeerd voor een zekere toepassing en na het programmeren alleen wordt uitgelezen. Het is in de praktijk (afhankelijk van het model) mogelijk om een EPROM een aantal keer te kunnen wissen en (her)programmeren.
Feitelijk komt er op de uitgang pennen van de EPROM per pen 0 VDC of 5 VDC te staan bij het aansluiten van 0 VDC of 5 VDC op de adres pennen. Welke pen hoog (logisch 1 / 5 VDC) of laag (logisch 0 / 0 VDC) is, is naar wens te programmeren.

werking
De werking van een (parallelle) EPROM is het best uit te leggen aan onderstaande afbeelding. Hier is de EPROM afgebeeld als de rechthoek in de eenvoudig schakeling.
image

Voorbeeldschaking van EPROM.


uitgangen
Aan elk van de acht uitgang pennen Q0...Q7 is een ledje met een weerstand naar de massa geplaast. (De weerstanden zijn ervoor om de stroom door de led en EPROM te beperken.) Elke uitgang van de EPROM is 0 of 5 VDC. Wanneer een pen "0" is, is de spanning 0 V en geeft de led geen licht. Waneer de uitgang pen van de EPROM "1" is, is de spanning op de pen 5 VDC. Dus aan het ledje is te zien of de uitgang van de EPROM hoog (1) of laag (0) is. In dit voorbeeld heeft de EPROM acht uitgang pennen. Acht pennen is de meest voorkomende uitvoering. Er zijn ook andere uitvoeringen, maar deze komen weinig voor en voor de werking maakt het geen verschil.

ingangen
Het gewenste adres van de geheugen positie is selecteren door middel van een spannig op de adres pennen te plaatsen. In de voorbeeld schakeling zijn er weerstanden geplaatst om "zweven" van de pennen tegen te gaan. Door middel van de acht schakelaars is een gewenst adres te selecteren. Door het schakelen van een schakelaar wordt de spanning op de ingang pen van 0 VDC naar 5 VDC geschakeld. Dan wordt er van een logische 0 naar ene logische 1 geschakeld. Met de ingangen wordt binair geteld. Als alle ingang "laag" zijn, is het geselecteerde adres 0000 0000. Wanneer 0000 0001 is geselecteerd (door schakelaar aan pen A0 naar "hoog" te schakelen), wordt adres ��n geselecteerd. En zo is met 0000 1111 adres 15 geselecteerd. In de praktijk worden EPROM adressen hexadecimaal genoteerd, ofwel als 0F. Het hoogste adres is hiermee 1111 1111 [bin] / 255 [dec] / FF [hex].

geheugen
Elk adres kan voorzien worden van informatie dat geprogrammeerd kan worden. In de praktijk betekent dit dat elke uitgangspen hoog of laag kan worden geprogrammeerd. Per adres positie kan voor elke uitgang pen gekozen worden of deze hoog (1) of laag (0) moet zijn. Voor adres 1 [dec] / 0000 0001 [bin] kan bijvoorbeeld 1010 1010 [bin] / 170 [dec] / AA [hex] worden geprogrammeerd. Elke keer dat ingang 1 [dec] / 0000 0001 [bin] wordt geselecteerd, zal 1010 1010 [bin] / 170 [dec] / AA [hex] op de uitangen komen te staan. De uigang van de EPROM is niets meer of minder dan 0 of 5 VDC op elke uitgang pen. Omwille van notatie wordt de waarde vaak hexadecimaal uitgedruk omdat dat korter en overzichtelijker is dan de binaire weergave.

OE en CE
Vaak hebben EPROM's extra pennen zoals OE (Output Enable) en CE (Chip Enable). Hiermee kunnen de uitgangen van de EPROM (tijdelijk) worden uitgeschakeld en ook de hele chip worden uitgeschakeld. Vaak worden deze pennen ook gebruikt om de EPROM te programmeren. Dit proces zal hieronder verder worden toegelicht.

geheugengrootte
De grootte van een parallelle EPROM is afhankelijk van het aantal adres pennen. Als er één pen is, dan heeft de EPROM twee adressen. De ene pen kan namelijk 0 of 1 zijn. Dus adres 0 en 1. Elke adres kan 8 bits (8 uitgang pennen) bevatten en omdat er twee adressen zijn, in totaal 16 bits. Als er twee ingang pennen zijn, zijn er vier adressen. Namelijk 00, 01, 10 en 11 [bin]. Dit is ook eenvoudig te berekenen door "het aantal staten te machtsverheffen met het aantal pennen". Het aantal staten is twee omdat de pen alleen hoog óf laag kan zijn. Het aantal pennen spreekt voor zich. Voor een chip met tien adres pennen is de berekening dus 2^10 = 1.024. Dus er zijn 1.024 adressen te selecteren met tien pennen. Omdat elke adres acht bits kan bevatten is de totale hoeveelheid te programmeren bits 1.024 * 8 = 8.192 bits. Hier wordt vaak gesproken over een 8 kbit (8 kilobit) geheugen. (Niet te verwarren met een kilobyte kB! Eén Byte bevat namelijk acht bits.) De noem waarde wordt voor het gemak vaak afgerond tot een logische waarde in de veelvoud van twee. De kleinste gebruikelijke EPROM is 8kbit. 32 en 64 kbit EPROM's zijn veel toegepast en 256 en 512 kbit zijn weinig toegepast omdat EPROM techniek vervangen werd door EEPROM's en seriële EEPROM's. Om een indruk te krijgen staat hieronder een overzichtje van EPROM bits. Ook de theoretische (in werkelijkheid niet bestaande) kleine EPROM waarden zijn weergegeven om een indruk te krijgen van de informatie opbouw.



naam
adres pennen
data pennen
aantal adressen
aantal bits
benaming
-
1
8
2
16
16 Bit
-
2
8
4
32
32 Bit
-
3
8
8
64
64 Bit
-
4
8
16
128
128 Bit
-
5
8
32
256
256 Bit
-
6
8
64
512
512 Bit
-
7
8
128
1.024
1 kBit
-
8
8
256
2.048
2 kBit
-
9
8
512
4.096
4 kBit
27C08
10
8
1.024
8.192
8 kBit
27C16
11
8
2.048
16.384
16 kBit
27C32
12
8
4.096
32.768
32 kBit
27C64
13
8
8.192
65.536
64 kBit
27C128
14
8
16.384
131.072
128 kBit
27C256
15
8
32.768
262.144
256 kBit
27C512
16
8
65.536
524.288
512 kBit

programmeren en wissen
info volgt nog...
kladnotitie: EPROM of EEPROM / snelheid



image

Minipro Tl866 programmer.


parallel of serieel
Omdat de wens er was om meer informatie op te slaan zijn er (paralelle) EPROMS en EEPROMS met steeds meer adressen/pennen gemaakt. Omdat DIP chips hierdoor steeds groter werden, werd er ook een limiet bereikt. Grote geheugens zijn soms opgebouwd uit meerdere EPROM's waarbij de geheugen inhoud over meerdere EPROM's verdeeld zijn. De grootte van de chip was niet het probleem, maar meer de ruimte voor de fysieke aansluit pennen. Door nieuwe technieken is de seriële EEPROM geïntroduceerd. Door een aantal bitjes naar een seriële EEPROM te sturen is een adres geselecteerd in de chip en is de geheugen inhoud als een serie bitjes terug gestuurd. Zo zijn er veel minder pennen nodig en kunnen er grote hoeveelheden data in een fysiek kleine chip worden opgeslagen. Een kanttekening is dat een seriële chip vaak aangesloten moet zijn op andere chips om de informatie in de gewenste vorm weer te kunnen geven. Door middel van een paar draadjes ene adres selecteren is bijvoorbeeld niet mogelijk omdat de bitjes met een klokpuls naar de chip toe moeten worden gestuurd en uit de chip moeten worden "gehaald". Sinds de introductie van microprocessors en microcontrollers is dit geen beperking meer en worden er in nieuwe ontwerpen doorgaans uitsluitend seriële EEPROMS toegepast.

soorten geheugen
Er zijn meerdere soorten geheugen. De ontwikkeling is nog lang niet gestopt en er komen nog steeds nieuwe soorten geheugen bij. Een aantal relevante soorten zijn hieronder toegelicht

EPROM / OTP EPROM
De EPROM (Erasable Programmable Read Only Memory) is een geheugen dat "eenmalig" geprogrammeerd wordt. Dit is over het algemeen statische informatie. De opgeslagen informatie blijft, ook zonder spanning, behouden. Deze EPROM's zijn te herkennen aan een "raampje" van kwartsglas waardoor licht op de daadwerkelijke chip kan vallen. EPROM's zijn vaak gebruikt om eenvoudige programma informatie op te slaan dat door een gekoppelde microprocessor kan worden uitgelezen. Door de EPROM te vervangen of te herprogrammeren, kan er een ander programma worden geladen in de microprocessor. Een EPROM met een "raampje" kan door middel van UV licht worden gewist en worden geherprogrammeerd. Van het wissen slijt een chip en het aantal keren herprogrammeren is hiermee ook beperkt tot ongeveer vijf tot tien maal. Bij het wissen door (ongeveer vier minuten) belichten worden alle geheugenplaatsen op "1" gezet waardoor de hexadecimale informatie in de chip voor ale posities "F" wordt. Let op dat EPROMS niet gewist kunnen worden als deze onder spanning staan. Dus verwijderd een EPROM uit het circuit om deze te kunnen wissen. EPROMS worden door experimenteel radio onderzoekers vaak gebruikt omdat deze universele inzetbaar zijn. Pfitzner Teletron mobilofoons hebben bijvoorbeeld de programmatuur in EPROMS zitten en als je wilt is het mogelijk om "rare" logica te programmeren in een EPROM. Zo kan een NAND, AND, OR, NOR of andere functie tegelijk worden geprogrammeerd in één EPROM. Door de waarheidstabel te bepalen is het HEX/BIN bestand te ontwerpen naar wens. Zo kan je bijvoorbeeld een BCD naar 7-segment decoder worden gemaakt waarbij ook A tot en met F te programmeren is waar bijvoorbeeld een specifieke BCD naar 7-segment chip, zoals de HEF4511 chip, dit niet kan... Hieronder staat een mogelijk programa voor een EPROM als 7-segment decoder.

image

Er zijn ook EPROMS die niet gewist kunnen worden omdat het "raampje" ontbreekt. Deze OTP EPROM's kunnen dus maar één keer worden geprogrammeerd omdat wissen met UV licht niet mogelijk is. Doorgaans komen deze weinig voor en zijn deze One Time Programmable chips zijn zelden/nooit interessant voor hergebruik tenzij er informatie geprogrammeerd is dat herbruikbaar is. Dit is zelden zo en daarom kom je OTP chips nog maar weinig tegen. Een "gimmick" is om een counter chip zoals de HEF4060 aan de adres ingangen te verbinden waardoor alle adressen op volgorde worden geselecteerd. Door een aantal leds aan de uitgangen van de OTP EPROM te verbinden knipperen de leds ogenschijnlijk redelijk willekeurig (afhankelijk van de inhoud van de chip).
Het is geadviseerd om (OTP) EPROM's wel een keer te back-uppen omdat gebleken is dat op lange termijn de informatie toch kunnen verliezen.

EEPROM
De EEPROM is in beginsel gelijk aan de EPROM met uitzondering dat een EEPROM (Electric Erasable Programmable Read Only Memory) de wissen is door middel van een elektrisch signaal in plaats van UV licht. Vaak kunnen deze geheugens tien-/honderdduizenden keren worden gewist en geherprogrammeerd. EEPROMS waren/zijn goedkoper omdat deze in een kunststof behuizing kunnen worden geplaatst in plaats van een keramische behuizing met een relatief duur "raampje". Door de introductie van EEPROMS zijn EPROMS redelijk verdrongen. Mogelijk zijn EPROMS interessanter omdat specifieke modellen hogere snelheden kunnen halen ten opzichte van EEPROM's.

SRAM / DRAM
Een SRAM (Static Random Access Memory) lijkt wederom in de basis op een EPROM, maar het grootste verschil is dat het een vluchtig geheugen (EN: volatile memory) is. Dat wil zeggen dat het geheugen wordt gewist bij wegnemen van de voedingsspanning (backup spanning). Zolang er spanning op de chip blijft, blijft het geheugen behouden. Dit is een gebruikelijk geheugen om tijdelijk informatie op te slaan gedurende een proces van een gekoppelde microprocessor. Een specifieke toepassing is bijvoorbeeld in een encryptie module zoals de Racal MA 4083 fill-gun. In dit specifieke geval wordt een (geheime) encryptie sleutel "onthouden" zolang er spanning in de backup batterij is. Bij het resetten van de module (bij naderen van de vijand) wordt de backup spanning tijdelijk onderbroken en daarmee het geheugen gewist zodat de informatie niet bij de vijand terecht komt.)
De informatie van een SRAM geheugen kan per willekeurig adres worden opgevraagd. Een voordeel is dat de informatie niet hoeft te worden ververst in tegenstelling tot een DRAM. Bij een DRAM moet periodiek de informatie van alle adres locaties worden uitgelezen en teruggeschreven om de integriteit van de informatie te bewaken. Dit is van toepassing in computer geheugens en DRAM's zijn zelden interessant voor zelfbouw apparatuur. SRAM's kunnen daarentegen wel interessant zijn om vluchtige informatie op te slaan.