SPB_MULTI_SPI_TRANSFER-Struktur (spb.h)

Die SPB_MULTI_SPI_TRANSFER-Struktur beschreibt einen SPI-E/A-Vorgang, der mit einem Multi-SPI-Übertragungsmodus wie Dual oder Quad SPI ausgeführt werden soll.

Syntax

typedef struct SPB_MULTI_SPI_TRANSFER {
  SPB_MULTI_SPI_TRANSFER_HEADER Header;
  ULONG                         TransferPhaseCount;
  SPB_TRANSFER_LIST_ENTRY       TransferPhases[1];
} SPB_MULTI_SPI_TRANSFER, *PSPB_MULTI_SPI_TRANSFER;

Member

Header

Eine SPB_MULTI_SPI_TRANSFER_HEADER Struktur, die die Parameter der Übertragung enthält.

TransferPhaseCount

Die Anzahl der in der Transferstruktur vorhandenen Transferphasen. Bei einem Lesevorgang sollte dies auf 2 festgelegt werden (für eine Lesephase und dann für eine Schreibphase). Für einen Schreibvorgang sollte dies auf 1 festgelegt werden (was nur eine Schreibphase darstellt).

TransferPhases[1]

Ein Array von SPB_TRANSFER_LIST_ENTRY Strukturen, die die Phasen der Übertragung darstellen.

Hinweise

Wenn diese Struktur direkt verwendet wird (anstatt SPB_MULTI_SPI_WRITE_TRANSFER oder SPB_MULTI_SPI_READ_TRANSFER), muss sie mithilfe der SPB_MULTI_SPI_TRANSFER_INIT Hilfsfunktion initialisiert werden.

Mit dieser Struktur (und dem zugeordneten Header) kann Folgendes angegeben werden:

  • Dual- oder Quad-SPI-Übertragungsmodi.
  • Eine oder zwei Transferphasen – eine Schreibphase , gefolgt von einer optionalen Lesephase .
  • Eine variable Anzahl von Bytes, die zu Beginn der Schreibphase im Single-SPI-Modus übertragen werden sollen, bevor sie in den angegebenen Multi-SPI-Modus wechseln.
  • Wenn eine Lesephase bereitgestellt wird, eine variable Anzahl von Wartezyklen zwischen Schreib- und Lesephasen – Taktzyklen, bei denen keine Daten übertragen werden sollen.

Für diese Struktur gelten die folgenden Einschränkungen:

  • Die TransferPhases-Struktur in der Anforderung muss genau einen oder zwei Einträge enthalten. Der erste Eintrag beschreibt einen Puffer, der Daten enthält, die auf das Gerät geschrieben werden sollen. Der zweite optionale Eintrag beschreibt einen Puffer, der verwendet wird, um vom Gerät gelesene Daten zu halten.
  • Die Richtung dieser TransferPhasen sollte auf SpbTransferDirectionToDevice bzw . SpbTransferDirectionFromDevice festgelegt werden.
  • Jede SPB_TRANSFER_LIST_ENTRY Struktur in der Übertragungsliste muss einen DelayInUs-Wert von 0 angeben.

Anforderungen

Anforderung Wert
Header spb.h

Weitere Informationen