
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
I2C Features
- Leistung von bis zu 800 kbps über USB mit höherer Bandbreite im Vergleich zu langsamerem RS-232.
- Unterstützt den Standardmodus (100 kbps) und den Fast Mode (400 kbps) sowie variierende Geschwindigkeiten von 1 kHz bis 800 kHz.
- Unterstützt das Strecken von Inter-Bit- und Inter-Byte-Takten, Multi-Master Konfigurationen, Master senden und empfangen und Asynchrones Slave-Senden sowie Empfangen.
- Software-konfigurierbare I2C-Pull-up-Widerstände.
- Software-konfigurierbare Ziel-Power-Pins zur Stromversorgung von nachgeschalteten Geräten.
- Wiederholter Start, 10-Bit-Slave-Adressierung und Transaktionen im kombinierten Format.
- Display Data Channel (DDC)
- System Management Bus (SMBus)
- Power Management Bus (PMBus)
- Smart Battery Bus (SBBus)
- Intelligent Platform Management Interface (IPMI)
- Two-Wire Interface (TWI)
† Die tatsächliche Systembusgeschwindigkeit kann in Abhängigkeit von der Kapazität variieren.
SPI Features
- Arbeitet im Master- oder Slave-Modus.
- Master-Signalisierungsrate von bis zu 8 Mbit/s.
- Slave-Signalisierungsrate von bis zu 4 Mbit/s.
- Vollduplex-Master senden / empfangen.
- Asynchrones Slave-Senden / Empfangen.
- Software-konfigurierbare Ziel-Power-Pins zur Stromversorgung von nachgeschalteten Geräten.
- Software-konfigurierbare Slave Select (SS) -Polarität im Master-Modus.
Haupteigenschaften
- I2C eingriffsfrei bis zu 4 MHz überwachen
- Nicht-intrusive Überwachung von SPI bis zu 24 MHz †
- Nicht-intrusive Überwachung von MDIO bis zu 2,5 MHz (Klausel 22 und Klausel 45) ‡
- Datenerfassung und -anzeige in Echtzeit – I2C- und SPI-Pakete beobachten, während sie auf dem Bus auftreten.
- Timing auf Bit-Ebene mit einer Auflösung von bis zu 20 ns.
- Vollständig kompatibel mit Windows, Linux und Mac OS X
- Beinhaltet vollständige Funktionsüberwachungstools
I2C Features
- Leistung von bis zu 800 kbps über USB mit höherer Bandbreite im Vergleich zu langsamerem RS-232.
- Unterstützt den Standardmodus (100 kbps) und den Fast Mode (400 kbps) sowie variierende Geschwindigkeiten von 1 kHz bis 800 kHz.
- Unterstützt das Strecken von Inter-Bit- und Inter-Byte-Takten, Multi-Master Konfigurationen, Master senden und empfangen und Asynchrones Slave-Senden sowie Empfangen.
- Software-konfigurierbare I2C-Pull-up-Widerstände.
- Software-konfigurierbare Ziel-Power-Pins zur Stromversorgung von nachgeschalteten Geräten.
- Wiederholter Start, 10-Bit-Slave-Adressierung und Transaktionen im kombinierten Format.
SPI Features
- Arbeitet im Master- oder Slave-Modus.
- Master-Signalisierungsrate von bis zu 8 Mbit/s.
- Slave-Signalisierungsrate von bis zu 4 Mbit/s.
- Vollduplex-Master senden / empfangen.
- Asynchrones Slave-Senden / Empfangen.
- Software-konfigurierbare Ziel-Power-Pins zur Stromversorgung von nachgeschalteten Geräten.
- Software-konfigurierbare Slave Select (SS) -Polarität im Master-Modus.