1/37ページ
カタログの表紙 カタログの表紙 カタログの表紙
カタログの表紙

このカタログをダウンロードして
すべてを見る

ダウンロード(1.6Mb)

シリアル通信入門

ホワイトペーパー

設計者のための「基礎」と「よくある落とし穴」

本資料では、シリアル通信の初心者に向けて、
代表的なシリアル通信(UART・SPI・I2C)の特徴や初心者がは陥りやすい、
落とし穴、注意すべきポイントについてご紹介します。

1.シリアル通信とは?
 1.1半二重通信と全二重通信
 1.2同期通信と非同期通信
 1.3シングルエンドと差動
2.UART、I2C、SPIの概要
 2.1UARTの概要
 2.2I2Cの概要
 2.3 SPIの概要
3.よくある落とし穴
 3.1UARTの落とし穴
 3.2I2Cの落とし穴
 3.3SPIの落とし穴

このカタログについて

ドキュメント名 シリアル通信入門
ドキュメント種別 ホワイトペーパー
ファイルサイズ 1.6Mb
取り扱い企業 株式会社リョーサン (この企業の取り扱いカタログ一覧)

この企業の関連カタログ

この企業の関連カタログの表紙
産業機械の高機能化に伴う電源要件の変革
事例紹介

株式会社リョーサン

この企業の関連カタログの表紙
Matter対応PoC
ホワイトペーパー

株式会社リョーサン

この企業の関連カタログの表紙
スマートホームの未来を支える共通規格「Matter」
ホワイトペーパー

株式会社リョーサン

このカタログの内容

Page1

既定のセクション、スライド 1: シリアル通信入門 設計者のための「基礎」と「よくある落とし穴」

シリアル通信入門 設計シ者リアのルた通めの信「入基礎門」と「よくある落とし穴」 設計者のための「基礎」と「よくある落とし穴」 2025/11/25 株式会社リョーサン 株式会社リョーサン CK000789
Page2

アジェンダ、スライド 2

目次 本資料では、シリアル通信の初心者に向けて、代表的なシリアル通信(UART・SPI・I2C)の特徴や 初心者がは陥りやすい、落とし穴、注意すべきポイントについてご紹介します。 1.シリアル通信とは? 1.1 半二重通信と全二重通信 1.2 同期通信と非同期通信 1.3 シングルエンドと差動 2.UART、I2C、SPIの概要 2.1 UARTの概要 2.2 I2Cの概要 2.3 SPIの概要 3.よくある落とし穴 3.1 UARTの落とし穴 3.2 I2Cの落とし穴 3.3 SPIの落とし穴 2
Page3

1. シリアル通信とは、スライド 3

1.シリアル通信とは? 3
Page4

スライド 4: 1.シリアル通信とは?

1.シリアル通信とは? デバイス間の通信方式の1つで”1本の伝送路で1ビットずつ”データを送信する方式です。 パラレル通信と比べて、ノイズに強く、安価、長距離通信が可能という特徴があります。 シリアル通信 パラレル通信 デバイス デバイス デバイス デバイス 対比 伝送路:1本 伝送路:複数 4
Page5

スライド 5: 1.シリアル通信とは?

1.シリアル通信とは? 一番左側のビット「最上位ビット」をMSB、一番右側のビット「最下位ビット」をLSBと呼びます。 どちらからデータを送信するかによって送信データの順番が変わります。 例)LSBファースト転送の場合 6を送信(2進数:110) デバイス デバイス 1 → 1 → 0 MSB LSB (最上位ビット) (最下位ビット) 5
Page6

スライド 6: 1.1 半二重通信と全二重通信

1.1 半二重通信と全二重通信 半二重通信 1つの伝送路で送受信を切り替えて通信する方式。 送信と受信は同時に行えないが信号線が1本で済む メリットがあります。 無線LAN通信のような、電波を用いた通信方式では 同周波数で通信する場合の混信を避けるために半二 重通信が使われます。 全二重通信 2つの伝送路で送受信を別々で通信する方式。 送信と受信を同時に行うことが出来るため、伝送効率 が良いメリットがあります。 6
Page7

スライド 7: 1.2 同期通信と非同期通信

1.2 同期通信と非同期通信 同期通信 デバイス間で共通のクロックを用いて通信を同期させる通信方式。 クロック信号はマスタからスレーブに共有されます。 メリット :転送レートを上げやすい デメリット :回路やケーブルが煩雑となることや、クロック信号線とデータ線の 配線長の差から発生する誤差を考慮する必要がある 非同期通信 通信を同期する信号がなく、デバイス間で通信速度を合わせて通信する方式。 メリット :同期信号線がないため、自由なタイミングで情報の伝達が可能 デメリット :送信側と受信側で発生する誤差を考慮しておく必要がある 7
Page8

スライド 8: 1.3 シングルエンドと差動

1.3 シングルエンドと差動 シングルエンド 基準となる電圧と信号線の電圧を比較して、高い場合はHigh (1)、低い場合はLow(0)として表現する方式。 信号線が1本で低コストということもあり広く普及しているが、ノイ ズの影響を受けやすいため、信号線の長さが限定されます。 差動 2つの信号線の差分からHigh(1)、Low(0)を判別する 方式。 信号線が2本必要となるが、互いに逆方向のノイズが打ち消し 合いノイズの影響を抑えることが出来ます。 8
Page9

2. UART、I2C、、SPIの概要、スライド 9

2.UART、I2C、SPIの概要 9
Page10

スライド 10

2.1 UARTの概要 UART(Universal Asynchronous Receiver/Transmitter)は、デバイス間でよく使用され、「非同期、全二重、 シングルエンド」でデータ通信を行う。通信速度はボーレート(bps)という単位で表記されます。 ボーレート:1秒間に何ビットのデータ通信が行われるかを表しています。例えば、115,200bpsの場合、1秒間に115,200ビットを通信することが可能。 端子構成 TxD(Transmit exchange Data)はデータ送信用、RxD(Received exchange Data)はデータ受信用の端子 です。RTS(Request to Send)は、受信側が受信可能を通知するために、CTS(Clear to Send)はその通知を受 け取るために使用されます。 ハードウェア制御なし ハードウェア制御あり 10
Page11

スライド 11

2.1 UARTの概要 通信方式 UARTはフレーム単位で通信を行います。 送信側はTxD端子からデータを送信、受信側はRxD端子でデータを受信します。 1フレームは、「 Start Bit 」、「 Data 」、「 Parity Bit 」、「 Stop Bit 」で構成されます。 ST D0 D1 D2 D3 D4 D5 D6 D7 PA SP (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) Start Data Parity Stop Bit Bit Bit 11
Page12

スライド 12

2.1 UARTの概要 通信フレーム ST D0 D1 D2 D3 D4 D5 D6 D7 PA SP (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) Start Data Parity Stop Bit Bit Bit Start Bit(ST) 送信側から受信側に通信開始を通知するためのビットで通信開始前は送信側によって Highに固定されていますが通信開始時に1ビット期間Lowにドライブされます。 Data(D0~D7) 実際に送信するデータになります。 基本は8ビットですが、7ビットや9ビットに対応している場合もあります。 12
Page13

スライド 13

2.1 UARTの概要 通信フレーム ST D0 D1 D2 D3 D4 D5 D6 D7 PA SP (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) (1bit) Start Data Parity Stop Bit Bit Bit Parity Bit(PA) パリティビットはデータの誤りを検出するために付与するビットですが、フレームの構成要素として 必須ではないため、誤り検出の必要がない場合はフレームに付与せず、通信を行うことが出来、 以下3パターンがあります。 「偶数パリティ」・・・データのビットとパリティビットにて1の数が偶数となるようにビットを付与する方法 「奇数パリティ」・・・データのビットとパリティビットにて1の数が奇数となるようにビットを付与する方法 「パリティなし」 ・・・フレームにパリティビットを含めない Stop Bit(SP) 送信側から受信側に通信終了を通知するためのビットで、通信終了時に通信ラインを Highに戻す役割があり、1フレームの送信後にHighにドライブされます。 13
Page14

スライド 14

2.2 I2Cの概要 I2C(Inter-Integrated Circuit)は、マイコンと周辺デバイスとの接続によく使用されており、同期式、半二重、シ ングルエンドでデータ通信を行っています。 また、対応している最大の通信速度によって、複数のモードが用意されています。 Standard Mode(最大100kbps)、Fast Mode(最大400kbps)、Fast Mode Plus(最大1Mbps) 端子構成 I2CはSCL(Serial Clock)、SDA(Serial Data)の2つの信号線を用いて通信が行われます。 SCLラインはマスタからスレーブへクロック信号を供給、SDAラインはクロックの立ち上がりおよび立ち下がりに同期して、 データの送受信を行います。 ※SCL、SDAの信号線にはプルアップ抵抗を接続 14
Page15

スライド 15

2.2 I2Cの概要 通信方式 I2Cでは通信開始時にマスタからスレーブに対して、スレーブアドレスとリード/ライトを指定するデータを送信し、 スレーブアドレスと一致するスレーブだけがマスタと通信を行います。 VDD or VIO 〇通信可能 I2C SCL SCL I2C Slave Master SDA SDA (Address 0x63) 「Address※ 0x63」 を送信 ×通信不可 SCL I2C Slave SDA (Address 0x66) ※7bit形式のSlave Addressで表記しています。 15
Page16

スライド 16

2.2 I2Cの概要 通信フレーム ST Slave Address W ACK DATA ACK SP (7bit) (1bit)(1bit) (8bit) (1bit) 0 0 0 :マスタからスレーブ :スレーブからマスタ スタートコンディション(ST) マスタからスレーブに通信開始を通知するためのビットで、SCLがHighのときにSDAをLowに することで発行されます。 スレーブアドレス(Slave Address) 通信相手のスレーブを指定するためのアドレスで、これが一致していないと通信を開始することが 出来ません。 16
Page17

スライド 17

2.2 I2Cの概要 通信フレーム ST Slave Address W ACK DATA ACK SP (7bit) (1bit)(1bit) (8bit) (1bit) 0 0 0 :マスタからスレーブ :スレーブからマスタ ライト/リード(W/R) マスタ側がスレーブに対して、ライト/リードを指定するためのビットです。 ACK/NACK 通信相手に対して通信状態を通知するためのビットで、正常に通信できた場合など肯定的な 応答はACK:0、正常に通信できなかった場合など否定的な応答はNACK:1で返答します。 17
Page18

スライド 18

2.2 I2Cの概要 通信フレーム ST Slave Address W ACK DATA ACK SP (7bit) (1bit)(1bit) (8bit) (1bit) 0 0 0 :マスタからスレーブ :スレーブからマスタ DATA マスタが送受信するための8bitのデータとして使用されます。 ストップコンディション(SP) マスタからスレーブに通信終了を通知するためのビットで、SCLがHighのときにSDAがHighに することで発行されます。 18
Page19

スライド 19

2.2 I2Cの概要 リードアクセス(Slave Address + R) 1. マスタがスレーブに対して通信開始の合図としてスタートコンディションを発行します。 2. 通信が開始するとマスタから通信対象のスレーブと通信方向を指定するために 「スレーブアドレス + リード」が送信され、 対象のスレーブがACKを返すことでデータ通信が行えるようになります。 NACKの場合は通信を行うことは出来ません。 3. データ通信では、「スレーブがデータを送信」 ⇒ 「マスタがACK/NACKで応答」を繰り返します。 4. マスタが通信を終了したい場合には、 スレーブからのデータ送信に対してNACKで応答し、ストップコンディションを発行します。 最終読出しであることをスレーブに伝えるためにNACKで応答 ST Slave Address R ACK DATA NACK SP (7bit) (1bit)(1bit) (8bit) (1bit) 1 0 1 :マスタからスレーブ :スレーブからマスタ 19
Page20

スライド 20

2.2 I2Cの概要 ライトアクセス(Slave Address + W) 1. マスタがスレーブに対して通信開始の合図としてスタートコンディションを発行します。 2. 通信が開始するとマスタから通信対象のスレーブと通信方向を指定するために、 「スレーブアドレス + ライト」が送信され、対象のスレーブがACKを返すことで、 データ通信が行えるようになります。NACKの場合は通信を行うことが出来ません。 3. データ通信では「マスタがデータを送信」⇒「スレーブがACK/NACKで応答」を繰り返します。 4. 通信終了時はマスタがスレーブに対してストップコンディションを発行します。 ST Slave Address W ACK DATA ACK SP (7bit) (1bit)(1bit) (8bit) (1bit) 0 0 0 :マスタからスレーブ :スレーブからマスタ 20