TotalPhase-Blog-Erlebniswelten

Programmazione di una EEPROM I2C con Promira

La programmazione dei dispositivi di memoria I2C è un caso d'uso comune per la piattaforma Promira ™ Serial con le applicazioni I2C Active Level 1-2. Esistono diversi modi per farlo con la piattaforma Promira ™ Serial, tra cui l'utilizzo del Control Center Serial, del Flash Center o delle API Promira. 

Questo articolo si concentra su come prendere le informazioni da una scheda tecnica EEPROM ed eseguire i comandi nella "Modalità riga di comando" dell'applicazione Control Center utilizzando i "Comandi batch" e il file di esempio. Sebbene la seguente spiegazione descriva i passaggi per la EEPROM Atmel I2C AT24C02 sulla scheda di attività I2C / SPI, passi simili possono essere utilizzati per altri dispositivi.

La piattaforma Promira scrive e legge diversi byte dall'AT24C02. In questo caso la piattaforma Promira è il master I2C e l'AT24C02 sulla scheda di attività I2C/SPI è lo slave I2C. La piattaforma Promira è collegata all'AT24C02 nella scheda di attività I2C/SPI tramite il cavo 34-10 I2C/SPI. La piattaforma Promira fornisce segnali I2C a 3,3 V e segnali VDD a 5 V alla scheda di attività I2C/SPI. Per ulteriori informazioni sulla scheda, consulta il manuale d'uso della scheda di attività I2C/SPI e la scheda tecnica di AT24C02.

AT24C02_Pin_Configuration

AT24C02 

Le linee SCL (Serial Clock Input) e SDA (Serial Data) della EEPROM AT24C02 sono collegate rispettivamente alle linee SCL e SDA della piattaforma Promira. 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

Scrivere e leggere una EEPROM con Linux

1. Collega la porta USB della piattaforma Promira alla porta USB del PC.
2. Scarica e decomprimi l'ultima versione di Promira USB Drivers Linux.
3. Segui i passaggi per Linux nelle istruzioni di installazione di Promira per configurare l'interfaccia Ethernet su USB.

Promira_Write_and_Read_AT24C02

4. Scarica e decomprimi l'ultima versione di Promira FW Utility per Linux. Se il FW di Promira non è l'ultimo, aggiorna Promira all'ultimo FW utilizzando l'ultima versione di Promira FW Utility for Linux.

5. Scarica e decomprimi l'ultima versione di Control Center Serial. 

6. Collega il connettore I2C / SPI della piattaforma Promira alla scheda di attività I2C / SPI utilizzando il cavo 34-10.
7. Avvia Control Center Serial.  
8. Collega Control Center Serial alla piattaforma Promira. 

  1. Clicca su Adapter e seleziona Connect.
  2. Seleziona la piattaforma Promira.
  3. Clicca su OK per collegarti alla piattaforma Promira.
Promira_Control_Center_Serial_Configure_Adapter_Window
9. Scrivi e leggi la EEPROM I2C sulla scheda attività Total Phase I2C / SPI utilizzando la piattaforma Promira e la modalità di comando seriale del Centro di Controllo.
a.) Avvia l'applicazione terminale sul computer
b.) Vai alla cartella Control Center Serial con il file controlctr
c.) Digita: "controlctr -c"
d.) Digita "connect 2416-606091" (cambia il 2416-606091 con il tuo SN Promira)
e.) Inserisci "batch ./examples/i2c-eeprom-read.xml"
f.) Digita "disconnect 2416-606091" (cambia il 2416-606091 con il tuo SN Promira)
g.) Inserisci "Esci
Promira_Control_Center_Serial_Terminal_I2C_Write_and_Read_AT24C02

Strumenti di sviluppo I2C

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