このページの目次
レベル標準とインターフェース物理層
レベル標準が必要な理由
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の入力に直接接続することはできない (焼損またはラッチアップの原因となる)
差動信号
差動信号の利点
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 | ~50MHz | PCB | 従来のデジタル |
| CMOS 3.3V | シングルエンド | 0~3.3V | ~100MHz | PCB | 主流のデジタル |
| CMOS 1.8V | シングルエンド | 0~1.8V | ~200MHz | PCB | 低消費電力 |
| LVDS | 差動 | ±350mV | Gbps | ~10m | ディスプレイ/高速 |
| RS-232 | シングルエンド | ±12V | 115kbps | 15m | デバッグ用シリアル |
| RS-485 | 差動 | >1.5V | 50Mbps | 1200m | 産業用 |
| CAN | 差動 | >0.9V | 8Mbps | ~1km | 自動車 |
| USB 2.0 | 差動 | ±400mV | 480Mbps | 5m | PC周辺機器 |
キーワード: TTL, CMOS, LVDS, 差動信号, オープンドレイン, RS-232, RS-485, CAN, レベル変換