SPRUIZ1B July 2023 – August 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
Table 31-1 classifies and provides a summary of the SPI module signals.
Signal Name | Description |
---|---|
External Signals | |
SPICLK | SPI clock |
SPIPICO | SPI peripheral in, controller out |
SPIPOCI | SPI peripheral out, controller in |
SPIPTE | SPI peripheral 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 SPIPTE signal provides the ability to gate any spurious clock and data pulses when the SPI is in peripheral mode. A HIGH logic signal on SPIPTE does not allow the peripheral to receive data. This prevents the SPI peripheral from losing synchronization with the controller. TI does not recommend that the SPIPTE always be tied to the active state.
If the SPI peripheral does ever lose synchronization with the controller, 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 31.6.
Configuring a GPIO to Emulate SPIPTE
In many systems, a SPI controller can be connected to multiple SPI peripherals using multiple instances of SPIPTE. Though this SPI module does not natively support multiple SPIPTE signals, it is possible to emulate this behavior in software using GPIOs. In this configuration, the SPI must be configured as the controller. Rather than using the GPIO Mux to select SPIPTE, the application can configure pins to be GPIO outputs, one GPIO per SPI peripheral. 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 peripherals that share the SPICLK, SPIPICO, and SPIPOCI lines.