TotalPhase-Blog-Erlebniswelten

Programar una EEPROM I2C con Promira

La programación de dispositivos de memoria I2C es un caso de uso común para la plataforma Promira ™ Serial con aplicaciones I2C Active Level 1-2. Hay varias maneras de hacer esto con la plataforma Promira ™ Serial, incluyendo el uso de Control Center Serial, Flash Center o la API de Promira. 

Este artículo se centra en cómo tomar la información de una hoja de datos EEPROM y ejecutar los comandos en el "Modo de línea de comandos" de la aplicación Control Center utilizando "Comandos por lotes" y el archivo de ejemplo. Aunque la siguiente explicación describe los pasos para la EEPROM I2C AT24C02 de Atmel en la placa de actividades I2C / SPI, se pueden utilizar pasos similares para otros dispositivos.

La plataforma Promira escribe y lee varios bytes de la AT24C02. Aquí la plataforma Promira es el maestro I2C y el AT24C02 en la placa de actividad I2C/SPI es el esclavo I2C. La plataforma Promira está conectada al AT24C02 en la placa de actividad I2C/SPI mediante el cable 34-10 I2C/SPI. La plataforma Promira proporciona señales I2C de 3,3 V y señales VDD de 5 V a la placa de actividad I2C / SPI. Para más información sobre la placa, consulta el manual del usuario de la placa de actividad I2C/SPI y la hoja de datos de la AT24C02.

AT24C02_Pin_Configuration

AT24C02 

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 de la plataforma Promira, respectivamente. 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 del AT24C02 (alimentación) 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 Control Center 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

Escribir y leer una EEPROM con Linux

1. 1. Conecta el puerto USB de la plataforma Promira al puerto USB del PC.
2. Descarga y descomprime la última versión de Promira USB Drivers Linux.
3. Sigue los pasos para Linux de las instrucciones de instalación de Promira para configurar la interfaz Ethernet sobre USB.

Promira_Write_and_Read_AT24C02

4. Descarga y descomprime la última versión de la Utilidad FW de Promira para Linux. Si el FW de Promira no es el último FW, actualiza Promira al último FW utilizando la última versión de Promira FW Utility para Linux.

5. Descarga y descomprime la última versión de Control Center Serial. 

6. 6. Conecta el conector I2C / SPI de la plataforma Promira a la placa de actividad I2C / SPI utilizando el cable 34-10.
7. Inicia Control Center Serial.  
8. Conecta Control Center Serial a la plataforma Promira. 

  1. Haz clic en Adaptador y selecciona Conectar.
  2. Selecciona la plataforma Promira.
  3. Haz clic en Aceptar para conectarte a la plataforma Promira.
Promira_Control_Center_Serial_Configure_Adapter_Window
9. Escribe y lee la EEPROM I2C de la tarjeta de actividad I2C / SPI de Fase Total utilizando la plataforma Promira y el modo de línea de comandos serie del Centro de Control.
a.) Inicia la aplicación terminal en el ordenador
b.) Ve a la carpeta Serial del Centro de Control con el archivo controlctr
c.) Escribe: "controlctr -c"
d.) Escribe "conectar 2416-606091" (Cambia el 2416-606091 por tu SN de Promira)
e.) Introduce "batch ./examples/i2c-eeprom-read.xml"
f.) Introduce "desconectar 2416-606091" (Cambia el 2416-606091 por tu SN Promira)
g.) Introduce "Salir
Promira_Control_Center_Serial_Terminal_I2C_Write_and_Read_AT24C02

Herramientas de desarrollo I2C

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