SPI通信に基づく学習

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

 

おすすめ

転載: www.cnblogs.com/banmei-brandy/p/11277822.html