TotalPhase-Blog-Erlebniswelten

Esecuzione di letture casuali con uno slave I2C

Introduzione

Lo scopo principale di questo articolo è quello di mostrarti come reperire le informazioni rilevanti dalla scheda tecnica della tua macchina in modo da poter raggiungere i tuoi obiettivi utilizzando il Centro di Controllo.
 
Il metodo per eseguire una lettura casuale varia da un dispositivo all'altro e il metodo descritto in questo articolo potrebbe dover essere modificato per funzionare con il tuo dispositivo I2C.
 
Per questo articolo utilizzeremo la EEPROM I2C Atmel AT24C02 inclusa nella nostra scheda I2C / SPI activity.
 
Eseguire una lettura casuale
Leggiamo il byte memorizzato nella posizione 0x60. Nota che l'indirizzo a 7 bit del nostro slave è 0x50.

Ricerca nella scheda tecnica

L'interfaccia di comunicazione di ogni chip dovrebbe essere chiaramente definita nella scheda tecnica del produttore. Per determinare come viene eseguita una lettura casuale per l'AT24C02, consultiamo la scheda tecnica e troviamo la sezione che spiega i dettagli:
 
Sezione sulla lettura casuale dalla scheda tecnica dell'AT24C02
 
Diagramma di lettura casuale dalla scheda tecnica dell'AT24C02
 
Ci sono tre punti importanti in queste informazioni:
 
L'indirizzo della parola di interesse deve essere scritto per primo.
Dopo la scrittura dell'indirizzo di parola non deve essere inviato alcun bit di stop.
Lo slave restituisce i dati di interesse dopo aver inviato un'istruzione di lettura.
random_read_figure

Nel centro di controllo

random_read_control_center

Attiva l'alimentazione del target e le resistenze di pull-up I2C.
Inserisci l'indirizzo dello slave a 7 bit nel campo di testo "Slave Addr". Ricorda che quando invii un'istruzione, Aardvark aggiunge automaticamente il bit R /! W.
Spunta la casella "No Stop" (il datasheet indica che non ci deve essere alcun bit di stop dopo la scrittura fittizia).
Scrivi l'indirizzo di memoria desiderato nello slave (in questo caso 0x60).
Leggi 1 byte dalla posizione di memoria desiderata.
GUI del Centro di Controllo dopo la lettura casuale
 
Il registro delle transazioni del Centro di Controllo mostra che il byte 0xAA è stato memorizzato all'indirizzo 0x60.
 
Nota: l'AT24C02 incrementa automaticamente l'indirizzo word dopo ogni lettura. Quindi, se premi di nuovo "Master Read", il byte verrà letto all'indirizzo 0x61, poi 0x62 e così via. Come mostrato nella schermata, 0xAB è stato memorizzato all'indirizzo 0x61.

In modalità batch

I passaggi per eseguire una lettura casuale sono gli stessi indipendentemente dal metodo selezionato. Per farlo, utilizza il seguente file XML nella modalità batch del Centro di Controllo:
 
 
<aardvark>
<configura i2c="1" spi="0" gpio="0" tpower="1" pullups="1" />
<i2c_bitrate khz="100" />
<i2c_write addr="0x50" count="1" radix="16" nostop="1"> 60 </ i2c_write>
<i2c_read addr="0x50" count="1" />
</ aardvark>

I2C Strumenti di test e misurazione

Gli strumenti giusti sono essenziali quando si sviluppa con I2C per risparmiare tempo e denaro.

Scheda host I2C/SPI di AardvarkScheda host I2C/SPI di Aardvark
Scheda host I2C/SPI di Aardvark
TP240141
L'adattatore host Aardvark I2C/SPI è uno strumento innovativo da utilizzare con i sistemi bus I2C e SPI.

309,00 €*
Beagle I2C/SPI Protokoll Analyzer - Total Phase
Analizzatore di protocollo Beagle I2C/SPI
TP320121
L'analizzatore di protocollo Beagle I2C/SPI è un adattatore host per bus I2C e SPI veloce e potente via USB

369,00 €*
Piattaforma universale I2C/ SPI/ eSPI Promira
TP500110-S
La piattaforma universale I2C/SPI/eSPI di Promira può essere utilizzata per un'ampia gamma di applicazioni

Varianti da 900,00 €*
1.060,00 €*