SPIとは

 

SPIとは?

SPI(Serial Peripheral Interface)はクロックに同期させてデータの通信を行う
同期式シリアル通信のひとつで,E2PROMやセンサとのデータ通信によく使われています。
SPIでは,クロック(SCLK),データ入力(SIN),データ出力(SOUT)および
チップセレクト(CS)の4本の信号線を用いて通信します。

そして,通信をする場合には、マスタとスレーブというように役割を分けます。
クロックは必ずマスタから出力され,入力と出力はクロックに同期して行われます。
マスタ1つに対しスレーブは複数接続できますが,その場合,マスタ側には接続する
スレーブの数だけCSの信号線を用意する必要があります。
マスタとスレーブの接続は以下のようなイメージになります。」

SPIの通信は,データの送信と受信は同時に行われます。
クロックに同期して,送信側のデータはシフトレジスタの最上位ビット(MSB)からSOUTを
通して出力され,SINから入力されたデータはシフトレジスタの最下位ビット(LSB)に
格納されていきます。
最下位ビットまでのデータが転送されると完了となります。

このような構成なので,マスタとスレーブの通信をすると,データが入れ替わることになります。
また,クロックは必ずマスタが出力しますが,クロックを出力するためにマスタ内では
送受信用バッファへの書き込みが必要になります。
つまり,マスタ側で受信だけをする場合でも,送受信バッファにいったんダミーデータを
書き込む必要があります。