このページの目次

レベル標準とインターフェース物理層

レベル標準が必要な理由

2つのチップ間で通信する場合、以下の点を合意する必要があります。どの電圧を「1」と見なすか?どの電圧を「0」と見なすか?駆動能力はどの程度か?ノイズマージンはどの程度か?これらが一致しない場合、通信失敗やチップの焼損を引き起こす可能性があります。


シングルエンド信号

TTL (トランジスタ・トランジスタ・ロジック)

最も歴史のある標準 (74シリーズ)

Vcc: 5V ± 10%
VOH > 2.4V, VOL < 0.4V
VIH > 2.0V, VIL < 0.8V

ノイズマージンは約 0.4V (小さい!)
出力駆動: ソース電流は弱い (~0.4mA)、シンク電流は強い (~16mA)

CMOSに置き換えられつつあるが、3.3V版はまだ一般的

CMOS (相補型金属酸化膜半導体)

現代の主流ロジック・レベル

Vcc = 5V:
  VOH > Vcc-0.1V, VOL < 0.1V  (ほぼレール・ツー・レール!)
  VIH > 0.7×Vcc, VIL < 0.3×Vcc

Vcc = 3.3V:
  VIH > 2.0V, VIL < 0.8V

Vcc = 1.8V:
  VIH > 0.65×Vcc, VIL < 0.35×Vcc

ノイズマージンが大きい → 耐干渉性に優れる
静态消費電力が極めて低い (切り替え時のみ電力を消費)

注意: 3.3V CMOSの出力は 5V TTLの入力を駆動可能 (VIH=2.0V)
      しかし、5Vの出力を 3.3V CMOSの入力に直接接続することはできない (焼損またはラッチアップの原因となる)

差動信号

差動信号の利点

シングルエンド vs 差動: 接地参照線が1本減ることで、耐干渉性と高速化を実現

シングルエンド 接地参照が必要 信号線 GND 参照 (共通接地必須)

差動 接地参照不要 正相線 逆相線 (GND参照なし!)

差動の利点 ✓ 同相ノイズの相殺 2本の線に同じ干渉が生じ、差は変わらない ✓ グランドループ問題なし ✓ 高速伝送 低スイング ✓ EMI が小さい 正相と逆相の電流が相殺され、外部放射が少ない

核心: 差動信号の2線には同相干渉が同じく生じるため、受信側で差分を取ることで相殺できる——共通接地参照が不要であるため、耐干渉性に優れ、高速化が可能で、EMIが低い。

LVDS (低電圧差動信号)

スイング: ~350mV (差動)
コモンモード電圧: ~1.2V
速度: 数百 Mbps ~ 数 Gbps

終端: 100Ω 差動終端抵抗
消費電力: 極めて低い (定電流駆動 ~3.5mA)

用途: ディスプレイ (FPD-Link)、カメラ (MIPI D-PHY)、バックプレーン

RS-232 — 古典的なシリアル通信

シングルエンド、フルデュプレックス
ロジック: 1 = -3~-15V, 0 = +3~+15V
      (注意: 負電圧が 1 である!)
駆動能力: 長距離駆動 (~15m)

電圧が高く、ノイズマージンが大きいものの、速度は遅い (≤115.2kbps)
レベル変換: MAX232 (TTL ↔ RS-232)

DB9 ピン配置:
  Pin2: RXD (受信)
  Pin3: TXD (送信)
  Pin5: GND

RS-485 — 産業用通信の主力

差動、ハーフデュプレックスまたはフルデュプレックス
スイング: > 1.5V (差動)
コモンモード範囲: -7V ~ +12V (広い! 接地電位差を許容)

距離: 最大 1200m (低速度時)
速度: 最大 ~50Mbps (短距離時)
マルチドロップ: 1本のバスに 32〜256 個のノードを接続可能

終端: 120Ω 差動終端抵抗 (両端に1つずつ)

用途: MODBUS, PROFIBUS, DMX512
チップ: MAX485, SN75176

CAN バス

差動、マルチマスター、優先度によるアービトレーション
顕在化 (0): CANH-CANL > 0.9V
非顕在化 (1): CANH-CANL ≈ 0V

速度: 最大 1Mbps (CAN FD では 8Mbps まで可能)
耐故障性: 極めて高い (エラー検出 + 自動再送信 + 故障隔離)

終端: 120Ω を両端に1つずつ

用途: 自動車 (OBD-II)、産業制御、ロボット

オープンドレイン / オープンコレクタ (Open-Drain / Open-Collector)

          Vpullup
             │
             Rpullup
             │
内部          ├── SDA/信号線
┌────┐        │
│    │───┐   │
│ GPIO│  NMOS │
│    │───┘   │
└────┘        │
             GND

NMOS ON  → 低レベルにプル (駆動能力が強い)
NMOS OFF → 上拉抵抗によって高レベルに引き上げられる (駆動能力が弱い)

用途:
- I2C (マルチマスター共有バス)
- ワイヤードAND (Wire-AND): 複数のオープンドレイン出力を直接接続可能。いずれかがバスを低レベルにすればバスは低レベルになる
- レベル変換: Vpullup を変更するだけで出力高レベル電圧を変更可能

レベル変換

シナリオ

3.3V MCU と 5V 周辺機器の接続 — 最も一般的!
1.8V センサ と 3.3V MCU の接続

解決策

1. 抵抗分圧 (降圧のみ): 3.3→1.8, 5→3.3
   ──┤├───┬── 単純だが上拉が弱く、速度が遅い
          ├── 信号
   ──┤├───┘

2. 専用レベル変換チップ:
   TXB0104 (自動方向、低速)
   TXS0108E (自動方向、オープンドレイン互換)
   SN74LVC1T45 (方向制御、高速)

3. MOSFET 方式 (双方向、低速):
         VCC_LOW     VCC_HIGH
            │           │
            Rp          Rp
            │           │
   LOW ─────┤ S    D ├── HIGH
            │  ──┬──  │
            │    │G   │
            │    │    │
           GND  GND  GND

一般的なレベルの早見表

標準差動/シングルエンドスイング最高速度距離用途
TTL 5Vシングルエンド0~5V~50MHzPCB従来のデジタル
CMOS 3.3Vシングルエンド0~3.3V~100MHzPCB主流のデジタル
CMOS 1.8Vシングルエンド0~1.8V~200MHzPCB低消費電力
LVDS差動±350mVGbps~10mディスプレイ/高速
RS-232シングルエンド±12V115kbps15mデバッグ用シリアル
RS-485差動>1.5V50Mbps1200m産業用
CAN差動>0.9V8Mbps~1km自動車
USB 2.0差動±400mV480Mbps5mPC周辺機器

キーワード: TTL, CMOS, LVDS, 差動信号, オープンドレイン, RS-232, RS-485, CAN, レベル変換