I2C と SPI の違い
2線式か、3線式か
- I2C と SPI は、IoT でマイコン(マスタ)とセンサ(スレーブ)をつなぐときによく使われる、同期式のシリアル通信です。
- I2C は2線式(フィリップス社の提案)、SPI は3線式(モトローラ社の提案)と、線の数と提案した会社で見分けます。
- どちらも近距離用で、同一ユニットの中の実装に限って使います。非同期の UART や、入出力の GPIO・PWM と取り違えないようにします。
この記事の目次
I2C とは
フィリップス社が提案した、2線式の同期シリアル通信です。マイコン側のマスタデバイスと、センサ側のスレーブデバイスの間で、1対 N の通信を行います。
2本の線には、それぞれ役割があります。
- SCL(Serial Clock): マスタが作ったクロック信号を、各スレーブに送る線。
- SDA(Serial Data): マスタとスレーブがデータを送り受けする線。
SPI とは
モトローラ社が提案した、3線式の同期シリアル通信です。I2C と同じく、マスタとスレーブの間で1対 N の通信を行います。
- SCK: 同期のためのクロック信号を送る線。
- SDI(Serial Data Input)と SDO(Serial Data Output): データの入力と出力を別々の線で行うので、データの送受信を同時にできます。
- スレーブを複数つなぐときは、SS(Slave Select)信号を使います。通信の速さやタイミングは、厳格には決められていません。
共通点と、関係する用語
I2C と SPI は、どちらも近距離しか通信できないので、同一ユニットの中の実装に限って使います。センサの出力をシリアル通信で行うセンサが増えており、そのうち IoT では、この2つが一般に多く使われます。
試験では、次の用語が選択肢に並びます。
- UART: 非同期のシリアル通信の規格。USB と並んで、よく知られています。
- GPIO: 複数のデジタル入力とデジタル出力をまとめて扱うインタフェース。スイッチの読み取りや LED の制御に使います。
- PWM: デジタル量を、一定周期のパルスの幅に比例させて出力する方式。デューティ比を変えて、LED 照明の調節などに使います。
違いを表で比べる
| 比べること | I2C | SPI |
|---|---|---|
| 提案した会社 | フィリップス社 | モトローラ社 |
| 線の数 | 2線式 | 3線式 |
| クロックの線 | SCL | SCK |
| データの線 | SDA の1本で送り受け | SDI(入力)と SDO(出力)に分け、同時に送受信できる |
| 複数のスレーブ | 1対 N の通信 | 1対 N の通信。SS 信号を使う |
| 共通点 | 同期式のシリアル通信。近距離用で、同一ユニット内の実装に限る | 同左 |
試験での問われ方
IoTシステム技術検定 中級では、第5章「IoTデバイス」で出ます。もちこ道場の第5章の問題(全50問)のうち、I2C・SPI を扱う問題は3問あります。
- 穴埋め: 「フィリップス社が提案した2線式の同期シリアル通信インタフェース」に I2C を選ぶ。選択肢には UART・USB・SPI が並びます。
- 2つの空欄: 「1対 N 通信を行うシリアル通信インタフェースの代表例」に I2C と SPI を入れる。UART と USB、Bluetooth と ZigBee など、別の組み合わせも並びます。
- 不適切な記述を選ぶ: 「IoT では非同期の1線式が一般に多く用いられる」のように、同期式の I2C・SPI という説明を入れ替えた記述を見抜く。
覚え方
- 数字で覚えます。I2C は2線、SPI は3線。線の名前も、I2C は SCL・SDA の2つ、SPI は SCK・SDI・SDO の3つです。
- 会社は、I2C がフィリップス社、SPI がモトローラ社。
- SPI は入力(SDI)と出力(SDO)が別の線なので、同時に送受信できると結び付けます。
第5章のほかの用語は「第5章 IoTデバイスの要点」にまとめています。
第5章の問題を2問、解いてみる
もちこ道場の第5章の問題です。演習画面と同じ解説(図解・選択肢ごとの解説)を付けています。
問1
デジタル量を、一定周期のパルス信号のパルス幅に比例させて出力する方式を1という。オンの時間幅の割合であるデューティ比を変えて出力し、その信号をコンデンサで平滑すればD/A変換ができるため、LED照明の調節などにも用いられる。
答えと解説を見る
正解は 3(PWM)です。
【概要】
PWMはパルス幅変調のことで、デジタル量を一定周期のパルス信号のパルス幅に対応させて出力する方式である。デューティ比を変えて電力などを制御できる。
【図解】実験的機能
図解は実験的機能です。内容を簡略化しているため、公式テキストの記載と異なることがあります。
【各選択肢の解説】
- 1. UARTあなたの解答 UARTは、非同期方式のシリアル通信の規格であり、パルス幅でデジタル量を表す出力方式ではない。
- 2. GPIOあなたの解答 GPIOは、複数のデジタル入力とデジタル出力を扱う汎用の入出力インタフェースであり、パルス幅に比例させる出力方式ではない。
- 3. PWM正解あなたの解答 PWMは、デジタル量をパルス幅に対応させる方式で、デューティ比を変えて平滑するとD/A変換にも使える点が問題文と合う。
- 4. A/D変換あなたの解答 A/D変換は、アナログ信号をデジタル信号に変える処理であり、デジタル量をパルス幅で出力する本問の方式とは変換の向きが逆である。
問2
複数のデジタル入力とデジタル出力をまとめて扱うインタフェースで、マイコンボードの端子を通じてスイッチの読み取りやLEDの制御に使われるものを1という。
答えと解説を見る
正解は 1(GPIO)です。
【概要】
GPIOは汎用入出力のことで、複数のデジタル入力とデジタル出力を扱うインタフェースである。スイッチやLED、開閉器のオン・オフに使われる。
【図解】実験的機能
図解は実験的機能です。内容を簡略化しているため、公式テキストの記載と異なることがあります。
【各選択肢の解説】
- 1. GPIO正解あなたの解答 GPIOは、複数のデジタル入出力をまとめて扱う汎用のインタフェースであり、スイッチの読み取りやLED制御に使うという問題文の条件に合う。
- 2. UARTあなたの解答 UARTは、非同期方式のシリアル通信の規格であり、デジタル入出力をまとめて扱うインタフェースではない。
- 3. USBあなたの解答 USBは、シリアル通信の規格として知られるインタフェースであり、複数のデジタル入出力端子を扱う汎用入出力ではない。
- 4. PWMあなたの解答 PWMは、パルス幅変調で電力などを制御する方式であり、デジタル入力と出力をまとめて扱うインタフェースの名称ではない。
第5章のほかの問題は、ベーシックプランで解けます。まずは登録なしで、第1章の50問を試せます。
よくある質問
I2C と SPI は、無線でも使えますか?
使えません。どちらも線でつなぐ通信で、近距離しか通信できないため、同一ユニットの中の実装に限って使います。離れた機器との通信には、第4章で扱う無線などを使います。
UART と I2C・SPI は何が違いますか?
UART は非同期のシリアル通信で、I2C と SPI は同期式です。教科書では、UART のような1線式の非同期通信も一般的ですが、IoT ではとくに I2C と SPI が多く使われる、と整理されています。「IoT では1線式の非同期が多く用いられる」という記述は誤りとして出ます。
GPIO や PWM は、シリアル通信ですか?
いいえ。GPIO は複数のデジタル入力とデジタル出力をまとめて扱う汎用の入出力、PWM はデジタル量をパルスの幅に対応させて出力する方式です。シリアル通信の I2C・SPI とは別の用語です。
もちこ道場
章ごとの問題と本番形式の模擬試験で、合格の力を確かめる
公式テキストの全8章から作ったオリジナルの予想問題を、スマホ・PC で解ける Web 演習サービスです(運営者が作っています)。
500円
31日間・買い切り・自動更新なし
- 全8章 401問○
- 選択肢ごとの解説○
- 全問の解説に図解○
- 模擬試験(80問・90分)なし
1,000円
31日間・買い切り・自動更新なし
- 全8章 401問○
- 選択肢ごとの解説○
- 全問の解説に図解○
- 模擬試験(80問・90分)○
無料体験は登録不要です。
次に読む
IoTシステム技術検定 中級の第5章「IoTデバイス」で問われる用語を、6つのまとまりと取り違えやすい組み合わせで整理しました。第5章の問題を2問、その場で解いて確かめられます。
IoTシステム技術検定 中級の試験の1週間前から前日までにやることを、日ごとの表にまとめました。模擬試験を2回解き、弱い章と出題の多い章を解き直し、取り違えやすい用語を確かめる流れです。
IoTシステム技術検定 中級は、穴埋め(1か所)・穴埋め(組み合わせ)・記述の組み合わせ・誤った記述を選ぶの4つの形式で出ます。形式はどの章も同じです。形式ごとの解き方と、80問・90分の時間の使い方をまとめました。
出題範囲は、2026年11月2日にMCPC の公式ページで確認しました。用語の説明は、もちこ道場の問題と解説をもとにまとめたものです。