HOME PAGE

KISSEPROM
(ovvero Keep It Simple and Strong):
Programmatore per Eprom 27Cxx
(ed altre)
e breve corso sulle eprom

Le Eprom

Intro  Le Eprom  Hardware   Il Software

 

Prima di parlare delle Eprom facciamo una breve panoramica sulle varie famiglie di memorie:

 

ROM : Read Only Memory;
si tratta di memorie programmate al momento stesso della costruzione del chip e che non possono essere piu' programmate in seguito (solo lette).

 

PROM : Programmable Read Only Memory
a differenza delle ROM possono essere programmate, ma una sola volta; sono molto piu' fragili.

 

EPROM : Erasable Programmable Read Only Memory;
possono essere programmate piu' volte (vedi in seguito);
prima pero' e' necessario cancellarle facendo uso di una speciale lampada a raggi ultra-violetti.

 

EEPROM : Elettrically Erasable Programmable Read Only Memory
sono simili alle eprom ma possono essere cancellate elettricamente, senza ricorrere a speciali lampade UV.

 

 

LE EPROM

Possiamo immaginare una eprom costituita da una serie di celle all'interno delle quali sono memorizzate le informazioni in maniera sequenziale:

Ogni cella contiene quindi un Byte (1 Byte=8Bit; per esempio i bit 10010011 formano un Byte);
ogni cella si trova in una certa posizione individuata da un indirizzo; cosi' la prima cella si trova all'indirizzo 1, la seconda cella all'indirizzo 2 e cosi' di seguito (in realta' si comincia da 0.1.2..);
per poter accedere ad una cella bisogna specificarne l'indirizzo; se osserviamo il datasheet di una eprom notiamo che ci sono 8 piedini contrassegnati Q0..Q7: e' proprio da qui che andremo a leggere gli otto bit (cioe' un Byte) memorizzati in una determinata cella;



vediamo anche che ci sono dei piedini contrassegnati A0..A14: da questi si sceglie l'indirizzo della cella da leggere (o scrivere);
la sequenza semplificata e' dunque questa:
1) "scriviamo" sulle linee degli indirizzi (A0..A14) l'indirizzo a cui vogliamo accedere
2) e la eprom automaticamente ci fornira' sui piedini D0..D7 il byte;


per specificare l'indirizzo bisogna solo scrivere lo stesso in binario sulle linee A0..A14 nel seguente modo:

A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
   0    0    0   0    0    0   0  0   0   0   0   0   0   0   0
per specificare l'indirizzo 0 (Zero),

A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
   0    0    0   0    0    0   0  0   0   0   0   0   0   0   1
per specificare l'indirizzo 1,

A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
   0    0    0   0    0    0   0  0   0   0   0   0   1   0   0
per specificare l'indirizzo 4 e cosi di seguito;

ad ogni zero corrisponde un segnale di 0v mentre ad ogni 1 un segnale di circa 5V;

dal momento che siamo in argomento di indirizzi specifichiamo una cosa:
una 27C32 ha una capacita' di 32k bit che corrispondono a 32/8 Byte cioe' 4K byte; bisogna fare attenzione che 1K byte non corrisponde a 1000 byte ma a 1024 byte quindi una 27C32 avra' 1024x4=4096 locazioni di memoria (byte) (quindi indirizzi);
una 27C64  ha una capacita' di 8K byte quindi 8192 indirizzi;
27C128 > 16Kbyte > 16384 indirizzi
27C256 > 32Kbyte > 32768 indirizzi
27C512 > 64KByte > 65536 indirizzi e cosi' via

alcuni piedini (detti "di controllo") servono a controllare il chip:

 

Riassumendo le operazioni da compiere per leggere da una eprom sono:

  1. abilitiamo il chip (CE a 0v)

  2. abilitiamo le uscite (OE a 0v)

  3. specifichiamo l'indirizzo da cui leggere (linee A0..A14)

  4. dopo un breve periodo (necessario a stabilizzare i segnali) leggiamo il byte sui piedini Q0..Q7

  5. specifichiamo un nuovo indirizzo..

Per scrivere invece :

  1. abilitiamo il chip (CE a 0v);

  2. disabilitiamo le uscite (OE a +5v);

  3. applichiamo la tensione di programmazione su Vpp;

  4. spesso si alza la tensione di alimentazione da +5v a +6,25 (come per "scrivere-calcare" meglio il dato)

  5. specifichiamo l'indirizzo in cui scrivere (linee A0..A14)

  6. mettiamo il byte da scrivere sui pin Q0..Q7

  7. quando i segnali sono stabili diamo un impulso negativo su OE (cioe' lo portiamo per circa 50ms a 0v per poi riportarlo a +5v) ed il gioco e' fatto;

  8. specifichiamo un nuovo indirizzo e ripetiamo il ciclo;

va detto che in alcune eprom e' presente il pin PGM; in questi casi si usa lasciare OE a +5v e dare l'impulso di programmazione tramite PGM; ma si possono seguire anche altre vie (per esempio lasciare OE a +5V, PGM a 0 e dare l'impulso tramite  VPP);
in ogni caso sui datasheet dei chip e' sempre ben chiarita la procedura per leggere/scrivere/verificare ecc.


Dimeticavamo i pin

Solo due parole sulla cancellazione (gia' descritta nel mio sito a riguardo del cancellatore di eprom a raggi UV):
per poter programmare una eprom questa deve essere completamente cancellata, ovvero tutti i suoi bit devono avere valore "1" (tutto "FF"); infatti e' solo possibile (programmandola) scrivere degli 0;
l'operazione contraria (scrivere cioe' degli 1) e' possibile solo durante la fase di cancellazione;
per ottenere questo (cioe' per cancellarla) e' necessario esporla per un certo periodo di tempo a delle particolari radiazioni ultraviolette, nel caso particolare si tratta di Raggi Ultravioletti di tipo "C", ovvero con lunghezza d'onda di circa 253,7 nanometri;
si tratta in pratica di usare un tubo al neon "germicida", usato spesso negli acquari per eliminare le alghe o dai dentisti, parrucchieri ecc., quindi non difficile da reperire;

Sui diversi datasheet e' sempre consigliata la distanza minima dalla lampada ed il tempo minimo di esposizione, che dovrebbe essere di circa 2,5 cm dal neon per 15-20minuti per una dose di radiazioni di circa 15 W-sec/cm quadrati;
ovviamente avvicinando la eprom al neon ridurremo il tempo di esposizione e la cancelleremo prima;
in pratica tutto questo non e' importante, perche' dopo  alcune prove troveremo il valore ottimale;
personalmente mantengo le eprom a 2 cm dal neon esponendola per circa 10 minuti;
Va detto che prolungare di molto l'esposizione ai raggi UV puo' danneggiare in modo permanente la eprom;
inoltre dopo ogni ciclo di cancellazione diminuisce sensibilmente il tempo di accesso della eprom;
Prima di cancellare una Eprom e' bene verificare che la finestra superiore sia ben pulita; in caso contrario pulirla con dell'alcool.

Ora che sappiamo cos'e, come si legge e come si programma una eprom possiamo passare a costruire il programmatore.

 

Continua con il Programmatore

 

73 de iz7ath, Talino Tribuzio

 

HOME PAGE