FPGAスタディノート
SPIプロトコル
1. SPI协议概念
2. SPI协议原理
1. SPIプロトコルの概念
SPI:シリアルペリフェラルインターフェイスの略で、高速、全二重、同期通信バスです。
特徴:1つのマスターと複数のスレーブ、高速(最大数十Mbps)、全二重、同期通信バス、別の非常に高速なSPIと通信する場合、最大クロック周波数はシステムクロック周波数の1/2です。デバイス、SPIの最大クロック周波数がその伝送速度を制限する場合があります。
利点:チップのピンには4本のワイヤしか使用されていないため、チップのピンが節約されると同時に、スペースが節約され、PCBのレイアウトに便利です。
アプリケーション:EEPROM、FLASH、リアルタイムクロック、ADコンバーター、デジタルシグナルプロセッサー、デジタルシグナルデコーダー。
2. SPIプロトコル原理
4モード(MODE1〜4):
(極性)CPOL = 0/1:クロックの実効レベルを決定します。
(位相)CPHA = 0/1:データのサンプリングと送信のエッジを決定します。
CPOL = 0:SCKアイドル状態は0、有効状態は高レベル
CPOL = 1:SCKアイドル状態は1、有効状態は低レベル
CPHA = 0:クロックの最初のエッジで
データを収集CPHA = 1:データを収集クロックの2番目の遷移エッジ
- MODE0:CPOL = 0、SCLKはローからハイに遷移し、CPLA = 0、最初の遷移エッジでデータを収集し、2番目の遷移エッジでデータを送信します。
- MODE1:CPOL = 0、SCLKがローからハイに遷移、CPHA = 1:クロックの2番目の遷移エッジでデータを収集し、3番目の遷移エッジでデータを送信します。
- MODE2:CPOL = 1、SCLKが高レベルから低レベルに変化、CPLA = 0、最初の遷移エッジでデータを収集し、2番目の遷移エッジでデータを送信します。
- MODE3:CPOL = 1、SCLKがハイレベルからローレベルに変化、CPHA = 1:クロックの2番目の遷移エッジでデータを収集し、3番目の遷移エッジでデータを送信します。
マスターとスレーブ間の動作モードを決定する方法:
-
センサーの場合は、動作モードと送信タイミングを明確に示すデータシートがあり、要件に応じて決定できます。
-
マスタースレーブがMCUの場合、マスタースレーブプログラムは自分で決定し、送信は自分で決定できますが、2つのMCUは同じモードを使用して設定する必要があります。
UARTの比較:
利点:
- SPIの通信速度は比較的高く、数メガバイトから数十メガバイトの範囲です。
- クロックを同期させることができ、バスのエラー率は低いです。
- UARTは1対1であり、SPIは1対多にすることができます。
短所:異なるスレーブがチップセレクトラインを処理する必要があり、これはより厄介です。
【注意】:個人学習メモ、間違いがありましたら、お気軽に教えてください、丁寧です~~~