TotalPhase-Blog-Erlebniswelten

Programmation I2C EEPROM avec Aardvark et mode batch

Programmer et lire des périphériques de stockage I2C est un cas d'utilisation fréquent pour l'adaptateur hôte Aardvark I2C / SPI. Il existe plusieurs façons de le faire avec l'adaptateur Aardvark, notamment en utilisant le centre de contrôle, le centre flash ou l'API Aardvark. Cet article se concentre sur la façon de transférer les informations dans une fiche technique EEPROM et sur la façon d'exécuter les commandes en mode batch du centre de contrôle.

Bien que les étapes suivantes soient décrites pour l'EEPROM I2C AT24C02 sur la carte d'activité I2C / SPI, des étapes similaires peuvent être utilisées pour d'autres appareils. L'objectif de cet article est de démontrer comment écrire plusieurs octets à une adresse spécifique et comment lire ensuite ces octets. 

L'adaptateur Aardvark le maître I2C et l'EEPROM I2C Atmel AT24C02 sur la carte d'activité I2C / SPI est l'esclave I2C.

AT24C02_Pin_Configuration

AT24C02 détaillé

Les lignes SCL (Serial Clock Input) et SDA (Serial Data) de l'EEPROM AT24C02 connectées en conséquence aux lignes SCL et SDA de l'Aardvark. 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

INSTRUCTIONS POUR LA PROGRAMMATION ET LA LECTURE DE L'EEPROM

1. Télécharge la dernière version de Total Phase USB Drivers Installer et exécute-la.
2. Télécharge la dernière version de Control Center et décompresse-la. 
3. Connecte l'adaptateur Aardvark au PC via le port USB.
4. Connecte l'adaptateur Aardvark à la carte d'activité I2C / SPI via le port I2C / SPI. 
5. Démarre le panneau de contrôle. 
6. Etablis une connexion avec l'adaptateur Aardvark.
a.) Clique sur Configurer l'adaptateur Aardvark.
b.) Sélectionne l'adaptateur Aardvark.
c.) Clique sur OK pour établir une connexion avec l'adaptateur.
 
7. Clique sur Aardvark et choisis le mode batch.
 
8. Écrire dans la mémoire.
a.) Clique sur Charger et choisis i2c-eeprom-write.
b.) Clique sur Ouvrir, puis sur Exécuter.
Aardvark_Control_Center_batch_AT24C02_Write_
9. Lire depuis la mémoire 
a.) Clique sur Charger et choisis i2c-eeprom-read. 
b.) Clique sur Ouvrir, puis sur Exécuter.
Aardvark_Control_Center_batch_AT24C02_Read

Programmeur I2C et outils de débogage

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