![Texas Instruments SimpleLink Ethernet MSP432E401Y Technical Reference Manual Download Page 1534](http://html1.mh-extra.com/html/texas-instruments/simplelink-ethernet-msp432e401y/simplelink-ethernet-msp432e401y_technical-reference-manual_10955781534.webp)
Functional Description
1534
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Quad Synchronous Serial Interface (QSSI)
23.3.8 DMA Operation
The QSSI peripheral provides an interface to the µDMA controller with separate channels for transmit and
receive. The µDMA operation of the QSSI is enabled through the SSI DMA Control (SSIDMACTL)
register. When µDMA operation is enabled, the QSSI asserts a µDMA request on the receive or transmit
channel when the associated FIFO can transfer data.
For the receive channel, a single transfer request is asserted whenever any data is in the receive FIFO. A
burst transfer request is asserted whenever the amount of data in the receive FIFO is 4 or more items. For
the transmit channel, a single transfer request is asserted whenever at least one empty location is in the
transmit FIFO. The burst request is asserted whenever the transmit FIFO has 4 or more empty slots. The
single and burst µDMA transfer requests are handled automatically by the µDMA controller depending
how the µDMA channel is configured.
To enable µDMA operation for the receive channel, the RXDMAE bit of the DMA Control (SSIDMACTL)
register should be set after configuring the µDMA. To enable µDMA operation for the transmit channel, the
TXDMAE bit of SSIDMACTL should be set after configuring the µDMA.
If the µDMA is enabled and has completed a data transfer from the Tx FIFO, the DMATXRIS bit is set in
the SSIRIS register and cannot be cleared by setting the DMATXIC bit in the SSI Interrupt Clear (SSIICR)
register. In the DMA Completion Interrupt Service Routine, software must disable the µDMA transmit
enable to the SSI by clearing the TXDMAE bit in the QSSI DMA Control (SSIDMACTL) register and then
setting the DMATXIC bit in the SSIICR register. This clears the DMA completion interrupt. When the
µDMA is needed to transmit more data, the TXDMAE bit must be set (enabled) again.
If a data transfer by the µDMA from the Rx FIFO completes, the DMARXRIS bit is set. The EOT bit in the
SSIRIS register is also provided to indicate when the Tx FIFO is empty and the last bit has been
transmitted out of the serializer
NOTE:
Wait states are inserted at every byte transfer when using Bi- or Quad-SSI modes as a
master with the µDMA at SSICLK frequencies greater than one sixth of the system clock.
These wait states are because of arbitration stall cycles from the µDMA accesses to SRAM
and increased output throughput from the SSI.
See
for more details about programming the µDMA controller.
23.4 Initialization and Configuration
To enable and initialize the QSSI, the following steps are necessary:
1. Enable the QSSI module using the RCGCSSI register (see
2. Enable the clock to the appropriate GPIO module through the RCGCGPIO register (see
). To find out which GPIO port to enable, see the device-specific data sheet.
3. Set the GPIO AFSEL bits for the appropriate pins (see
). To determine which GPIOs to
configure, see the device-specific data sheet.
4. Configure the PMCn fields in the GPIOPCTL register to assign the QSSI signals to the appropriate
pins. See
and the device-specific data sheet.
5. Program the GPIODEN register to enable the pin's digital function. In addition, the drive strength, drain
select and pullup and pulldown functions must be configured. See
for more information.
NOTE:
Pullups can be used to avoid unnecessary toggles on the QSSI pins, which can take the
slave to a wrong state. In addition, if the SSIClk signal is programmed to steady state high
through the SPO bit in the SSICR0 register, then software must also configure the GPIO port
pin corresponding to the SSInClk signal as a pullup in the GPIO Pullup Select (GPIOPUR)
register.
For each of the frame formats, the QSSI is configured using the following steps:
1. If initializing out of reset, ensure that the SSE bit in the SSICR1 register is clear before making any
configuration changes. Otherwise, configuration changes for advanced SSI can be made while the
SSE bit is set.