Corso di BASCOM 8051 - (Capitolo 2 9 ) Corso Teorico/Pratico di programmazione in BASCOM 8051. Autore: DAMINO Salvatore. EEPROM SERIALI IN SPI. Tra i dispositivi più utilizzati, nelle applicazioni Embedded, spiccano le EEPROM Seriali. Questi dispositivi sono disponibili con diverse capacità di memorizzazione, contenitori e soprattutto con vari, e differenti, Protocolli di Comunicazione. In questo capitolo ci occuperemo di illustrare il Protocollo SPI. EEPROM Seriale 25LC040 in SPI. Le EEPROM sono dei dispositivi di Memoria, Non Volatile, vale a dire che mantengono le informazioni anche in assenza di alimentazione. Questi dispositivi possono essere Scritti un numero molto alto di volte e possono essere Letti indefinitivamente come delle normali RAM. 163
Le operazioni di gestione sono definite da precise regole che sono, qui di seguito, illustrate. L'architettura interna è esplitcitata dal seguente Schema che descrive i vari blocchi logici che la compongono. Schema a Blocchi di EEPROM in SPI. 164
La comunicazione, del dispositivo, avviene tramite 4 distinti segnali. 1) Il Primo segnale (/CS) abilita la EEPROM. 2) Il Secondo segnale (SCK) fornisce le Temporizzazioni e la Sincronizzazione. 3) Il Terzo segnale (SI) invia i Dati al dispositivo. 4) Il Quarto segnale (SO) preleva i Dati dal dispositivo. Invio e Prelievo non devono avvenire Contemporaneamente. Tra i Dati comunicati alla EEPROM c'è il comando che seleziona l'operazione da effettuare. Con i comandi di Lettura e di Scrittura c'è, naturalmente, anche l'indirizzo che specifica la locazione da usare. La EEPROM 25LC040 offre numerose possibilità di protezione sui dati memorizzati, sia a livello Hardware (pin /WE) che Software. Và sottolineato che una di queste protezioni si attiva automaticamente dopo ogni scrittura e deve essere Sempre disabilitata da Firmware. Per avera una visione più chiara, e dettagliata, Vi consigliamo vivamente di studiare lo specifico Data Sheet del componente e sperimentare gli esempi proposti. 165
Diagramma dei Tempi. 166
Esempio.049. Gestione R/W EEPROM Seriale 25LC040 a Byte. Definizioni aggiunte: Dichiarazioni aggiunte: Istruzioni aggiunte: Operatori aggiunti: Nessuno Programma di Esempio.049 del corso BASCOM 8051. Programma di prova e gestione EEPROM SPI Microchip 25LC040 a byte, a basso livello, senza istruzioni del BASCOM. Questo programma esegue le operazioni fondamentali sul componente con un'interfaccia SPI Software. Esso interagisce con l'utente, tramite una Console Seriale dotata di monitor e tastiera, con un protocollo fisico costante a 19.200 Baud, 8 Bit x chr, 1 Stop bit, Parità. Schema Applicativo della EEPROM Seriale 25LC04 in SPI. 167
Questa console può coincidere con un sistema in grado di gestire una comunicazione seriale in RS 2 3 2. Al fine di semplificarne l'uso si può usare un PC dotato di una linea COMx, che esegue un programma di Emulazione Terminale come HYPERTERMINAL o l'omonima modalità offerta dal BASCOM 8051 (vedere Configurazioni IDE). Il programma funziona solo se la GMM 5115 è montata sullo zoccolo Z2 della GMM TST3!! Schedina sperimentale, su Millefori, di EEPROM seriale in SPI. 168
Esempio.050. Gestione R/W EEPROM Seriale 25LC040 con Messaggi da 20 Caratteri Massimi Rappresentandoli su Console. Definizioni aggiunte: Dichiarazioni aggiunte: Istruzioni aggiunte: Operatori aggiunti: Nessuno Programma di Esempio.050 del corso BASCOM 8051. Programma di Lettura e Scrittura messaggi su EEPROM in SPI 25LC040. Esegue le operazioni sul componente con un'interfaccia SPI software ed interagendo con l'utente tramite una Console Seriale dotata di monitor e tastiera, con un protocollo fisico costante a 19.200 Baud, 8 Bit x chr, 1 Stop bit, Parità. Questa console può coincidere con un sistema in grado di gestire una comunicazione seriale in RS 2 3 2. Al fine di semplificarne l'uso si può usare un PC dotato di una linea COMx, che esegue un programma di Emulazione Terminale come HYPERTERMINAL o l'omonima modalità offerta dal BASCOM 8051 (vedere Configurazioni IDE). Il programma funziona solo se la GMM 5115 è montata sullo zoccolo Z2 della GMM TST3!! 169