SPI(Serial Peripheral Interface)はシリアル通信を行うためのインターフェースで、「エス・ピー・アイ」と呼ばれています。

SPI は CS、SDO、SDI、SCK ピンという 4 ピンを使ってデータを送受信します(3 ピン方式もあります)。

1対1でしか通信出来なかったUARTと異なり、SPI にはマスタ・スレーブ方式(※)で複数の機器と接続してデータをやりとり出来るという利点があります。

※ 近年「マスタ・スレーブ方式」という用語を違う用語で置き換えようという流れになっていて、SPIの場合はOpen Source Hardware Association という団体が「コントローラ・ペリフェラル方式」にしようと提案しています

またクロック信号で同期を取るので UART よりも高速にデータを送受信できます。
一方、使用する信号線が増えるので配線が複雑になります。

さて SPI は以下の様に接続します。

SPI の接続方法:

CS : チップ・セレクト・・・・通信対象の機器を選択(ロー・アクティブ)

SDO : シリアル・データアウト・・・・データを送信する

SDI : シリアル・データイン・・・・データを受信する

SCK : シリアル・クロック・・・・クロック信号

※1 マスタ機器がCSを使って通信対象の機器を選択する
※2 SDO から SDI に向かって矢印方向にデータが送られる
※3 マスタ機器が SCK を使ってクロック信号を送って同期を取る