TotalPhase-Blog-Erlebniswelten

Programación de EEPROM I2C con Aardvark y modo por lotes

Programar y leer dispositivos de memoria I2C es un caso de uso común para el adaptador host I2C / SPI Aardvark. Hay varias formas de hacerlo con el adaptador Aardvark, como utilizar el Centro de Control, el Centro Flash o la API Aardvark. Este artículo se centra en cómo transferir la información a una hoja de datos EEPROM y cómo ejecutar los comandos en el modo por lotes del Centro de Control.

Aunque los siguientes pasos se describen para la EEPROM AT24C02 I2C de la Placa de Actividades I2C / SPI, se pueden utilizar pasos similares para otros dispositivos. El propósito de este artículo es demostrar cómo escribir varios bytes en una dirección específica y, a continuación, cómo leer esos bytes. 

El adaptador Aardvark es el maestro I2C y la EEPROM I2C AT24C02 de Atmel en la Placa de Actividades I2C / SPI es el esclavo I2C.

AT24C02_Pin_Configuration

AT24C02 Detallado

Las líneas SCL (entrada de reloj serie) y SDA (datos serie) de la EEPROM AT24C02 se conectan a las líneas SCL y SDA correspondientes al Aardvark. Los pines A0 - A2 (entrada de dirección), WP (protección contra escritura) y GND (masa) de la AT24C02 se conectan a masa. El pin VCC (alimentación) del AT24C02 está conectado a 3,3 V.

La EEPROM I2C "AT24C02" de la tarjeta de actividad tiene una dirección de destino I2C configurable por hardware. La dirección de destino I2C por defecto es 1010000b, es decir, 0x50. Este elemento utiliza la dirección de destino I2C predeterminada 0x50. Para obtener más información, consulta el artículo de la Base de conocimientos Direccionamiento esclavo I2C de 7, 8 y 10 bits.

La EEPROM AT24C02 de la placa de actividad I2C/SPI recibe los pull-ups I2C y la alimentación de la plataforma Promira. Para suministrar los pull-ups I2C y la alimentación de destino a la placa de actividad, la plataforma Promira y el Centro de Control Serial se configuran en modo I2C / SPI (i2c="1" spi="1" gpio)="0"), pull-ups I2C activados (pullups="1") y alimentación de destino activada (tpower="1") mediante el comando por lotes "configurar". 

La operación de escritura utilizada aquí para el AT24C02 es Page Write. La operación de Escritura de Página para el AT24C02 requiere una dirección de dispositivo de 7 bits, una dirección de memoria de bytes y dos o más bytes de datos de memoria. Realizar una operación de "Escritura en memoria" con la plataforma Promira requiere un único comando del adaptador y del Centro de control serie. En este caso, se utiliza el ejemplo de modo por lotes "i2c-eeprom-write" del centro de control para ejecutar 256 comandos "i2c_write" de datos 0x00 - 0xFF a las direcciones de memoria 0x00 a 0xFF con la dirección de dispositivo I2C 0x50. Por ejemplo, mira el primer y el último 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>.

 

El primer comando contiene la dirección del dispositivo (addr="0x50"), el número de bytes de datos (count="2"), el formato de los datos (radix="16"), la dirección de memoria (0x00) y los datos de memoria (0x00). 

Mientras que el último comando "i2c_write" contiene la dirección del dispositivo I2C (addr="0x50"), el número de bytes de datos (count="2"), el formato de datos (radix="16"), la dirección de memoria (0xFF) y los datos de memoria (0xFF).

AT24C02_Page_Write_

La operación de lectura del AT240C utilizada aquí es la lectura secuencial. La operación de lectura secuencial del AT240C realiza primero la operación de escritura I2C con una dirección de dispositivo de 7 bits sin detenerse. A continuación, la operación de lectura secuencial del AT240C realiza una "lectura I2C" con una dirección de dispositivo de 7 bits, dos o más bytes de datos de memoria, y se detiene. Realizar una operación de lectura de memoria con la plataforma Promira requiere dos comandos del modo por lotes del adaptador y del Centro de Control Serial. En este caso, se utiliza el ejemplo de modo por lotes del Centro de Control "i2c-eeprom-read" para leer 256 bytes de la dirección 00 con la dirección de dispositivo I2C 0x50. En este artículo, la operación de lectura de memoria incluye los dos comandos siguientes del modo por lotes Adaptador Aardvark y Serial del Centro de Control:

 

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

 

El primer comando es "i2c_write" con la dirección del dispositivo I2C (addr="0x50"), el número de bytes de datos (count="1"), el formato de los datos (radix="16"), la dirección de memoria (0x00), sin paradas (nostop="1"). Este comando de escritura se utiliza para configurar el contador interno de direcciones de palabras de datos en una dirección concreta (0x00).

El segundo comando es "i2c_read" y contiene la dirección del dispositivo I2C (addr="0x50") y el número de bytes de datos (count="256"). Este comando de lectura se utiliza para leer los datos de la dirección 0x00.

Para más información, consulta la hoja de datos del AT24C02.

AT24C02_Sequential_Read

INSTRUCCIONES PARA PROGRAMAR Y LEER LA EEPROM

1. Descarga y ejecuta la última versión del Instalador de controladores USB de Total Phase.
2. Descarga y descomprime la última versión de Control Center. 
3. Conecta el adaptador Aardvark al PC a través del puerto USB.
4. Conecta el adaptador Aardvark a la placa de actividad I2C / SPI a través del conector I2C / SPI. 
5. Pon en marcha el centro de control. 
6. Establece una conexión con el adaptador Aardvark.
a.) Pulsa en Configurar adaptador Aardvark.
b.) Selecciona el adaptador Aardvark.
c.) Haz clic en Aceptar para conectarte al adaptador.
 
7. Haz clic en Aardvark y selecciona Modo Lote.
 
8. Escribe en la memoria.
a.) Haz clic en Cargar y selecciona i2c-eeprom-write.
b.) Haz clic en Abrir y luego en Ejecutar.
Aardvark_Control_Center_batch_AT24C02_Write_
9. Leer de la memoria 
a.) Haz clic en Cargar y selecciona i2c-eeprom-read. 
b.) Haz clic en Abrir y luego en Ejecutar.
Aardvark_Control_Center_batch_AT24C02_Read

Programador I2C y herramientas de depuración

Adaptador de host I2C/SPI AardvarkAdaptador de host I2C/SPI Aardvark
Adaptador de host I2C/SPI Aardvark
TP240141
El adaptador de host I2C/SPI Aardvark es una herramienta innovadora para su uso con sistemas de bus I2C y SPI.

309,00 €*
Beagle I2C/SPI Protokoll Analyzer - Total Phase
Analizador de protocolos I2C/SPI Beagle
TP320121
El Analizador de protocolos I2C/SPI Beagle es un adaptador de host de bus I2C y SPI rápido y potente a través de USB

369,00 €*
Plataforma universal Promira I2C/ SPI/ eSPI
TP500110-S
La plataforma universal I2C/SPI/eSPI Promira puede utilizarse para una amplia gama de aplicaciones

Variantes de 900,00 €*
1.060,00 €*