Home
Accesso / Registrazione
 di 

Programmare le E2PROM Seriali - prima parte

Programmare le E2PROM Seriali

Come programmare le E2PROM Seriali. Hardware e software per leggere e scrivere dati nelle memorie ad accesso seriale di uso più comune: quelle ad I2C-bus della serie 24Cxx. Il circuito è semplicissimo e si collega alla porta parallela di qualunque Personal Computer IBM o compatibile. Il programma gira sotto Windows 95.

Non è passato molto tempo da quando abbiamo pubblicato il progetto del programmatore di memorie parallele e adesso, in seguito a nuove richieste giunte in redazione, proponiamo un semplicissimo programmer, realizzato però esclusivamente per lavorare con le EEPROM ad accesso seriale, che sono quelle più usate nei sistemi a microcontrollore della fascia bassa e mediobassa. Abbiamo concentrato la nostra attenzione sulle memorie ad I2Cbus perché risultano essere i dispositivi più diffusi, impiegati non solo nei circuiti a microcontrollore ma anche in apparati hi-fi Car, nei televisori, nei videoregistratori, principalmente per mantenere i canali ed i dati di impostazione del funzionamento. Non a caso, la tecnica I2C-bus è stata sviluppata per gli apparecchi audiovisivi per i quali esiste da tempo una vasta gamma di circuiti integrati per il controllo generale e di funzioni specifiche (sintonia, controllo On-Screen, ecc.) prodotti da Case quali la Siemens, la SGS-Thomson e la Philips.

Insomma, è questo il motivo per cui tra le varie memorie ad accesso seriale- dedichiamo particolare attenzione a quelle con protocollo I2Cbus, accantonando per ora le Microwire e le SPI. Il programmatore che trovate in queste pagine e che andremo a descrivere tra breve permette di scrivere e leggere dati nei chip di memoria EEPROM da 2 Kbit fino a 16 Kbit: consente quindi di lavorare con le 24C02 (2Kbit, cioè 256x8 bit) con le 24C04 (4 Kbit, ovvero 512x8 bit) le 24C08 (8Kbit, quindi 1Kx8 bit) e con le 24C16 (16Kbit, cioè 2Kx8 bit) che sono rispettivamente da 256, 512, 1 K e 2 Kbyte. Con il nostro circuito si può verificare il contenuto di una memoria, copiarlo in un file, quindi scriverlo in un altro chip anche solo per fare una copia. Ma vediamo innanzitutto come è fatto l’hardware, rimandando a dopo l’analisi del software e del relativo pannello di controllo sotto Windows 95.

Programmare le E2PROM Seriali - Schema elettrico

Il circuito del programmatore è semplicissimo, e lo si può constatare osservando lo schema elettrico illustrato in questa pagina: in pratica c’è uno zoccolo a 4+4 pin per inserire le memorie, quindi un buffer unidirezionale (un integrato 74LS244) utilizzato per interfacciare i fili dell’I2C-bus con la porta parallela del computer. Già, perché il piccolo circuitino viene gestito utilizzando 3 linee di uscita della porta LPT1, che sono D0, Strobe e Init, ed una linea di ingresso (Error).

programmare le e2prom seriali

Una delle uscite serve per pilotare l’SCL (System CLock) ovvero la linea di clock del bus mentre una seconda gestisce la linea SDA (Serial Data); tuttavia va notato che essendo quest’ultima bidirezionale (serve infatti per il trasferimento dei dati da e verso la memoria) il circuito deve prevedere la possibilità di scollegarla dal filo della parallela LPT1 usato per l’I/O dei dati, ovvero il D0: a ciò provvede una quarta linea, lo Strobe della porta parallela del computer, che permette di portare in tri-state il buffer U2 (il solito 74LS244).

Insomma, Error e D0 della LPT1 vengono usati rispettivamente per leggere e scrivere i dati nella memoria innestata nello zoccolo U1, e lo Strobe viene invece usato per comandare il funzionamento della parte di U2 a cui fa capo la linea di ingresso in modo da disattivare il collegamento tra D0 e l’SDA del chip quando si vuole leggere dei dati dalla memoria ed occorre pertanto che sia attivo solo il canale verso il computer. Notate che la posizione in tri-state del buffer riguarda solo metà di esso: infatti il 74LS244 è composto da 8 dispositivi elementari controllabili a gruppi di 4 da un piedino di abilitazione; per riuscire a portare in “alta-impedenza”, ovvero a disabilitare la linea del D0 (In Dati del programmatore), abbiamo semplicemente utilizzato per questa linea il gruppo di buffer controllato dal pin 1, in modo da agire solo su di essa ponendo a livello alto lo Strobe.

Invece, le linee Init e Error sono affidate a due dei 4 buffer dell’altro gruppo, sempre abilitato grazie alla connessione permanente tra il relativo piedino di Enabling (19) e massa, ovvero lo zero logico. Il circuito viene alimentato a tensione stabilizzata di 5 volt, ricavata dal regolatore U3 partendo dalla tension di ingresso, compresa tra 8 e 15 volt in continua; notate il diodo D1, posto in serie al ramo positivo di alimentazione che serve per proteggere dall’inversione accidentale di polarità. L’elettrolitico C1, come C2, C3 e C4, servono da filtro e sopprimono eventuali disturbi impulsivi e residui di alternata. Il led LD1 accendendosi indica la presenza dei 5 volt a valle dell’integrato U3. Notate infine, riguardo allo zoccolo U1 per le EEPROM, che sono posti a zero logico i piedini 1, 2, 3, 7, comuni per tutti i chip utilizzabili con il nostro programmatore; questi pin corrispondono rispettivamente, alle linee A0, A1, A2, e Write Protect.

Ponendo a zero logico i tre pin di indirizzo, la memoria inserita nel circuito si identifica come device 0 del bus I2C, ed il software da noi fornito è già predisposto per questa condizione, infatti nella stringa di dati che invia serialmente sul D0 (SDA in entrata...) seleziona l’address 0. Ponendo a massa il Write Protect (piedino 7) invece si disabilita la protezione dalla scrittura, caratteristica che ovviamente non viene utilizzata perché altrimenti non si potrebbe scrivere in memoria.

Programmare le memorie EEPROM seriali - Il software

Bene, adesso che abbiamo visto l’hardware dell’I2C-Bus EEPROM programmer analizziamo il software con cui utilizzarlo: si tratta di un programma la cui interfaccia utente è stata sviluppata per funzionare esclusivamente per Windows 95. Dopo averlo caricato (con “Installa Applicazioni” nel menu di Avvio) si attiva cliccando con il mouse sulla relativa icona, quindi appare la finestra principale da cui è possibile accedere a tutte le funzioni, che sono poi 3, una per ciascun pulsante virtuale che appare a video.

Tramite questa schermata si può leggere il contenuto di una memoria installata sulla scheda del programmatore, salvare quanto letto in un file di testo ASCII leggibile con l’Editor dell’MS-DOS (ogni riga riporta il contenuto di una cella) scrivere dei dati nella memoria prelevandoli da un file che verrà chiesto di indicare. Naturalmente per poter svolgere correttamente le varie operazioni bisogna prima impostare il tipo di memoria.

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog
ritratto di jlbhfa

Software

Ma il software per questo programmatore dove lo trovo?

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 7 utenti e 90 visitatori collegati.

Ultimi Commenti