TotalPhase-Blog-Erlebniswelten

Effectuer des lectures aléatoires avec un esclave I2C

Introduction

Cet article montre principalement comment trouver des informations pertinentes dans la fiche technique de ton appareil, afin que tu puisses atteindre tes objectifs à l'aide du centre de contrôle.
 
La méthode pour effectuer une lecture aléatoire diffère selon les appareils, et la méthode décrite dans cet article peut devoir être modifiée pour fonctionner avec ton appareil I2C.
 
Pour cet article, nous utilisons l'EEPROM I2C Atmel AT24C02, qui est incluse dans notre carte d'activité I2C / SPI.
 
Effectuer une lecture aléatoire
Lisons l'octet enregistré à l'emplacement 0x60. Note que l'adresse 7 bits de notre esclave est 0x50.

Parcourir la fiche technique

L'interface de communication pour chaque puce devrait être clairement définie dans la fiche technique du fabricant. Pour déterminer comment effectuer une lecture aléatoire pour l'AT24C02, regardons la fiche technique et cherchons la section où les détails sont expliqués :
 
Section de lecture aléatoire de la fiche technique AT24C02
 
Lecture aléatoire du diagramme de la fiche technique AT24C02
 
Les informations ci-dessus contiennent trois points importants :
 
Le mot adresse d'intérêt doit être écrit en premier.
Après l'écriture de l'adresse du mot, aucun bit d'arrêt ne doit être envoyé.
L'esclave renvoie les données souhaitées après avoir envoyé une instruction de lecture.
random_read_figure

Dans le centre de contrôle

random_read_control_center

Active la puissance cible et les résistances pull-up I2C.
Saisis l'adresse esclave de 7 bits dans la zone de texte "Slave Addr". N'oublie pas que lorsque tu envoies une instruction, l'Aardvark ajoute automatiquement le R / ! W bit est ajouté.
Cocher la case "No Stop" (la fiche technique indique qu'il ne doit pas y avoir de bit d'arrêt après l'écriture factice).
Ecrire l'adresse mémoire souhaitée dans l'esclave (dans ce cas 0x60).
Lire 1 octet de l'emplacement de mémoire souhaité.
GUI du Control Center après une lecture aléatoire
 
Le journal des transactions du Control Center ci-dessus montre que l'octet 0xAA a été enregistré à l'adresse 0x60.
 
Remarque : l'AT24C02 augmente automatiquement l'adresse du mot après chaque lecture. Ainsi, si tu appuies à nouveau sur "Master Read", l'octet sera lu à partir de l'adresse 0x61, puis 0x62, etc. Comme le montre la capture d'écran, 0xAB a été enregistré à l'adresse 0x61.

En mode pile

Les étapes pour effectuer une lecture aléatoire sont les mêmes, quelle que soit la méthode choisie. Pour cela, utilise le fichier XML suivant en mode batch de Control Center :
 
 
<aardvark>
<configure i2c="1" spi="0" gpio="0" tpower="1" pullups="1" />
<i2c_bitrate khz="100" />
<i2c_write addr="0x50" count="1" radix="16" nostop="1"> 60 </ i2c_write>
<i2c_read addr="0x50" count="1" />
</ aardvark>

I2C Outils de test et de mesure

Les bons outils sont essentiels dans le développement avec I2C pour économiser du temps de mise sur le marché et de l'argent.

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