電子回路 - レベル変換
概要
デジタル回路において、レベル変換とは異なる電圧で動作する電子デバイス間で信号を安全かつ正確に伝達するための技術である。
例えば、3.3[V]で動作するマイコンと5[V]で動作するセンサを接続する場合、これらの異なる電圧レベルを適切に変換する必要がある。
レベル変換の必要性は、主にデバイスの保護と正確な信号伝達という2つの観点から生じている。
例えば、3.3[V]のデバイスに5[V]の信号を直接入力する場合、過電圧によってデバイスが損傷する可能性がある。
また、電圧が低すぎる場合は、信号を正しく認識できない可能性がある。
レベル変換の方式には、大きく分けて単方向と双方向がある。
- 単方向のレベル変換
- 信号が一方向にのみ流れる場合に使用され、簡単な回路で実現できる。
- 電圧分圧、トランジスタ、FETを使用する方法がある。
- 双方向通信 (I2C通信、SPI通信等)
- データが両方向に流れる必要があるため、複雑なレベル変換回路が必要となる。
- PCA9306のような専用ICは、このような双方向通信に対応しており、プルアップ抵抗の自動調整等も行う。
応用例として、IoTデバイスの開発では様々な電圧のセンサやディスプレイを接続する必要がある。
例えば、1.8[V]で動作する最新のセンサと3.3[V]で動作するマイコン、5[V]で動作する従来のディスプレイを1つのシステムで使用する場合、適切なレベル変換が不可欠である。
また、レベル変換を行う場合は信号の品質も重要である。
高速なデジタル信号の場合、信号の立ち上がり時間や立ち下がり時間が重要になり、これらが劣化すると通信エラーの原因となるため、
使用する周波数や必要な信号品質に応じて、適切なレベル変換方式を選択する必要がある。
PCA9306
PCA9306 IC
PCA9306は、NXP Semiconductors(旧Philips)が製造するI2C通信向け双方向電圧レベル変換ICモジュールである。
1.8[V]、3.3[V]、5[V]の電圧レベルの間でレベル変換が行われる。
- 異なる電圧のI2C機器間の通信を可能にするレベル変換IC
- 両方向 (双方向) の通信に対応
- 対応電圧範囲
- VREF1側
- 1.6[V]~3.6[V]
- VREF2側
- 1.8[V]~5.5[V]
- VREF1側
- I2C通信の2本の信号線 (SCL、SDA) を変換可能
- 動作速度
- 最大2[MHz]
PCA9306は、以下に示すような用途で特に使用されている。
- 3.3[V]動作のマイコンと5[V]動作のI2Cセンサを接続する場合
- 1.8[V]動作のデバイスと3.3[V]動作のデバイスを接続する場合
- Raspberry PiやArduino等で、異なる電圧のI2Cデバイスを使用する場合
SCL1、SDA1側が低電圧側、SCL2、SDA2側が高電圧側となる。
例えば、VREF1に3.3[V]の電圧を加えて、SCL1、SDA1は3.3[V]のデバイスのSCL、SDAの信号線を接続して、VREF2に5[V]の電圧を加えて、SCL2、SDA2は5[V]のデバイスのSCL、SDAを接続する。
また、I2C通信の信号は電源電圧へプルアップして使用する。
下図の回路は、PCA9306のデータシートから抜粋したもので、双方向のレベル変換を行う回路である。
規定 | 電圧が5[V]の場合 | 電圧が3.3[V]の場合 | |
---|---|---|---|
LOW (Vil) | 0.3 * Vdd 以下 | 1.5[V]以下 | 0.99[V]以下 |
HIGH (Vih) | 0.7 * Vdd 以上 | 3.5[V]以上 | 2.31[V]以上 |
AE-PCA9306モジュール (秋月電子)
秋月電子のAE-PCA9306モジュールは、プルアップ抵抗やコンデンサも実装されているため、各電源とI2Cのバスを接続するだけで使用可能である。
また、AE-PCA9306モジュールの裏面には、J1〜J5のジャンパがあり、全て接続された状態になっている。
例えば、J1のジャンパをカットする場合、レベル変換のイネーブルの制御を行うことができる。
J2〜J5のジャンパはモジュールのプルアップ抵抗と接続しており、モジュール外にプルアップ抵抗を配置する場合、これらのジャンパをカットする。