NuMicro® NUC029LEE/NUC029SEE
32-bit Arm
®
Cortex
®
-M0 Microcontroller
Aug, 2018
Page
419
of
497
Rev 1.00
N
U
MICRO
®
N
UC02
9L
E
E
/N
UC029
S
E
E
T
E
CHN
ICA
L R
E
F
E
R
E
NC
E
M
A
NU
A
L
Transmit/Receive Bit Length
The bit length of a transaction word is defined in TX_BIT_LEN bit field (SPI_CNTRL[7:3]). It can
be configured up to 32-bit length in a transaction word for transmitting and receiving.
SPIn_CLK
SPIn_MOSI0
SPIn_MISO0
TX0[30]
TX0[16]
TX0[15]
TX0[14]
LSB
TX0[0]
RX0[30]
RX0[16]
RX0[14]
LSB
RX0[0]
MSB
RX0[31]
RX0[15]
MSB
TX0[31]
SPIn_SS0
Figure 6.15-4 32-Bit in One Transaction
LSB/MSB First
LSB (SPI_CNTRL[10]) defines the bit transfer sequence in a transaction. If the LSB bit is set to 1,
the transfer sequence is LSB first. The bit 0 will be transferred firstly. If the LSB bit is cleared to 0,
the transfer sequence is MSB first.
Transmit Edge
TX_NEG (SPI_CNTRL[2]) defines the data transmitted out either on negative edge or on positive
edge of SPI bus clock.
Receive Edge
RX_NEG (SPI_CNTRL[1]) defines the data received either on negative edge or on positive edge
of SPI clock.
Note:
The settings of TX_NEG and RX_NEG are mutual exclusive. In other words, do not
transmit and receive data on the same clock edge.
Word Suspend
SP_CYCLE (SPI_CNTRL[15:12]) provide a configurable suspend interval, 0.5 ~ 15.5 SPI clock
periods, between two successive transaction words in Master mode. The definition of the suspend
interval is the duration between the last clock edge of the preceding transaction word and the first
clock edge of the following transaction word. The default value of SP_CYCLE is 0x3 (3.5 SPI bus
clock cycles). This SP_CYCLE setting will not take effect to the word suspend interval if FIFO
mode is disabled by software.
If both VARCLK_EN (SPI_CNTRL[23]) and FIFO (SPI_CNTRL[21]) bits are set to 1, the minimum
word suspend period is (6.5 + SP_CYCLE)*SPI clock period.
Slave Selection
In Master mode, this SPI controller can drive off-chip slave devices through the slave select