The SPI module has the following features:
- Programmable interface operation for Motorola SPI (3-wire and 4-wire), MICROWIRE, or TI Synchronous Serial format
- Configurable as a controller or a peripheral on the interface
- Programmable clock bit rate and prescaler
- CRC8-CCITT or CRC16-CCITT CRC capability
- Separate transmit (TX) and receive (RX) first-in first-out buffers (FIFOs)
- If Data Size Select (DSS) is 4 to 8 bits, FIFOs are 16 locations, 8 bits wide
- If Data Size Select (DSS) is 9 to 16 bits, FIFOs are 8 locations, 16 bits wide
- Programmable data frame size from 4 bits to 16 bits (controller mode) or 7 to 16 bits (peripheral mode)
- Internal loop-back test mode for diagnostic and debug testing
- Interrupts for transmit and receive FIFOs, overrun and time-out interrupts, and DMA-done interrupts
- Efficient transfers using micro direct memory access controller (μDMA):
- Separate channels for transmit and receive
- Receive single request asserted when data is in the FIFO; burst request asserted when FIFO contains a configurable number of entries.
- Transmit single request asserted when there is space in the FIFO; burst request asserted when FIFO contains a configurable number of entries.