EEPROM SERIALI IN I2C BUS.

Documenti analoghi
Real Time Clock, in I2C BUS, Provvisto di RAM.

EEPROM SERIALI IN MICROWIRE.

Esempi di Programmi con TIO 1 6 (1).

T I M E R e C O U N T E R ( 1).

Gestione Termometro e Termostato.

SERVOMOTORI A ROTAZIONE CONTINUA ( 3 )

Sezione di Analog/Digital

Corso di BASCOM AVR - ( 9 ) Corso Teorico/Pratico di programmazione in BASCOM AVR. Autore: DAMINO Salvatore. Codice Morse. (3).

S E R V O M O T O R I ( 2 )

Corso di BASCOM (Capitolo 1 5 ) Corso Teorico/Pratico di programmazione in BASCOM Autore: DAMINO Salvatore. D I S P L A Y L C D (3).

Gestione delle Linee di Uscita Tramite dei Relay.

Corso di BASCOM (Capitolo 9 ) Corso Teorico/Pratico di programmazione in BASCOM Autore: DAMINO Salvatore. Codice Morse. (3).

Protocollo Standard da Campo

Driver per Display a 7 Segmenti in I2C BUS. ( 1 )

Corso di BASCOM (Capitolo 4 3 ) Corso Teorico/Pratico di programmazione in BASCOM Autore: DAMINO Salvatore. Reti in I2C BUS.

Gestione delle Linee di Ingresso Optoisolate.

Gestione di una UART SOFTWARE.

Sezione di PWM e Generatore di D/A Converter.

Porta CENTRONICS e Porta Parallela LPT.

S E R V O M O T O R I ( 1 )

Corso di BASCOM (Capitolo 7 ) Corso Teorico/Pratico di programmazione in BASCOM Autore: DAMINO Salvatore. CODICE MORSE (1).

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S Il Bus I 2 C.

Il protocollo RS Introduzione. 1.2 Lo Standard RS-232

Bus RS-232. Ing. Gianfranco Miele April 28, 2011

USO DEL PROGRAMMA FLIP

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

Interfaccia RS 232 Tipo: x-101

Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Alimentatore master. Introduzione

COMUNICAZIONE SERIALE a cura dell' Ing. Buttolo Marco

LE ALTRE BOARD ARDUINO

Sch ed e Ser ie RD7 7

Il sensore ad ultrasuoni

22/09/2010. Rossato Alessio

Il Theremin con il microcontrollore

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Componenti e connessioni. Capitolo 3

Lab. Sistemi - Classe 5Bn A. S. 2000/2001 ITIS Primo Levi - Torino AA.AA. STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di

Componenti principali

In questa puntata scopriremo

EcoRemote SISTEMA DI GESTIONE DI UNA STAZIONE DI MONITORAGGIO DELLA QUALITÀ DELL ARIA. Ingegneria dei sistemi

Caratteristiche di un PC

OPEN DRIVE OPEN DRIVE

PLC51 AUTOMAZIONE. di G.Filella e C. Befera filella@tin.it

ELETTRONICA INDUSTRIALE

Tecnologie dei Sistemi di Automazione

Le Reti Informatiche

Il Sottosistema di Memoria

Corso di programmazione Arduino DI MALVEZZI DAVIDE

Come è fatto un computer

Contatore di energia monofase con interfaccia Seriale Modbus

Contatore di energia monofase con interfaccia Seriale Modbus

Interfacciamento di periferiche I/O al μp 8088

M1410 Ingresso/Uscita parallelo

ISO- OSI e architetture Client-Server

Sistemi di Elaborazione delle Informazioni

Verso Arduino... E oltre!

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino. Gruppo H: Sistemi Elettronici Lezione n H - 5: Collegamenti seriali Conclusione

Esame di INFORMATICA Lezione 4

Manuale d uso e manutenzione

Corso di MODI DI INTERCONNESSIONE NEI SISTEMI

SPECIFICHE INTERFACCIA

MANUALE PER L OPERATORE Versione software: 1.0

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Interfaccia seriale per LM709SW

Apparecchiatura Kit KS.ino2.1 Preliminare 0.1c

Questa puntata conclude il

Centrale Radio Supercom 646

MODBUS-RTU per TWM3IO

Architettura dei computer

Informatica giuridica

Il ricevitore Video over IP VE8950R di ATEN offre segnali 4K AV senza perdita con barra latenza a lunga distanza mediante una rete Gigabit standard.

Struttura del protocollo M-Bus Modbus RS485

Elementi di base del calcolatore

L interfaccia più comune fra il computer (DTE) ed il modem (DCE) è la RS232,

Reti logiche (2) Circuiti sequenziali

Architettura di un elaboratore. Il modello di von Neumann

Architettura di un calcolatore

Esercitazione. Livello di Trasporto [Capitolo 3]

Transcript:

Corso di BASCOM 8051 - (Capitolo 3 0 ) Corso Teorico/Pratico di programmazione in BASCOM 8051. Autore: DAMINO Salvatore. EEPROM SERIALI IN I2C BUS. 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 I2C BUS. Marchio I2C BUS. 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 infinitamente come delle normali RAM. 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. Per avera una visione più chiara, e dettagliata, Vi consigliamo vivamente di studiare lo specifico Data Sheet del componente e sperimentare gli esempi proposti. 170

P R O T O C O L L O S E R I A L E I 2 C B U S. I2C, acronimo di Inter Integrated Circuit (pronuncia i-quadro-ci o i-due-ci), è un sistema di Comunicazione Seriale Bifilare utilizzato tra circuiti integrati. Il BUS è stato sviluppato dalla Philips nel 1982 e, dopo la realizzazione di centinaia di componenti e sistemi negli anni '80, nel 1992 è stato rilasciata la prima versione del Protocollo. Esso ha subìto diversi aggiornamenti ed ha generato BUS simili, uno dei quali (SM BUS) per motivi squisitamente commerciali di brevetto Intel, nel 1995. Il BUS I2C e' composto da 2 linee chiamate SDA (Dati) e SCL (Clock), entrambe del tipo a collettore aperto. La linea SDA e' di tipo bidirezionale, e permette lo scambio dei dati tra i dispositivi I2C collegati, mentre la linea SCL e' unidirezionale e serve come Clock per sincronizzare la comunicazione. Questo BUS, che e' stato ideato dalla Philips, e' utilizzato da diverse tipologie di dispositivi utilizzati anche in molte apparecchiature commerciali. Molto diffuse sono, ad esempio, le EEPROM seriali della famiglia 24Cxx. La comunicazione con un componente I2C e' caratterizzata da alcune fasi che sono sempre uguali per qualsiasi dispositivo. L'inizio e la fine della comunicazione I2C vengono determinati inviando nel BUS gli impulsi di START e di STOP ottenuti mediante una particolare sequenza di stati logici nelle linee SDA e SCL. START e STOP Sul BUS. In condizioni di riposo le linee SDA e SCL sono mantenute a livello logico 1. La condizione di START si ha quando la linea SDA passa da 1 a 0 mentre SCL si mantiene a livello 1. La condizione di STOP invece si ha quando la linea SDA passa da 0 a 1 mentre SCL si trova a livello 1. Segnali SCL ed SDA Durata START e STOP. 171

Dopo aver inviato la sequenza di Start, il livello logico della linea SDA viene ritenuto valido e viene letto dal dispositivo I2C quando SCL e' a livello 1, mentre quando SCL e' a livello 0 ogni cambiamento dello stato di SDA e' ininfluente. Trasmissione dei Dati sul BUS. Dopo la sequenza di start, ogni dato da inviare o ricevere dal BUS I2C e' composto da 8 bit (cioe' un byte), piu' un nono bit di ACK utile per controllare se la comunicazione ha avuto buon esito. Ecco un esempio di trasmissione di 2 bytes: Segnali I2C BUS Durante la Comunicazione. Come si puo' vedere, va inviato prima il bit piu' significativo MSB. In corrispondenza di ogni bit va inviato un impulso di clock sulla linea SCL. Il nono bit definito ACK ha normalmente un livello 0 e viene generato dal dispositivo che ha ricevuto il Dato. Il livello 1 sul nono bit viene definito NAK e segnala l'ultimo byte comunicato, un errore, la mancanza del dispositivo I2C, ecc. 172

Indirizzamento dei Dispositivi sul BUS. Come accade per tutti i BUS anche per I2C si possono collegare diversi dispositivi sulle linee SCL ed SDA. Nelle comunicazioni il primo byte trasmesso coincide sempre con lo SLAVE ADDRESS, ovvero, l'indirizzo del dispositivo interessato dalla comunicazione appena iniziata. Ogni dispositivo I2C ha un proprio SLAVE ADDRESS univoco, e descritto nel Data Sheet, composto da 7 bit più l'ottavo (LSB) che seleziona la Direzione della comunicazione tra Lettura e Scrittura (R/W). Schema a Blocchi della EEPROM Seriale, in I2C BUS, AT24C08. 173

Molti dispositivi hanno uno SLAVE ADDRESS parzialmente modificabile, via hardware, con lo stato dei segnali An. In questo modo sullo stesso BUS possono essere collegati anche più dispositivi dello stesso tipo come, ad esempio, fino a 2 dispositivi EEPROM tipo 24C08 oppure 4 dispositivi tipo 24C04. La comunicazione I2C BUS può essere gestita da qualsiasi microcontrollore che disponga di almeno 2 linee di I/O di cui una Bidirezionale e l altra può essere di sola uscita. Grazie ad apposite Istruzioni del BASCOM, tali linee generano le operazioni fondamentali della comunicazione, che può quindi avvenire ad alto livello. Ogni coppia di linee del Mini Modulo può essere usata come interfaccia I2C BUS. Per convenzione, e per comatibilità tra i Pin-Out dei vari Mini Moduli, sono stati scelti, e canonizzati nei Fogli Tecnici, quelli indicati nei seguenti schemi. Gli schemi sono riferiti all'utilizzo del Mini Modulo montato sulla scheda di test GMM TST3 e collegata, tramite il connettore CN3, alla circuiteria sperimentale esterna. 174

Esempio.051. Gestione R/W EEPROM Seriale AT24C08 a Byte. Definizioni aggiunte: Dichiarazioni aggiunte: Istruzioni aggiunte: CONFIG SCL; CONFIG SDA ; I2CSTART ; I2CWBYTE ; I2CRBYTE ; I2CSTOP. Operatori aggiunti: Nessuno Programma di Esempio.051 del corso BASCOM 8051. Programma di prova e gestione EEPROM in I2C BUS AT24C08. Schema applicativo della EEPROM seriale AT24C08. 175

Schedina sperimentale, su Millefori, di EEPROM seriale in I2C BUS. Questo programma esegue le operazioni fondamentali sul componente con un'interfaccia I2C BUS 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à. 176

Connessione tra lo Zoccolo Z2 ed il Connettore CN3 su GMM TST3. 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!! 177

Esempio.052. Gestione R/W EEPROM Seriale AT24C08 con Messaggi da 20 Caratteri Massimi Rappresentandoli su Console. Definizioni aggiunte: Dichiarazioni aggiunte: Istruzioni aggiunte: Operatori aggiunti: Nessuno Programma di Esempio.052 del corso BASCOM 8051. Programma di Lettura e Scrittura messaggi su EEPROM in I2C BUS AT24C08. Esegue le operazioni fondamentali sul componente con un'interfaccia in I2C BUS 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!! 178