~
Progetti ~
- powered
by JavaScript -
Programmatore
di EEPROM seriali I²C
Un PIC fa da interfaccia tra il bus I²C, al quale è
collegata la memoria da leggere/programmare, e la porta seriale
del PC.
Le memorie che questo programmatore è in grado di gestire sono
le seguenti : 24C00, 24C01,
24C02, 24C04, 24C08, 24C16, 24C32, 24C64, 24C128, 24C256, SDA
2516, SDA 2526, SDA 2546, SDA2586, SDA 3526, SDA3546, SDA3586,
PCF8581/2, PCD8581/2, X2402/4, X2402P/04P e modelli
equivalenti.
Esse sono ormai presenti in diverse apparecchiature elettroniche
quali telefoni, autoradio, televisori, centralini e schede
per i più svariati usi. In moltissimi casi tali memorie sono
preformattate, vale a dire, contengono una serie di dati inseriti
in fase di produzione degli apparecchi, oppure contengono dati,
relativi ai vari settaggi, che devono essere mantenuti anche in
mancanza di alimentazione.
Software di gestione
Ecco come si presenta il software per Windows :
Questo programma, semplice ed intuitivo, permette la lettura e la
scrittura delle memorie I²C dalla 24C00 (16 byte x 8 bit) alla
24C256 (32Kbyte x 8 bit) ed equivalenti di qualsiasi marca e
qualsiasi velocità di bus/programmazione.
In mancanza dell'hardware di programmazione, questo programma
può essere utilizzato sia come convertitore da BIN a HEX
che come Hex-Viewer aprendo un file e poi
cliccando sul pulsante View Buffer.
L'hardware di programmazione comunica con il pc attraverso una
porta seriale, da COM1 a COM4, che viene rilevata automaticamente
dal sw e poi impostata a 9600 baud, NO parity, 8 data
bits, 1 stop bit.
Esiste anche una versione del software per DOS, di seguito la schermata principale.
I comandi usati per la comunicazione sono riportati in questa tabella.
Descrizione | Comando | Input | Output | Descrizione |
Read byte | R | Addr, Data | - | Lettura di un byte |
Write byte | W | Addr, Data | Data | Scrittura di un byte |
Set Control Word | C | CW | - | Impostazione della Control Word (per default è A0h) |
Read firmware ver. | F | - | [stringa] | Restituisce versione del firmware |
Read status | S | - | STATUS | Stato della EEPROM (risposta all'ultima
operazione) 00h = la memoria ha risposto con ACK 08h = la memoria non ha risposto |
Set type | T | TYPE | - | Impostazione del tipo di EEPROM 00h = fino a 16Kbit 01h = maggiore di 16Kbit |
[stringa] è una stringa in
formato ASCII di max. 20 caratteri (es. "1.0"
virgolette escluse).
Status è un byte che può essere 0h, se durante
l'ultimo comando di lettura/scrittura la EEPROM ha risposto con
Ack (fare riferimento al data-sheet di una qualsiasi memoria
I²C), oppure 08h se durante l'ultimo comando di
lettura/scrittura la EEPROM non ha risposto. La lettura di questo
byte permette al programmatore di identificare automaticamente la
EEPROM sullo zoccolo di programmazione.
Notare che il comando Write NON fa un eco
del dato da scrivere ma restituisce il dato *effettivamente*
presente all'indirizzo specificato dopo il ciclo di scrittura. Se
questo byte è diverso dal byte trasmesso, significa che è
avvenuto un errore in scrittura (una possibile
causa può essere la EEPROM difettosa o al termine della sua vita
utile).
Addr è un byte nel caso delle EEPROM fino a
16Kbit, oppure due bytes (Low Byte, High byte) nel caso delle
EEPROM maggiori di 16Kbit.
Hardware
Data la semplicità del montaggio, non mi sembra
necessario usare 140Kb di testo per descriverne il
funzionamento...
Le operazioni di lettura e scrittura della memoria vengono
effettuate ad un clock inferiore ai 100KHz, per
permettere al dispositivo di programmare sia le memorie con freq.
massima di clock di 400KHz che i modelli standard a 100.
T1, comandato da U1, accende e spegne la EEPROM, il MAX202
(sostituibile con il MAX232 o similari) permette
l'interfacciamento con il PC, il 78L05 fornisce la tensione
stabilizzata di +5V necessaria al funzionamento del tutto.
Il consumo del programmatore in stand-by è di circa 10mA, può quindi essere alimentato anche a batteria.
Notare che IL PROGRAMMA
"VEDE" E PERMETTE DI SELEZIONARE SOLO LE PORTE CON CAVO
NULL-MODEM (vedere sotto) COLLEGATO !
L'immagine mostra la schermata principale dopo che è stato
premuto "C" : il software ha "visto" un cavo
null modem sulla porta COM2, e permette la selezione solo
di questa porta. Questo vincolo permette di evitare conflitti con
altre periferiche che utilizzano la porta seriale.
Collegamento
al pc
Schema del cavo seriale :
|
Vengono utilizzati solo i segnali TxD, RxD e la
massa. I pin 4 e 5 del connettore DB25F vanno collegati assieme,
stessa cosa per i pic 6,8 e 20. Per il collegamento tra i due
connettori è possibile usare anche un comune cavetto (schermato)
stereo per applicazioni audio. Se sul PC avete una porta seriale
con connettore a 9 pin anzichè a 25, è necessario fare
riferimento a quanto riportato in tabella sotto la colonna "PC
(9 pin)".
Download
Schema
elettrico
Layout
Master del circuito, le sue
dimensioni sono 68,6x33,65 mm
Lista componenti
Firmware per il PIC16F84 versione 1.4
Software per Windows
v3.0, scritto in Visual C++
Software di controllo per DOS,
versione 1.5
Foto
dell'apparecchio finito
Foto del prototipo
This page is (always) under construction.