SPIは、「シリアルペリフェラルインタフェース」、即ち、「シリアル・ペリフェラル・インタフェース」の頭字語であり、モトローラは、シリアルインターフェース通信プロトコルを導入しました。
配線図:
SPIバスは、I2C、2次の点の間の差の原則を学ぶことができます。
(1)I2Cのみ2本の信号線、1本のSDAデータライン、クロックラインSCL、SPIは、4本の信号線有する:MISO、MOSI、SCK、およびNSSを。
- MOSI:マスター出力スレーブ入力、出力、マスタ/スレーブ入力。スレーブ、ホストデータにホストから出力されたデータを送信します。
- MISO:マスターIutputスレーブ出力、デバイスからのマスタ入力/出力。ホストへのスレーブから出力されたデータは、データを受け取ります。
- SCK:通信の同期をとるためのクロック信号線。
- NSS:チップセレクトラインは、通信装置から選択するため、また、CS(アクティブロー)図ことができます。各デバイスは、NSSのデバイスによって通信回線を低く設定しているマスタ・デバイスを選択するために、NSS信号線から別個を有しています。NSSレベルラインに起動信号が停止信号に引っ張られるように、したがって低レベルでNSS SPI通信回線が設定されています。
(2)I2C通信は半二重であり、SPI通信は全二重です。I2Cは、同時にデータを送受信し、SPIかもしれない、すなわち。
(3)I2Cデバイスから選択するアドレスに依存して、各トランシーバが応答信号を有しており、装置から選択するSPIチップセレクト信号に依存して、応答信号、さりげなく送受信がありません。
作業プロセス:
NSSが最終的に引っ張られたときに、チップにセレクトラインは、各クロックサイクルとデータサンプリングトリガに低いNSS機を引っ張られ、通信が終了します。
図は、動作モードがエッジサンプリング立ち下がり、SCKの立ち上がりエッジをトリガしていることを示します。次のように4つの動作モードSPI実用的な、状態に応じて「CPOLクロック極性」と「CPHAクロック位相」があります。
主な違いは、SPI 4つの動作モードでSCKバスアイドル状態のとデータサンプリング時間。
如果CPOL被清0,则SCK在空闲状态保持低电平,反之被置1则保持高电平;如果CPHA位被清0,则在SCK每个时钟周期的第1个边沿(奇数边沿)进行数据位采样,反之被置1则在SCK每个时钟周期的第2个边沿(偶数边沿)采样。
下表展示了SPI四种工作模式的状态:
数据传输时从最高位开始,一位一位传输。
参考文章:
https://zhuanlan.zhihu.com/p/27376153
https://zhuanlan.zhihu.com/p/27462822
https://zhuanlan.zhihu.com/p/33356830