[SPI] SPI通信プロトコルの概要

関連記事

1.「SPI通信プロトコルの概要」
2.「STM32SPIペリフェラルの使用」
3。「[IMU]分析とBMI160ドライバーの使用」

1.SPIの概要

SPIプロトコルは、モトローラが提案する通信プロトコル(Serial Peripheral Interface)、つまり高速全二重通信バスであるシリアルペリフェラルデバイスインターフェースです。より高速な通信速度が要求されるADC、LCD、その他のデバイスとMCUの間で広く使用されています。

  • 利点
    1. 全二重動作をサポート
    2. 使いやすい
    3. より高いデータ転送速度
  • 短所
    1. マスターのより多くのラインを占有する必要があります(各スレーブにはチップセレクトラインが必要です)
    2. フロー制御が指定されていません
    3. データが受信されたかどうかを確認する応答メカニズムはありません

2.SPIハードウェア接続の概要

通信する2つのSPIデバイスは、マスターデバイス(マスター)負担する必要があり、デバイス(スレーブ)から制御さます。マスターデバイスは、クロック信号を提供し、スレーブデバイスでチップセレクトを実行することにより、複数のスレーブデバイスを制御できます。スレーブデバイス自体はクロック信号を生成せず、そのクロック信号はマスターデバイスによって提供されます。
ここに画像の説明を挿入

  1. MOSI:マスターデバイスデータ出力、スレーブデバイスデータ入力
  2. MISOマスターデバイスデータ入力、スレーブデバイスデータ出力
  3. SCLK:マスターデバイスによって生成されるクロック信号
  4. CS:マスターデバイスによって制御されるスレーブデバイスイネーブル信号

3.SPI通信モードの概要

SPI通信には4つの異なるモードがあり、通常、CPOL(クロック極性)CPHA(クロック位相)を介して構成されます次のように:

SPIモード CPOL CPHA アイドルSCKクロック サンプリングの瞬間
0 0 0 低レベル 奇数エッジ
1 0 1 低レベル エッジさえ
2 1 0 高いレベル 奇数エッジ
3 1 1 高いレベル エッジさえ

ここに画像の説明を挿入

4.SPIの読み取りと書き込みのタイミング

ここでは、SPIの読み取りと書き込みのタイミングを、デフォルトでモード3を使用するSPIインターフェイスを備えたIMU(BMI160)の例を通じて紹介ますCPOL=1 CPHA=1

  • 書き込みタイミング
    ここに画像の説明を挿入
    ここに画像の説明を挿入
  • 読み取りタイミング
    ここに画像の説明を挿入
    ここに画像の説明を挿入

(注:最初のスクリーンショットはデータシートによって導入されたタイミングであり、2番目のスクリーンショットはロジックアナライザーによって実際にキャプチャされたタイミングです)

5.参考資料

  1. 《 BMI160 DataSheet.pdf》
  2. 「ゼロデッドアングルでSTM32-F429チャレンジャーで遊ぶ.pdf」

おすすめ

転載: blog.csdn.net/ZHONGCAI0901/article/details/110452411