29.1 SPI Mode Overview

The Serial Peripheral Interface (SPI) bus is a synchronous serial data communication bus that operates in Full-Duplex mode. Devices communicate in a host/client environment where the host device initiates the communication. A client device is controlled through a Chip Select known as Client Select.

The SPI bus specifies four signal connections:

  • Serial Clock (SCK)
  • Serial Data Out (SDO)
  • Serial Data In (SDI)
  • Client Select (SS)

Figure 29-1 shows the block diagram of the MSSP module when operating in SPI mode.

Figure 29-1. MSSP Block Diagram (SPI Mode)

The SPI bus operates with a single host device and one or more client devices. When multiple client devices are used, an independent Client Select connection is required from the host device to each client device.

Figure 29-2 shows a typical connection between a host device and multiple client devices.

The host selects only one client at a time. Most client devices have tri-state outputs so their output signal appears disconnected from the bus when they are not selected.

Figure 29-2. SPI Host and Multiple Client Connection