Condividi tramite


struttura SPB_MULTI_SPI_TRANSFER (spb.h)

La struttura SPB_MULTI_SPI_TRANSFER descrive un'operazione di I/O SPI che deve essere eseguita usando una modalità di trasferimento multi-SPI, ad esempio Dual o Quad SPI.

Sintassi

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;

Members

Header

Struttura SPB_MULTI_SPI_TRANSFER_HEADER contenente i parametri del trasferimento.

TransferPhaseCount

Numero di fasi di trasferimento presenti nella struttura di trasferimento. Per un'operazione di lettura, deve essere impostato su 2 (che rappresenta una fase di lettura, quindi una fase di scrittura). Per un'operazione di scrittura, deve essere impostato su 1 (che rappresenta esclusivamente una fase di scrittura).

TransferPhases[1]

Matrice di strutture SPB_TRANSFER_LIST_ENTRY , che rappresenta le fasi del trasferimento.

Commenti

Se questa struttura viene usata direttamente (anziché SPB_MULTI_SPI_WRITE_TRANSFER o SPB_MULTI_SPI_READ_TRANSFER), deve essere inizializzata usando la funzione helper SPB_MULTI_SPI_TRANSFER_INIT .

Questa struttura (e l'intestazione associata) consente di specificare quanto segue:

  • Modalità di trasferimento SPI dual o quad.
  • Una o due fasi di trasferimento: una fase di scrittura , seguita da una fase di lettura facoltativa.
  • Numero variabile di byte da trasmettere all'inizio della fase di scrittura in modalità SPI singolo, prima di passare alla modalità multi-SPI specificata.
  • Quando viene fornita una fase di lettura , viene fornito un numero variabile di cicli di attesa tra le fasi di scrittura e lettura , ovvero i cicli di clock in cui non è necessario trasferire dati.

A questa struttura si applicano le restrizioni seguenti:

  • La struttura TransferPhases nella richiesta deve contenere esattamente una o due voci. La prima voce descrive un buffer che contiene dati da scrivere nel dispositivo. La seconda voce facoltativa descrive un buffer usato per contenere i dati letti dal dispositivo.
  • La direzione di questi TransferPhases deve essere impostata rispettivamente su SpbTransferDirectionToDevice e SpbTransferDirectionFromDevice .
  • Ogni struttura SPB_TRANSFER_LIST_ENTRY nell'elenco di trasferimento deve specificare un valore DelayInUs pari a zero.

Requisiti

Requisito Valore
Intestazione spb.h

Vedi anche