0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SPI通信 座学

0
Last updated at Posted at 2026-01-02

この記事は座学のみ!

SPI通信とは

  • Serial Personal Interface
  • 通信インターフェースの一種
  • MCU ⇔ 周辺モジュール間の通信でよく使用される

MasterとSlave

  • SPI通信はMasterSlaveの関係で動作する
  • 通信の制御はMasterが行う

Master

  • Slaveに対し、指示・制御を実施する
  • SPI通信において、Masterは1つ

Slave

  • Masterからの指示に従い、動作する
  • SPI通信において、Slaveは1つ以上
  • Slaveが複数個存在する場合でも、Slave間での通信はできない
    • Slave間でやり取りをする場合は必ずMasterを経由する

基本構成

  • 基本的に4つの信号線で構成される(4線式)
名称 機能概要
MOSI Master Out Slave In
Master から送信され、Slaveが受けとるデータ用の信号線
MISO Mater In Slave Out
Masterから指示を受け、SlaveがMasterに対し、送信するデータ用の信号線
SCLK Serial Clock
Masterが生成するクロック信号線
CS(SS) Chip Select(Slave Select)
Masterが通信対象のSlaveを識別するための信号線
  • 図にするとこのような感じ↓
    SPI_Image.drawio.png

通信タイミングチャート

  • マスターは通信対象のCSをHighからLowへと切り替え、通信を開始する準備を行う
  • マスターがSCLKを送信する
  • MOSIもしくはMISOでデータの送受信を行う
  • データ送受信完了後、マスターがSCLKを停止する
  • CSをLowからHighからへと切り替え、通信を終了する
    SPI_TimingChart.drawio.png

動作モード

  • SPIはクロックの極性(CPOL)とクロックの位相(CPHA)の組み合わせによって、4種類の動作モードが定義されいる
モード名 CPOL CPHA
Mode 0 0 0
Mode 1 0 1
Mode 2 1 0
Mode 3 1 1

CPOL

  • Clock Polarity
  • 通信時のSCLKのクロックパルスの極性を示す
    • 0 : 通信を行っていない場合はLow固定、通信時にHighを生成する
    • 1 : 通信を行っていない場合にHigh固定、通信時にLowのパルスを生成する
      CPOL.drawio.png

CPHA

  • Clock Phase
  • 通信時の信号サンプル位置を示す
    • 0 : クロックパルスの最初でサンプルする
    • 1 : クロックパルスの最後でサンプルする
      CPHA.drawio.png
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?