TI C2000 f28388d SPI Tx and SPI Rx with multiple chip select GPIOs

15 visualizzazioni (ultimi 30 giorni)
My application requires connecting SPI to multiple devices using multiple chip select GPIOs. I tried to make the "Chip select pin" as a variable but it didn't work. How can I implement this use case with multiple chip selects?

Risposte (1)

R
R il 2 Ago 2024
To implement SPI communication with multiple chip select (CS) lines using the C28x SPI Transmit block, you first need to configure GPIO pins as digital output pins using GPIO Digital Output blocks.
For each of your peripherals/sensors/devices, assign a unique SPI module (SPI_A, SPI_B, SPI_C, SPI_D) to each one. Then, use GPIO Write blocks to control the chip select lines before and after data transmission (e.g., GPIO11 for SPI_A, GPIO12 for SPI_B).
It's better to create subsystems for each SPI module (e.g., SPI_Transmit_A, SPI_Transmit_B). Inside each subsystem, add an input port for data, a GPIO Write block to set/unset the CS pin low/high, and an SPI Transmit block for the corresponding SPI module.
Using separate SPI modules and individual GPIO chip select pins simplifies the design by isolating channels, reducing complexity, and ensuring independent device control.
Refer to the example here to understand the working in more detail: https://www.mathworks.com/help/ti-c2000/ug/using-spi-to-read-write-example.html
Alternatively, you might want to use the C28x SPI Controller Transfer block as it combines both transmit and receive operations into a single block, facilitating full-duplex communication, which seems to align with the title of your question. The setup/configuration remains largely the same. Refer to the documentation to know more about the ports and parameters you need to set: https://www.mathworks.com/help/ti-c2000/ref/c28xspicontrollertransfer.html
  1 Commento
Mohamed Shaheen
Mohamed Shaheen il 2 Ago 2024
Thank you @R. My question is about using the same SPI master to communicate with multiple SPI slave devices by selecting a different chip select GPIO for each device. In my use case I have more SPI devices than SPI masters.

Accedi per commentare.

Prodotti


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by