メディア

マイコンの通信機能 UARTとI2C 、SPIの違いQ&Aで学ぶマイコン講座(115)(1/3 ページ)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「UART、I2C、SPIの違い」についてです。

» 2026年05月26日 08時00分 公開

過去の質問一覧はこちら

 素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。

 今回は、初級者から多く寄せられる質問です。

質問です

 マイコンの代表的な通信機能にはUARTとI2CとSPIがありますが、それぞれの仕組み、使い方、性能、用途の違いを教えてください。

回答です

 ユーザーから見たUARTとI2CとSPIのすみ分けのポイントは、大きく次の4つに分けられます。

(1)通信相手の数

(2)通信速度

(3)信号数

(4)通信クロックの有無(クロック同期か、非同期か)

 通信相手の数で言うと、UARTは基本的には1対1の通信、I2Cは多数対多数の通信、SPIは1対1(1マスターと1スレーブ)、または1対多数の通信になるため、何と何に通信させるのかを考慮して選択します。次に、通信速度ですが、一般的にはI2C<UART<SPIです。高速通信が必要か否かで、どれにするかを選択します。信号数はI2C=UART<SPIです。システムのハードウェア(回路レイアウト、配線数など)を考慮して、どれにするかを選択します。

 UARTは通信用のクロックラインを必要としません(非同期式)が、I2CとSPIでは必要(同期式)です。

 具体的な用途を挙げると、PCとのシリアル通信などにはUARTがよく使われています。C言語の標準出力printfもUARTを使います。各種センサーや、通信速度が遅くても配線数を抑えたい場合は、I2Cが使われます。メモリや高速周辺機器(例えば、A-Dコンバーターなど)との通信にはSPIが使われています。図1にSTマイクロエレクトロニクス(以下、ST)のSTM32C562xxを例にした、各方式の違いをまとめます。

<strong>図1:UART、I<sup>2</sup>C、SPIの違い</strong>[クリックで拡大] 図1:UART、I2C、SPIの違い[クリックで拡大]

 本記事は、あくまでUARTとI2CとSPIの違いを説明するものです。基本的機能や応用例については次の記事を参考にしてください。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

特別協賛PR
スポンサーからのお知らせPR
Pickup ContentsPR
Special SitePR
あなたにおすすめの記事PR

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.