Product Specs

Table Of Contents
32 SPIS Serial peripheral interface slave with
EasyDMA
Page
292
32 SPIS Serial peripheral interface slave with
EasyDMA
SPI slave (SPIS) is implemented with EasyDMA support for ultra low power serial communication from an
external SPI master. EasyDMA in conjunction with hardware-based semaphore mechanisms removes all
real-time requirements associated with controlling the SPI slave from a low priority CPU execution context.
PSEL.CSN
PSEL.MISO PSEL.MOSI
PSEL.SCK
ACQUIRE
RELEASE
ACQUIRED
END
OVERREAD
OVERFLOW
Figure 73: SPI slave
The SPIS supports SPI modes 0 through 3. The CONFIG register allows setting CPOL and CPHA
appropriately.
Table 69: SPI modes
Mode
Clock polarity
Clock phase
CPOL
CPHA
SPI_MODE0
0 (Leading)
0 (Active High)
SPI_MODE1
0 (Leading)
1 (Active Low)
SPI_MODE2
1 (Trailing)
0 (Active High)
SPI_MODE3
1 (Trailing)
1 (Active Low)
32.1 Shared resources
The SPI slave shares registers and other resources with other peripherals that have the same ID as the SPI
slave. Therefore, you must disable all peripherals that have the same ID as the SPI slave before the SPI
slave can be configured and used.
Disabling a peripheral that has the same ID as the SPI slave will not reset any of the registers that are
shared with the SPI slave. It is important to configure all relevant SPI slave registers explicitly to secure that
it operates correctly.
The Instantiation table in Instantiation on page 24 shows which peripherals have the same ID as the SPI
slave.
32.2 EasyDMA
The SPI slave implements EasyDMA for reading and writing to and from the RAM. The END event indicates
that EasyDMA has finished accessing the buffer in RAM.
SPIS
CSN
MISO
MOSI
RXD.PTR
RAM
RXD+n
TXD+n
RXD+2
TXD+2
RXD+1
TXD+1
RXD
TXD
EasyDMA
EasyDMA
SPI slave tranceiver
Semaphore
TXD.PTR
DEF