2 Multiple SPI Client Approach

A typical multi-client SPI application consists of one host device and at least two client components. There are three common lines between all connected devices (MOSI, MISO and SCK). A fourth line (NSS or CS) is used to select the peripheral that must communicate with the host. A typical application with three client devices is shown in following figure.

Figure 2-1. Multi-Client Application

When a client is not selected, make sure that its own output (MISO) is set to a high-impedance state (tri-state). If this is not done, the bus is blocked for communication with other client devices. The reason for this issue is due to the implementation of the SPI feature within the firmware. After the host deselects a client from the SPI bus, its firmware does not restore the MISO pin to a high-impedance state. Instead, it remains in an output state and is asserted in a low or high state.