ELEMANIA
PIC16F690 - Memorie EEPROM

Il PIC è dotato di due tipi di memorie permanenti (EEPROM) interne:

Si faccia attenzione a non confondere la Data EEPROM (utilizzata per salvare valori che non devono cancellarsi allo spegnimento del PIC) con la memoria RAM del PIC (usata nelle normali operazioni di memorizzazione dei dati).

Entrambe le memorie EEPROM possono essere scritte al momento della programmazione del dispositivo e lette da programma. La memoria EEPROM per i dati può anche essere scritta da programma.

Tratteremo qui della sola scrittura (programmazione) della memoria permanente di programma. La lettura di tale memoria e l'utilizzo della memoria permanente dati sono invece trattate in una lezione successiva.

Memoria di programma (Flash Program Memory)

Il PIC16F690 è dotato di una memoria flash interna con organizzazione 4k x 14 bit. Si tratta in pratica di una EEPROM ad accesso relativamente lento (20ms per un ciclo di lettura o scrittura), cioè di una memoria non volatile programmabile elettricamente, il cui scopo è quello di contenere le istruzioni del programma.

Ogni istruzione del PIC occupa esattamente 14 bit, comprensivi di codice operativo e di eventuali operandi. Il numero massimo di istruzioni che possono essere contenute nella EEPROM è dunque 4k=4096 istruzioni.

La figura seguente mostra una mappa degli indirizzi della EEPROM del PIC16F690:

La parte di memoria riservata ai programmi è indicata con Program Memory ed è costituita dagli indirizzi da 0000 a 0FFF (4096 locazioni effettivamente implementate) e da altri 4096 indirizzi (da 1000 a 1FFF) che in realtà sono mappati sui precedenti (cioè ogni scrittura su queste locazioni in realtà produce una scrittura nell'area implementata.

L'area compresa fra 2000 e 207F invece è destinata alle informazioni di configurazione e in particolare alla Configuration Word.

In realtà non bisogna preoccuparsi troppo di questi dettagli implementativi, perché la memoria EEPROM non è modificabile da programma, cioè in altre parole, un programma (detto più precisamente firmware) non ha la possibilità di modificare se stesso tramite le proprie stesse istruzioni, andando a riscrivere l'area di memoria in cui risiede.

Tuttavia la EEPROM di programma può essere letta in fase di esecuzione, come sarà spiegato in una successiva lezione.

Scrittura (programmazione) della EEPROM

La scrittura della memoria EEPROM (si parla in questo caso più propriamente di programmazione) può avvenire per mezzo di un opportuno dispositivo detto programmatore, il quale si collega a un personal computer (per esempio tramite un'interfaccia USB). Il programmatore contiene uno zoccolo su cui viene montato il PIC. Mediante un opportuno software di programmazione, il file di programma (file in linguaggio macchina binario contenente il programma, detto generalmente firmware) viene caricato sulla EEPROM interna al PIC (il cui precedente contenuto viene completamente cancellato).

Un'alternativa è la cosiddetta programmazione in circuit (ICSP = In Circuit Serial Programming), nella quale il PIC viene programmato mentre è montato sulla propria scheda su cui dovrà lavorare. In questo caso tale scheda dovrà essere dotata di un connettore per il collegamento al programmatore di EEPROM.

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it