SPI is the short form of Serial Peripheral interface, used mainly for data communication at short distance but with high speed. It is a synchronous serial communication link.
As shown in the figure one slave is connected with one master device. Clock is generated by master device for synchronization of data transfer. It is also possible to connected more than one slave device with single master for communication. SPI interface operates in either half or full duplex mode.
It has four main lines as described below.
MOSI- Master Output Slave Input, it is used to transfer data from master device to slave device.
MISO- Master Input Slave Output, it is used to transfer data from slave device to master device.
SCLK - Serial Clock, it is clock output from master and used for synchronization.
SS- Slave Select, it is used by master device to select one slave out of multiple slaves. It inserts active low signal to select the particular slave device.
Refer difference between SPI vs UART vs I2C >> for more information.