TotalPhase-Blog-Erlebniswelten

Programmer un EEPROM I2C avec Promira

La programmation de dispositifs de stockage I2C est un cas d'utilisation fréquent pour la plateforme Promira ™ Serial avec des applications I2C Active Level 1-2. Il existe plusieurs façons de le faire avec la plateforme Promira ™ Serial, notamment en utilisant Control Center Serial, Flash Center ou l'API Promira. 

Cet article se concentre sur la manière de reprendre les informations d'une fiche technique EEPROM et d'exécuter les commandes dans le "mode ligne de commande" de l'application Control Center en utilisant les "commandes par lots" et le fichier d'exemple. Bien que l'explication suivante décrive les étapes pour l'EEPROM Atmel I2C AT24C02 sur la carte d'activité I2C / SPI, des étapes similaires peuvent être utilisées pour d'autres appareils.

La plateforme Promira écrit et lit plusieurs octets de l'AT24C02. Ici, la plateforme Promira est le maître I2C et l'AT24C02 dans l'Activity Board I2C/SPI est l'esclave I2C. La plateforme Promira est connectée à l'AT24C02 dans l'Activity Board I2C/SPI via le câble I2C/SPI 34-10. La plate-forme Promira fournit des signaux I2C de 3,3 V et des signaux VDD de 5 V à la carte d'activité I2C / SPI. Pour plus d'informations sur la carte, consulte le manuel d'utilisation de la carte d'activité I2C/SPI et la fiche technique AT24C02.

AT24C02_Pin_Configuration

AT24C02 

Les lignes SCL (Serial Clock Input) et SDA (Serial Data) de l'EEPROM AT24C02 sont connectées en conséquence aux lignes SCL et SDA de la plateforme Promira. Les broches AT24C02 A0 - A2 (entrée d'adresse), WP (protection en écriture) et GND (masse) sont reliées à la masse. La broche VCC AT24C02 (alimentation) est connectée à 3,3 V.

L'EEPROM I2C "AT24C02" sur la carte d'activité a une adresse cible I2C configurable par le matériel. L'adresse de destination I2C par défaut est 1010000b, soit 0x50. Cet article utilise l'adresse de destination I2C standard 0x50. Tu trouveras plus d'informations dans l'article de la base de connaissances sur l'adressage des esclaves I2C 7 bits, 8 bits et 10 bits.

L'EEPROM AT24C02 sur la carte d'activité I2C/SPI reçoit les pull-ups I2C et l'alimentation électrique de la plateforme Promira. Pour fournir les pull-ups I2C et la puissance cible à la carte d'activité, la plateforme Promira et le Control Center Serial sont configurés en mode I2C / SPI avec la commande batch "configure" (i2c="1" spi="1" gpio)="0"), les pull-ups I2C sont activés (Pullups="1") et la puissance cible est activée (tpower="1"). 

L'opération d'écriture utilisée ici pour l'AT24C02 est Page Write. L'opération d'écriture de page pour l'AT24C02 nécessite une adresse de périphérique de 7 bits, une adresse de mémoire d'octets et deux octets ou plus de données de mémoire. L'exécution d'une opération "Memory Write" avec la plateforme Promira nécessite une seule commande de l'adaptateur et du centre de contrôle Serial. Dans ce cas, l'exemple de mode batch "i2c-eeprom-write" du Control Center est utilisé pour exécuter 256 commandes "i2c_write" des données 0x00 - 0xFF aux adresses mémoire 0x00 à 0xFF avec l'adresse de périphérique I2C 0x50. Regarde par exemple les premières et dernières commandes 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>

 

La première commande contient l'adresse de l'appareil (addr="0x50"), le nombre d'octets de données (count="2"), le format des données (radix="16"), l'adresse mémoire (0x00) et les données mémoire (0x00). 

Alors que la dernière commande "i2c_write" contient l'adresse du dispositif I2C (addr="0x50"), le nombre d'octets de données (count="2"), le format des données (radix="16"), l'adresse de la mémoire (0xFF) et les données de la mémoire (0xFF).

AT24C02_Page_Write_ : la page de l'écriture

L'opération de lecture AT240C utilisée ici est la lecture séquentielle. L'opération de lecture séquentielle AT240C exécute d'abord l'écriture I2C avec une adresse de dispositif de 7 bits sans arrêt. Ensuite, l'opération de lecture séquentielle AT240C exécute la "lecture I2C" avec une adresse de dispositif de 7 bits, deux octets ou plus de données de mémoire et s'arrête. L'exécution d'une opération de lecture de la mémoire avec la plateforme Promira nécessite deux commandes du mode batch de l'adaptateur et du Control Center Serial. Dans ce cas, l'exemple de mode batch "i2c-eeprom-read" du Control Center est utilisé pour lire 256 octets de l'adresse 00 avec l'adresse de périphérique I2C 0x50. Dans cet article, l'opération de lecture de la mémoire contient les deux commandes de mode batch suivantes Adaptateur Aardvark et Control Center Serial :

 

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

 

La première commande est "i2c_write" avec l'adresse du périphérique I2C (addr="0x50"), le nombre d'octets de données (count="1"), le format des données (radix="16"), l'adresse mémoire (0x00), avec aucun arrêt (nostop="1"). Cette commande d'écriture sert à configurer le compteur interne d'adresses de mots de données à une adresse spécifique (0x00).

La deuxième commande est "i2c_read" et contient l'adresse de l'appareil I2C (addr="0x50") et le nombre d'octets de données (count="256"). Cette commande de lecture sert à lire les données à partir de l'adresse 0x00.

Pour plus d'informations, consulte la fiche technique AT24C02.

AT24C02_Sequential_Read

Ecriture et lecture d'une EEPROM avec Linux

1. Connecte le port USB de la plateforme Promira au port USB du PC.
2. Télécharge la dernière version de Promira USB Drivers Linux et décompresse-la.
3. Suis les étapes pour Linux dans le guide d'installation du Promira pour configurer l'interface Ethernet via USB.

Promira_Write_and_Read_AT24C02

4. Télécharge la dernière version de Promira FW Utility pour Linux et décompresse-la. Si le FW de Promira n'est pas le FW le plus récent, mets à jour Promira avec le FW le plus récent de Promira FW Utility pour Linux.

5. Télécharge la dernière version de Control Center Serial et décompresse-la. 

6. Connecte le port I2C / SPI de la plateforme Promira à la carte d'activité I2C / SPI via le câble 34-10.
7. Démarre le Control Center Serial.  
8. Connecte le Control Center Serial à la plateforme Promira. 

  1. Clique sur Adaptateur et choisis Connecter.
  2. Sélectionne la plateforme Promira.
  3. Clique sur OK pour établir une connexion avec la plateforme Promira.
Promira_Control_Center_Serial_Configure_Adapter_Window
9. Ecriture et lecture de l'EEPROM I2C sur la carte d'activité Total Phase I2C / SPI avec la plateforme Promira et le mode ligne de commande série du Control Center.
a.) Démarrer l'application de terminal sur l'ordinateur
b.) Passe au dossier Control Center Serial avec le fichier controlctr
c.) Tape : "controlctr -c"
d.) Tape "connect 2416-606091" (change le 2416-606091 pour ton Promira SN)
e.) Saisis "Batch ./examples/i2c-eeprom-read.xml"
f.) Saisis "disconnect 2416-606091" (Change le 2416-606091 à ton Promira SN)
g.) Saisis "Quitter"
Promira_Control_Center_Serial_Terminal_I2C_Write_and_Read_AT24C02

Outils de développement I2C

Adaptateur hôte I2C/SPI AardvarkAdaptateur hôte I2C/SPI Aardvark
Adaptateur hôte I2C/SPI Aardvark
TP240141
L'adaptateur hôte Aardvark I2C/SPI est un outil innovant pour l'utilisation avec les systèmes de bus I2C & SPI.

309,00 €*
Beagle I2C/SPI Protokoll Analyzer - Total Phase
Analyseur de protocole I2C/SPI Beagle
TP320121
L'analyseur de protocole I2C/SPI Beagle est un adaptateur hôte de bus I2C et SPI rapide et puissant via USB

369,00 €*
Plateforme universelle Promira I2C/ SPI/ eSPI
TP500110-S
La plateforme universelle Promira I2C/SPI/eSPI peut être utilisée pour une multitude d'applications

Variantes de 900,00 €*
1 060,00 €*