ZHCSIE4A June 2018 – July 2018 TMS320F28035-EP
PRODUCTION DATA.
The device includes the four-pin serial peripheral interface (SPI) module. Up to two SPI modules are available. The SPI is a high-speed, synchronous serial I/O port that allows a serial bit stream of programmed length (1 to 16 bits) to be shifted into and out of the device at a programmable bit-transfer rate. Normally, the SPI is used for communications between the MCU and external peripherals or another processor. Typical applications include external I/O or peripheral expansion through devices such as shift registers, display drivers, and ADCs. Multidevice communications are supported by the master/slave operation of the SPI.
The SPI module features include:
NOTE
All four pins can be used as GPIO if the SPI module is not used.
Baud rate: 125 different programmable rates.
NOTE
All registers in this module are 16-bit registers that are connected to Peripheral Frame 2. When a register is accessed, the register data is in the lower byte (7–0), and the upper byte (15–8) is read as zeros. Writing to the upper byte has no effect.
Enhanced feature:
The SPI port operation is configured and controlled by the registers listed in Table 5-33 and Table 5-34.
NAME | ADDRESS | SIZE (x16) | EALLOW PROTECTED | DESCRIPTION(1) |
---|---|---|---|---|
SPICCR | 0x7040 | 1 | No | SPI-A Configuration Control Register |
SPICTL | 0x7041 | 1 | No | SPI-A Operation Control Register |
SPISTS | 0x7042 | 1 | No | SPI-A Status Register |
SPIBRR | 0x7044 | 1 | No | SPI-A Baud Rate Register |
SPIRXEMU | 0x7046 | 1 | No | SPI-A Receive Emulation Buffer Register |
SPIRXBUF | 0x7047 | 1 | No | SPI-A Serial Input Buffer Register |
SPITXBUF | 0x7048 | 1 | No | SPI-A Serial Output Buffer Register |
SPIDAT | 0x7049 | 1 | No | SPI-A Serial Data Register |
SPIFFTX | 0x704A | 1 | No | SPI-A FIFO Transmit Register |
SPIFFRX | 0x704B | 1 | No | SPI-A FIFO Receive Register |
SPIFFCT | 0x704C | 1 | No | SPI-A FIFO Control Register |
SPIPRI | 0x704F | 1 | No | SPI-A Priority Control Register |
NAME | ADDRESS | SIZE (x16) | EALLOW PROTECTED | DESCRIPTION(1) |
---|---|---|---|---|
SPICCR | 0x7740 | 1 | No | SPI-B Configuration Control Register |
SPICTL | 0x7741 | 1 | No | SPI-B Operation Control Register |
SPISTS | 0x7742 | 1 | No | SPI-B Status Register |
SPIBRR | 0x7744 | 1 | No | SPI-B Baud Rate Register |
SPIRXEMU | 0x7746 | 1 | No | SPI-B Receive Emulation Buffer Register |
SPIRXBUF | 0x7747 | 1 | No | SPI-B Serial Input Buffer Register |
SPITXBUF | 0x7748 | 1 | No | SPI-B Serial Output Buffer Register |
SPIDAT | 0x7749 | 1 | No | SPI-B Serial Data Register |
SPIFFTX | 0x774A | 1 | No | SPI-B FIFO Transmit Register |
SPIFFRX | 0x774B | 1 | No | SPI-B FIFO Receive Register |
SPIFFCT | 0x774C | 1 | No | SPI-B FIFO Control Register |
SPIPRI | 0x774F | 1 | No | SPI-B Priority Control Register |
For more information on the SPI, see the TMS320x2802x, 2803x Piccolo Serial Peripheral Interface (SPI) Reference Guide.
Figure 5-25 is a block diagram of the SPI in slave mode.