SS Pin Functionality in Client Mode

The Client Select (SS) pin plays a central role in the operation of the SPI. Depending on the SPI mode and the configuration of this pin, it can be used to activate or deactivate devices. The SS pin is used as a Chip Select pin.

In Client mode, the SS, MOSI, and SCK are always inputs. The behavior of the MISO pin depends on the configured data direction of the pin in the port peripheral and the value of SS. When the SS pin is driven low, the SPI is activated and will respond to received SCK pulses by clocking data out on MISO if the user has configured the data direction of the MISO pin as an output. When the SS pin is driven high, the SPI is deactivated, meaning that it will not receive incoming data. If the MISO pin data direction is configured as an output, the MISO pin will be tri-stated. Table 1 shows an overview of the SS pin functionality.

Table 1. Overview of the SS Pin Functionality
SS Configuration SS Pin-Level Description MISO Pin Mode
Port Direction = Output Port Direction = Input
Always Input High Client deactivated (deselected) Tri-stated Input
Low Client activated (selected) Output Input
Note: In Client mode, the SPI state machine will be reset when the SS pin is driven high. If the SS pin is driven high during a transmission, the SPI will stop sending and receiving data immediately and both data received and data sent must be considered lost. As the SS pin is used to signal the start and end of a transfer, it is useful for achieving packet/byte synchronization and keeping the Client bit counter synchronized with the host clock generator.