Datasheet

ADuC7033
Rev. B | Page 114 of 140
SERIAL PERIPHERAL INTERFACE
The ADuC7033 features a complete hardware serial peripheral
interface (SPI) on-chip. SPI is an industry standard synchronous
serial interface that allows eight bits of data to be synchronously
transmitted and received simultaneously, that is, full duplex.
In master mode, polarity and phase of the clock is controlled by
the SPICON register, and the bit rate is defined in the SPIDIV
register using the SPI baud rate calculation, as follows:
)1(2
MHz48.20
SPIDIV
f
CLOCKSERIAL
+×
=
(3)
The SPI interface is only operational with core clock divider bits
(POWCON[2:0] = 0 or 1).
The maximum speed of the SPI clock is dependent on the clock
divider bits and is summarized in Table 88.
The SPI port can be configured for master or slave operation
and consists of four pins that are multiplexed with four GPIOs.
The four SPI pins are MISO, MOSI, SCLK, and
SS
. The pins to
which these signals are connected are shown in . Table 87
Table 88. SPI Speed vs. Clock Divider Bits in Master Mode
CD Bits 0 1
SPIDIV 0x05 0x0B
Table 87. SPI Output Pins
Pin Signal Description
Maximum SCLK 1.667 MHz 0.833 MHz
In slave mode, the SPICON register must be configured with
the phase and polarity of the expected input clock. The slave
accepts data from an external master up to 5.12 Mb at CD = 0.
The formula to determine the maximum speed is as follows:
GPIO_0 (GPIO Mode 1)
SS
Chip select
GPIO_1 (GPIO Mode 1) SCLK Serial clock
GPIO_2 (GPIO Mode 1) MISO
Master out, slave in
GPIO_3 (GPIO Mode 1) MOSI Master in, slave out
4
HCLK
CLOCKSERIAL
f
f =
MISO (MASTER IN, SLAVE OUT DATA I/O PIN)
The master in, slave out (MISO) pin is configured as an input
line in master mode and an output line in slave mode. The
MISO line on the master (data in) should be connected to the
MISO line in the slave device (data out). The data is transferred
as byte-wide (8-bit) serial data, MSB first.
In both master and slave modes, data is transmitted on one edge
of the SCL signal and sampled on the other. Therefore, it is
important that the polarity and phase are configured the same
for the master and slave devices.
CHIP SELECT (SS) INPUT PIN
MOSI (MASTER OUT, SLAVE IN PIN)
In SPI slave mode, a transfer is initiated by the assertion of
SS
,
an active low input signal. The SPI port then transmits and
receives eight bits of data until the transfer is concluded by the
deassertion of
SS
. In slave mode,
SS
is always an input.
The MOSI (master out, slave in) pin is configured as an output
line in master mode and an input line in slave mode. The MOSI
line on the master (data out) should be connected to the MOSI
line in the slave device (data in). The data is transferred as byte-
wide (8-bit) serial data, MSB first.
SPI REGISTER DEFINITIONS
The following MMR registers are used to control the SPI
interface:
SCLK (SERIAL CLOCK I/O PIN)
The master serial clock (SCLK) is used to synchronize the data
being transmitted and received through the MOSI SCLK
period. Therefore, a byte is transmitted/received after eight
SCLK periods. The SCLK pin is configured as an output in
master mode and as an input in slave mode.
SPICON: 16-bit control register
SPISTA: 8-bit read-only status register
SPIDIV: 8-bit serial clock divider register
SPITX: 8-bit write-only transmit register
SPIRX: 8-bit read-only receive register