www.creasol.it
INSTALLAZIONE
LINUX
PROGETTAZIONE
ELETTRONICA
LINKS
 
Search:

1 accessi dal 15 ottobre 2001

Ultimo aggiornamento: 03/08/2023

Linux server

Creative Solutions Engineering
Consulenza e progettazione elettronica
Installazione e manutenzione sistemi informatici Linux

Quick Smart PROM Programmer
© Creative Solutions Engineering

Introduzione

In commercio si trovano svariati tipi di programmatori di Eprom, i quali presentano diverse funzionalita`, ma tutti sono caratterizzati da un costo elevato.

Un programmatore di Eprom puo` essere realizzato in diversi modi; le caratteristiche volute erano la trasportabilita` e il funzionamento su qualsiasi PC, anche portatili, per cui e` stata scelta la realizzazione esterna con collegamento seriale.
Un progetto con questo livello di complessita` (commutazione di un notevole numero di valori di tensioni di alimentazione e programmazione, diversi tipi di Eprom con piedinatura differente, e vari algoritmi di programmazione) puo` essere sviluppato in svariati modi.
Sfruttando le potenzialita` dei microcontrollori esistenti e` possibile ridurre notevolmente il numero dei componenti necessari alla realizzazione di un programmatore, e quindi anche il suo costo.

Si tratta di un programmatore di Prom/Eprom seriale, in grado di programmare e leggere svariati tipi di Eprom,dalle 2716 alle 27c4000. Il programmatore dialoga con il PC attraverso una porta di comunicazione standard RS232 mediante i due segnale RXD, TXD e naturalmente la massa (GND). La velocita' di comunicazione e' scelta intelligentemente dal programmatore insieme al programma che va installato sul PC in modo da garantire la massima velocita` minimizzando le ritrasmissioni dovute ad errori di comunicazione; questo significa che sara' possibile avere anche un cavo di collegamento fra programmatore e PC molto lungo senza avere problemi di perdita dati.

Il software di gestione del programmatore ( WPR20.EXE ) funziona in ambiente DOS su qualsiasi Personal Computer IBM compatibile, e potra` quindi essere utilizzato anche in una finestra DOS di Windows o di altri sistemi operativi; il suo utilizzo e` molto semplice ed intuitivo.

Come si puo' notare dal layout, in Fig. 1, il programmatore richiede pochissimi componenti e soprattutto utilizza componenti standard e di basso costo reperibili in qualsiasi negozio specializzato per l' elettronica. Naturalmente, come si sara' visto, il cuore di tutto il programmatore consiste nel microcontrollore single-chip 87C51 che deve essere programmato per adempiere a tutte le funzioni richieste.
Un componente che forse sara' un po' critico da reperire e' lo zoccolo Textool della 3M da 20+20 pin per l'inserimento delle Eprom da programmare; nel caso non fosse reperibile, sara' possibile utilizzare un normale zoccolo tulipano , e per far in modo che non si rovini con l'inserendo delle varie Eprom, infilare al di sopra di questo un altro zoccolo tulipano dello stesso tipo. In questo modo, quando lo zoccolo che contiene la Eprom sara' rovinato, sara' sufficente toglierlo e metterne uno nuovo.
L'immagine del programmatore finito e inscatolato puo' essere richiesta selezionando questo link.

Descrizione schema elettrico

Per semplicita` lo schema elettrico e` stato diviso nelle sue tre parti essenziali.

In Fig. 2 e' possibile vedere lo schema alimentatore che genera i 5 Vdc per la parte logica di controllo, le varie tensioni di alimentazione e di programmazione della Eprom.
Il trasformatore T1 fornisce, attraverso i suoi due secondari, le tensioni non filtrate di circa 15 e 30 volt, le quali verranno utilizzate dai successivi regolatori di tensione.
La tensione di alimentazione della parte logica e` stabilizzata da un 7805, che fornisce in uscita 5 Vdc , mentre le tensioni di alimentazione e programmazione della Eprom, essendo variabili poiche` gestite dal software, vengono stabilizzate da due LM317 comandati attraverso 8 trimmer di regolazione da un ULN2003 e 74HC595.
Sono inoltre presenti due circuiti di protezione e limitazione della corrente di alimentazione e programmazione della Eprom, cosicche` in caso di elevato assorbimento non si verificheranno danneggiamenti al programmatore e alla Eprom.
Una uscita del 74HC595 andra` a pilotare un buzzer per segnalazioni acustiche di funzionamento e controllo.

In Fig.3 e' riportato lo schema elettrico della parte logica di controllo con le connessioni dell' address bus e data bus allo zoccolo Textool 20+20 pin sul quale dovra` essere inserita l'eprom da programmare.

Infine, in Fig.4 viene mostrato il sistema di commutazione delle tensioni di alimentazione e programmazione della eprom; tali tensioni dovranno essere infatti applicate a piedini diversi della eprom, a seconda del tipo.
Schemi e Layout in formato PDF [2.1MB]

Montaggio

Per il montaggio dei componenti, si iniziera' inserendo tutti gli zoccoli facendo attenzione al verso della tacca di riferimento, e poi i componenti piu' piccoli , ovvero resistenze, diodi, condensatori, trimmer, transistor ecc., facendo attenzione alla polarita` dei dispositivi che lo richiedono.
Quando saranno montati tutti i componenti sulla scheda, la si potra' inscatolare per poi fare i pochi cablaggi richiesti.
Sara` inoltre necessario fissare i 3 regolatori di tensione al contenitore metallico, in modo che dissipino calore, isolando elettricamente i due LM 317 attraverso una mica, mentre non sara` necessario isolare il 7805.

All'accensione , il programmatore dovra` segnalare il suo funzionamento emettendo 3 beep dal buzzer; in caso contrario il circuito non funzionera` e dovra` essere ricontrollato.

Il collegamento seriale tra PC e programmatore deve essere effettuato mediante cavo schermato contenente 2 fili + calza , per il collegamento di RXD, TXD e GND ; in alternativa si potra' utilizzare un normalissimo cavo seriale non invertito facilmente reperibile in commercio.

A questo punto sara` necessario eseguire la taratura del programmatore seguendo le istruzioni riportate nel paragrafo Taratura del programmatore.

Installazione ed uso del software di gestione

Per installare il programma WPR sul PC, sara' sufficiente copiare l' intero contenuto del dischetto dato in dotazione nella directory \WPR del disco fisso del proprio PC. Per fare cio', dopo aver inserito il dischetto sull' unita' A del PC, digitare
C:
CD\
MD WPR
CD WPR
COPY A:*.*
Fatto cio', sara' possibile mettere in esecuzione il programma digitando WPR seguito dal tasto INVIO.
A questo punto il programma testera` la presenza del programmatore, ed in caso positivo stabilira` la velocita` seriale da utilizzare (che sara` funzione del numero di errori rilevati), ed emettera` una serie di beep per segnalare il corretto funzionamento; nel caso in cui il programmatore non sia connesso, verra` restituito un messaggio di errore, ed il programma continuera` l'esecuzione in modo "emulazione", che consentira' la sola manipolazione dei file binari/esadecimali nei vari formati, e l'uso dell'editor esadecimale.

Taratura del programmatore

I vari tipi di Eprom esistenti utilizzano diverse tensioni di alimentazione e di programmazione; queste tensioni dovranno essere regolate attraverso gli appositi trimmer facendo uso di un voltmetro elettronico, seguendo le istruzioni qui sotto riportate.
  1. Eseguito il programma WPR , entrare nel menu Impostazioni/Tarature
  2. Posizionare un puntale del tester a massa e l'altro sull'anodo del diodo D3 (tensione Vce), e predisporre il voltmetro affinche` misuri tensioni continue nel range 5-10 volt.
  3. Selezionare la voce del menu D e regolare il trimmer R12 affinche` la tensione sia di 6.7 Volt.
  4. Selezionare la voce del menu C e regolare il trimmer R13 affinche` la tensione sia di 6.4 Volt.
  5. Selezionare la voce del menu B e regolare il trimmer R14 affinche` la tensione sia di 6.2 Volt.
  6. Selezionare la voce del menu A e regolare il trimmer R13 affinche` la tensione sia di 5.2 Volt.
  7. Predisporre il voltmetro per misurare tensioni continue nel range 10-25 volt, posizionare un puntale a massa e l'altro sul anodo del diodo D5 (tensione Vpe).
  8. Selezionare la voce del menu H e regolare il trimmer R24 affinche` la tensione sia di 25.2olt.
  9. Selezionare la voce del menu G e regolare il trimmer R25 affinche` la tensione sia di 21.2 Volt.
  10. Selezionare la voce del menu F e regolare il trimmer R26 affinche` la tensione sia di 13 Volt.
  11. Selezionare la voce del menu E e regolare il trimmer R27 affinche` la tensione sia di 12.7 Volt.
  12. Ripetere la procedura fin qui vista per ricontrollare tutte le tensioni.
A questo punto, si potra' chiudere la scatola e provare il programmatore leggendo e scrivendo qualche Eprom.

Descrizione del programma

Il programma e' stato studiato per essere facile da usare ed intuitivo, e funziona in ambiente DOS. Alla partenza il programma si presenta con i 4 menu' principali, quali:
  • Menu' gestione File
  • Menu' gestione Eprom
  • Menu' gestione Ram
  • Menu' impostazioni.
Come si potra' notare, per accedere al menu' si possono usare i cursori unitamente al tasto INVIO , oppure digitando i tasti evidenziati.

Il Menu' File contiene:
  • Nome del File, dove si andra' a specificare il file per la programmazione della Eprom. Il programma e' in grado di leggere file di vari formati: file binari (BIN), file esadecimali nel formato Intel (HEX) e nei formati motorola (MS1, MS2 e MS3).
    Con i file binari ed esadecimali e' possibile programmare direttamente la Eprom, mentre per i formati motorola e' neccessario caricarli prima nella ram del programma, in modo che possano essere convertiti nel formato appropriato per la programmazione della Eprom.
  • Esegui permette di lanciare un qualsiasi programma che venga settato nel menu impostazioni alla voce "nome del file da eseguire". Si puo' far eseguire un editor, un semplice file manager, o cio' che piu' ci fa comodo.
  • DOS Shell sospende il programma principale e apre una finestra DOS; poi per ritornare al programma principale digitare "EXIT".
  • Risincronizzazione serve qualore il programmatore venga spento e riacceso mentre il programma e' attivo. Questa voce serve per sincronizzare la comunicazione seriale fra PC e programmatore.
  • Uscire serve per chiudere il programma e tornare al DOS o comunque al sistema operativo utilizzato.
Nel Menu' Gestione Eprom troviamo:
  • Tipo di Eprom serve per selezionare quale Eprom sara' da programmare.
    Verranno visualizzate per ciascuna Eprom tutte le caratteristiche di programmazione.
  • Programmare l' Eprom dara' il consenso al programmatore all' inizio della programmazione; a questo punto verra` chiesto se si vuole effettuare la programmazione in base al contenuto della RAM oppure del file specificato.
  • Controllare se l' Eprom e' vuota servira' per verificare la programmabilita` della Eprom.
  • Indirizzo iniziale in Eprom specifica a quale locazione di memoria iniziera' ad essere programmata la Eprom.
  • Indirizzo finale in Eprom serve quando si deve leggere una parte della Eprom, ed in questo caso definisce l' indirizzo dove terminare la lettura.
  • Lunghezza del blocco sostituisce la voce precedente, ovvero noi possiamo specificare quanto lunga sia la porzione del blocco da leggere.
  • Lettura della Eprom consente di leggere il contenuto della Eprom a partire dall'indirizzo iniziale; anche in questo caso verra` chiesto se si vorra` registrarne il contenuto nella RAM del PC (per la visualizzazione ed eventuale modifica attraverso l'editor) oppure in un file.
  • Confronto fra Ram e Eprom fa un paragone con il contenuto in ram e quello in Eprom.
Nel menu' Gestione Ram, troviamo le seguenti possibilita':
  • Editor esadecimale: consente di visualizzare il contenuto della RAM del programma predisposta per contenere un sorgente binario, ed eventualmente modificarla oppure inserire altri dati; l' inserimento dei dati puo' avvenire sia in modo esadecimale che in modo ASCII.
  • Indirizzo iniziale in Ram , come nel menu' gestione Eprom, seleziona il punto della ram da cui il programma deve partire per fare tutte le operazioni di lettura, scrittura ecc.
  • Indirizzo finale in Ram specifica, analogamente al comando precedente, l' indirizzo in cui il programma deve terminare i vari processi che stava eseguendo con la RAM del PC.
  • Lunghezza del blocco e' un comando alternativo al precedente: invece di usare l' indirizzo finale per stabilire la lunghezza della memoria da manipolare, e' possibile specificarne direttamente la lunghezza con questo comando.
    Questi ultimi tre comandi sono tutti correlati fra loro; infatti come si puo' notare dallo status del programma, la modifica di uno puo' comportare un aggiornamento in automatico degli altri.
  • Cancellazione della Ram non fa altro che settare tutta la ram del PC a FF.
  • Caricare il file in Ram serve per trasferire il file specificato dal menu File (nome del file) nella ram; questo comando serve per poter editare i vari file, per leggerli e per convertire i file del formato motorola (MS1,2,3) nel formato adeguato per essere manipolato dal programmatore (BIN o HEX).
  • Salvare il blocco in Ram serve per trasferire tutto il contenuto della ram in un file. Il nome da dare al file verra' chiesto dopo aver selezionato questo comando.
Menu Impostazioni:
  • Velocita' della porta seriale definisce a quale velocita' far comunicare il PC con il programmatore. Si consiglia di lasciare il modo automatico.
    In questo caso sara' il programmatore insieme al PC decidere la massima velocita' di comunicazione senza perdita di dati.
  • Nome del file da eseguire specifica quale programma vogliamo che venga eseguito quando viene invocata la voce ESEGUI dal menu FILE. Di solito si fa eseguire un programma di utilita' che serva alla gestione dei file, oppure un editor ecc. Naturalmente la dimensione massima del programma non deve essere maggiore della memoria libera disponibile del PC.
  • Salvataggio dei Bytes 0FFH: questo comando e' utilissimo ed e' una pecularieta' solo di questo programmatore; infatti se nel menu' viene specificato NO, quando nella programmazione di una Eprom verranno trovati dei byte FF, questi verranno ignorati e la scrittura continuera` dal prossimo byte diverso da FF.
    In questo modo se abbiamo una Eprom di grande dimensione e un file da programmare con tanti spazi vuoti, il tempo di programmazione risultera` drasticamente minore in quanto il programmatore andra` a scrivere solo i blocchi utili e non le zone non utilizzate della Eprom. Se invece in questo comando si risponde SI, il programmatore trattera' i byte FF come tutti gli altri byte.
  • Colori e' un menu' che serve per definire i vari colori del programma , come lo sfondo, le lettere evidenziate, i bordi ecc.
  • Com 1 e Com 2 serve al programma per sapere dov' e' collegato il programmatore.
  • Tarature e' un comando che serve per la taratura delle tensioni per il corretto funzionamento del programmatore come gia' spiegato precedentemente nel paragrafo Taratura del programmatore


Vai alla pagina principale