SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
Table 18-1 classifies and provides a summary of the SPI module signals.
Signal Name | Description |
---|---|
External Signals | |
SPICLK | SPI clock |
SPISIMO | SPI slave in, master out |
SPISOMI | SPI slave out, master in |
SPISTE | SPI slave transmit enable |
Control | |
SPI Clock Rate | LSPCLK |
Interrupt Signals | |
SPIINT/SPIRXINT | Transmit interrupt/ Receive Interrupt in non FIFO mode (referred to as SPIINT) |
Receive interrupt in FIFO mode | |
SPITXINT | Transmit interrupt in FIFO mode |
DMA Triggers | |
SPITXDMA | Transmit request to DMA |
SPIRXDMA | Receive request to DMA |
Special Considerations
The SPISTE signal provides the ability to gate any spurious clock and data pulses when the SPI is in slave mode. A HIGH logic signal on SPISTE does not allow the slave to receive data. This prevents the SPI slave from losing synchronization with the master. TI does not recommend that the SPISTE always be tied to the active state.
If the SPI slave does ever lose synchronization with the master, toggling SPISWRESET resets the internal bit counter as well as the various status flags in the module. By resetting the bit counter, the SPI interprets the next clock transition as the first bit of a new transmission. The register bit fields that are reset by SPISWRESET are found in Section 18.6.
Configuring a GPIO to Emulate SPISTE
In many systems, a SPI master can be connected to multiple SPI slaves using multiple instances of SPISTE. Though this SPI module does not natively support multiple SPISTE signals, it is possible to emulate this behavior in software using GPIOs. In this configuration, the SPI must be configured as the master. Rather than using the GPIO Mux to select SPISTE, the application can configure pins to be GPIO outputs, one GPIO per SPI slave. Before transmitting any data, the application can drive the desired GPIO to the active state. Immediately after the transmission has been completed, the GPIO chip select can be driven to the inactive state. This process can be repeated for many slaves that share the SPICLK, SPISIMO, and SPISOMI lines.