TotalPhase-Blog-Erlebniswelten

Mit Aardvark Host Adapter große Datentransaktionen senden

Kundenfrage

Wie kann ich mit dem Aardvark I2C / SPI Host Adapter große Datentransaktionen mit mehr als 64 kByte senden?

Für ein Kommunikationsszenario wird die Aardvark Software API für Datentransaktionen verwendet. Hier ist der Aufruf: aa_i2c_write (handle, deviceAddress, AA_I "C_NO_FLAGS, numbytes, pufferin).

Wenn nun numbytes = 300 definiert wird, gibt es eine Einschränkung beim Senden von Daten aufgrund der Puffergröße. 

Antwort

Bei dem Aardvark-Host-Adapter beträgt die Größe des Pufferspeichers 64 Byte. Somit beträgt die maximale Slave-Antwort ebenfalls 64 Byte. Die Transaktionen können jedoch viel größer sein. 

Die Größe der I2C- und SPI-Puffer betragen jeweils 16 kByte, sie können mehrere separate Transaktionen enthalten. Diese Puffer werden nur verwendet, wenn ein Aardvark-API-Aufruf involviert ist. Diese Puffergröße ist in diesem Fall für die Verwendung geeignet, da die Gesamtbeschränkung für asynchrone Nachrichten von der internen Puffergröße des Betriebssystems abhängt. Der Aardvark-Adapter kann Transaktionen von maximal 4 kByte zuverlässig als I2C/SPI-Master oder -Slave senden und empfangen. Dies ist auf Betriebssystemprobleme und auf die Vollduplex-Eigenschaften der SPI-Signalisierung zurückzuführen. 

Bei der Konfiguration des Aardvark-Adapters für Master-Schreibvorgänge beträgt die maximale Nachrichtengröße, bei der Verwendung von 7-Bit-Adressierung, 64 kByte (65535) und bei der Verwendung von 10-Bit-Adressierung 64 kByte (65534). Dies stellt die maximale Datengröße einer Transaktion dar, wenn die Datengröße größer sein sollte, müssen mehrere separate Transaktionen erfolgen. 

Weitere Informationen finden Sie in dem Artikel 7-Bit-, 8-Bit- und 10-Bit-I2C-Slave-Adressierung.

Beachten Sie bitte, dass die Anzahl der Bytes, die im API-Aufruf aa_i2c_write geschrieben werden können, 65535 beträgt.

I2C Programmier & Debugwerkzeuge

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