TotalPhase-Blog-Erlebniswelten

Durchführen von zufälligen Lesevorgängen mit einem I2C-Slave

Einführung

In diesem Artikel wird hauptsächlich gezeigt, wie Sie relevante Informationen aus dem Datenblatt Ihres Geräts finden, damit Sie Ihre Ziele mithilfe des Control Centers erreichen können.
 
Die Methode zum Durchführen eines zufälligen Lesevorgangs unterscheidet sich zwischen den Geräten, und die in diesem Artikel beschriebene Methode muss möglicherweise geändert werden, um mit Ihrem I2C-Gerät zu arbeiten.
 
Für diesen Artikel verwenden wir das Atmel AT24C02 I2C EEPROM, das auf unserer I2C / SPI-Activity-Board enthalten ist.
 
Zufälliges Lesen durchführen
Lesen wir das am Speicherort 0x60 gespeicherte Byte. Beachten Sie, dass die 7-Bit-Adresse unseres Slaves 0x50 ist.

Durchsuchen des Datenblattes

Die Kommunikationsschnittstelle für jeden Chip sollte im Datenblatt des Herstellers klar definiert sein. Um zu bestimmen, wie ein zufälliger Lesevorgang für den AT24C02 durchgeführt wird, sehen wir uns das Datenblatt an und suchen den Abschnitt, in dem die Details erläutert werden:
 
Random Read-Abschnitt aus dem AT24C02-Datenblatt
 
Zufälliges Lesen des Diagramms aus dem AT24C02-Datenblatt
 
Die obigen Informationen enthalten drei wichtige Punkte:
 
Das Wort Adresse von Interesse muss zuerst geschrieben werden.
Nach dem Schreiben der Wortadresse sollte kein Stoppbit gesendet werden.
Der Slave gibt die gewünschten Daten zurück, nachdem er eine Leseanweisung gesendet hat.
random_read_figure

Im Kontrollzentrum

random_read_control_center

Aktivieren Sie die Zielleistung und die I2C-Pull-up-Widerstände.
Geben Sie die 7-Bit-Slave-Adresse in das Textfeld "Slave Addr" ein. Denken Sie daran, dass der Aardvark beim Senden einer Anweisung automatisch das R /! W-Bit anfügt.
Aktivieren Sie das Kontrollkästchen "No Stop" (das Datenblatt besagt, dass nach dem Dummy-Schreiben kein Stoppbit vorhanden sein sollte).
Schreiben Sie die gewünschte Speicheradresse in den Slave (in diesem Fall 0x60).
Lesen Sie 1 Byte aus dem gewünschten Speicherort.
Control Center-GUI nach zufälligem Lesen
 
Das obige Control Center-Transaktionsprotokoll zeigt, dass das Byte 0xAA unter der Adresse 0x60 gespeichert wurde.
 
Hinweis : Der AT24C02 erhöht die Wortadresse nach jedem Lesevorgang automatisch. Wenn Sie also erneut auf "Master Read" drücken, wird das Byte von der Adresse 0x61, dann von 0x62 usw. gelesen. Wie im Screenshot gezeigt, wurde 0xAB unter der Adresse 0x61 gespeichert.

Im Stapelmodus

Die Schritte zum Ausführen eines zufälligen Lesevorgangs sind unabhängig von der gewählten Methode gleich. Dazu verwenden Sie im Batch-Modus von Control Center die folgende XML-Datei:
 
 
<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 Test und Messwerkzeuge

Die richtigen Werkzeuge sind bei der Entwicklung mit I2C essentiell, um Markteinführungszeit und Geld zu sparen.

Aardvark I2C/SPI Host AdapterAardvark I2C/SPI Host Adapter
Aardvark I2C/SPI Host Adapter
TP240141
Der Aardvark I2C/SPI Host Adapter ist ein innovatives Werkzeug für die Verwendung mit I2C & SPI Bussystemen.

349,00 €*
Beagle I2C/SPI Protokoll Analyzer - Total Phase
Beagle I2C/SPI Protokoll Analyzer
TP320121
Der Beagle I2C/SPI Protokoll Analyzer ist ein schneller und leistungsstarker I2C- und SPI-Bus-Host-Adapter über USB

419,00 €*
Promira universelle I2C/ SPI/ eSPI Plattform
TP500110-S
Die Promira universelle I2C/SPI/eSPI Plattform kann für eine Vielzahl von Applikationen eingesetzt werden

Varianten ab 900,00 €*
1.060,00 €*