ZHCS009J November 2010 – September 2021 TMS320F28062 , TMS320F28062F , TMS320F28063 , TMS320F28064 , TMS320F28065 , TMS320F28066 , TMS320F28067 , TMS320F28068F , TMS320F28068M , TMS320F28069 , TMS320F28069F , TMS320F28069M
PRODUCTION DATA
The device includes the 4-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:
All four pins can be used as GPIO if the SPI module is not used.
Baud rate: 125 different programmable rates.
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 8-25 and Table 8-26.
NAME | ADDRESS | SIZE (×16) | 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 Debug 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 (×16) | 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 Debug 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 |
Figure 8-32 is a block diagram of the SPI in slave mode.