TotalPhase-Blog-Erlebniswelten

Programmazione EEPROM I2C con Aardvark e modalità Batch

La programmazione e la lettura di dispositivi di memoria I2C è un caso d'uso comune per l'adattatore host Aardvark I2C / SPI. Esistono diversi modi per farlo con l'adattatore Aardvark, tra cui l'utilizzo del Control Center, del Flash Center o dell'API Aardvark. Questo articolo si concentra su come trasferire le informazioni in una scheda dati EEPROM e su come eseguire i comandi in modalità batch del Control Center.

Sebbene i passi seguenti siano descritti per la EEPROM I2C AT24C02 sulla scheda I2C / SPI Activity, passi simili possono essere utilizzati per altri dispositivi. Lo scopo di questo articolo è dimostrare come scrivere più byte a un indirizzo specifico e poi come leggere questi byte. 

L'adattatore Aardvark è il master I2C e l'Atmel I2C EEPROM AT24C02 sulla scheda di attività I2C / SPI è lo slave I2C.

AT24C02_Pin_Configuration

AT24C02 Dettagli

Le linee SCL (Serial Clock Input) e SDA (Serial Data) della EEPROM AT24C02 sono collegate alle linee SCL e SDA corrispondenti all'Aardvark. I pin A0 - A2 dell'AT24C02 (ingresso indirizzo), WP (protezione da scrittura) e GND (terra) sono collegati a terra. Il pin VCC dell'AT24C02 (alimentazione) è collegato a 3,3 V.

La EEPROM I2C "AT24C02" della scheda attività ha un indirizzo di destinazione I2C configurabile via hardware. L'indirizzo target I2C predefinito è 1010000b, ovvero 0x50. Questo articolo utilizza l'indirizzo target I2C predefinito 0x50. Per maggiori informazioni, consulta l'articolo della Knowledge Base Indirizzamento slave I2C a 7 bit, 8 bit e 10 bit.

La EEPROM AT24C02 sulla scheda di attività I2C/SPI riceve i pull-up I2C e l'alimentazione dalla piattaforma Promira. Per fornire i pull-up I2C e l'alimentazione target alla scheda activity, la piattaforma Promira e il Control Center Serial sono configurati in modalità I2C / SPI (i2c="1" spi="1" gpio)="0"), i pull-up I2C abilitati (pull-up="1") e l'alimentazione target abilitata (tpower="1") utilizzando il comando batch "configure". 

L'operazione di scrittura utilizzata per l'AT24C02 è la scrittura di pagina. L'operazione di scrittura di pagina per l'AT24C02 richiede un indirizzo del dispositivo a 7 bit, un indirizzo di memoria a byte e due o più byte di dati di memoria. L'esecuzione di un'operazione di "Scrittura della memoria" con la piattaforma Promira richiede un unico comando da parte dell'adattatore e del centro di controllo seriale. In questo caso, l'esempio di modalità batch del Centro di Controllo "i2c-eeprom-write" viene utilizzato per eseguire 256 comandi "i2c_write" di dati 0x00 - 0xFF agli indirizzi di memoria 0x00 - 0xFF con indirizzo dispositivo I2C 0x50. Ad esempio, guarda il primo e l'ultimo comando i2c_write.


<i2c_write addr="0x50" count="2" radix="16">00 00</i2c_write>
<i2c_write addr="0x50" count="2" radix="16">FF FF</i2c_write>.

 

Il primo comando contiene l'indirizzo del dispositivo (addr="0x50"), il numero di byte di dati (count="2"), il formato dei dati (radix="16"), l'indirizzo di memoria (0x00) e i dati di memoria (0x00). 

Mentre l'ultimo comando "i2c_write" contiene l'indirizzo del dispositivo I2C (addr="0x50"), il numero di byte di dati (count="2"), il formato dei dati (radix="16"), l'indirizzo di memoria (0xFF) e i dati di memoria (0xFF).

AT24C02_Page_Write_

L'operazione di lettura dell'AT240C qui utilizzata è di tipo sequenziale. L'operazione di lettura sequenziale dell'AT240C esegue prima l'operazione di scrittura I2C con un indirizzo del dispositivo a 7 bit senza fermarsi. Poi l'operazione di lettura sequenziale dell'AT240C esegue la "lettura I2C" con un indirizzo del dispositivo a 7 bit, due o più byte di dati di memoria e si ferma. L'esecuzione di un'operazione di lettura della memoria con la piattaforma Promira richiede due comandi dalla modalità batch dell'adattatore e dal Control Center Serial. In questo caso, l'esempio di modalità batch del Centro di Controllo "i2c-eeprom-read" viene utilizzato per leggere 256 byte dall'indirizzo 00 con indirizzo dispositivo I2C 0x50. In questo articolo, l'operazione di lettura della memoria comprende i seguenti due comandi in modalità batch dell'adattatore Aardvark e del Control Center Serial:

 

<i2c_write addr="0x50" count="1" radix="16" nostop="1">00</i2c_write>
<i2c_read addr="0x50" count="256"/>.

 

Il primo comando è "i2c_write" con l'indirizzo del dispositivo I2C (addr="0x50"), il numero di byte di dati (count="1"), il formato dei dati (radix="16"), l'indirizzo di memoria (0x00), senza stop (nostop="1"). Questo comando di scrittura viene utilizzato per configurare il contatore interno degli indirizzi delle parole di dati a un indirizzo specifico (0x00).

Il secondo comando è "i2c_read" e contiene l'indirizzo del dispositivo I2C (addr="0x50") e il numero di byte di dati (count="256"). Questo comando di lettura viene utilizzato per leggere i dati dall'indirizzo 0x00.

Per maggiori informazioni, consulta la scheda tecnica dell'AT24C02.

AT24C02_Sequential_Read

ISTRUZIONI PER LA PROGRAMMAZIONE E LA LETTURA DELLA EEPROM

1. Scarica ed esegui l'ultima versione di Total Phase USB Drivers Installer.
2. Scarica e decomprimi l'ultima versione di Control Center. 
3. Collega l'adattatore Aardvark al PC tramite la porta USB.
4. Collega l'adattatore Aardvark alla scheda attività I2C / SPI tramite il connettore I2C / SPI. 
5. Avvia il centro di controllo. 
6. Stabilisci una connessione con l'adattatore Aardvark.
a.) Clicca su Configura adattatore Aardvark.
b.) Seleziona l'adattatore Aardvark.
c.) Clicca su OK per connetterti all'adattatore.
 
7. Clicca su Aardvark e seleziona la modalità Batch.
 
8. Scrivi sulla memoria.
a.) Clicca su Load e seleziona i2c-eeprom-write.
b.) Clicca su Apri e poi su Esegui.
Aardvark_Control_Center_batch_AT24C02_Write_
9. Leggere dalla memoria 
a.) Clicca su Load e seleziona i2c-eeprom-read. 
b.) Clicca su Apri e poi su Esegui.
Aardvark_Control_Center_batch_AT24C02_Read

Programmatore I2C e strumenti di debug

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 €*