Superb Garbages 2

千野純一(chinorin)のはてなダイアリーの続きです。

レベルシフタのメモ

・レベルシフタというのは、5V系の回路と3.3V系の回路を接続したいときに使うやつ。なんかやるたびに調べてGはどの足だ? とかやるのがだるいのでよく使うのをまとめておく。

・ちなみに3V3っていうのは3.3Vのこと。電子工学界隈では、小数点の代わりに記号を使うという奇妙な風習がある。

5V→3.3V(単方向)

・抵抗分圧でおk。例えば [OUT/5V]-[R1.8kΩ]-[IN/3V3]-[R3.3kΩ]-[GND]

・あるいはNchMOSFETで双方向と同じように組む。5Vの方のプルアップは不要。

・レベルシフトしたい線が多いときは74HC4050*1の出番だ。6回路バッファで5Vトレラント*2。出力は電源電圧になるので、Vccを3.3Vとすると、5Vの信号を入力しても出力は3.3Vとなる。

・噂によると10kΩ抵抗介して直結でも意外と平気らしいんだけど、あんまり試したくはない。

3.3V→5V(単方向)

・HIGHのスレッショルドは2.7Vとかなのでそのまま入れておkだが、万が一5V側の内部プルアップがあったら怖いので念のため10kΩ抵抗くらいは入れとけという話。問題があるようなら以下を検討する。

  1. ダイオードクランプ方式:
    [OUT/3V3]-[←D]-[5Vでプルアップ]-[IN/5V]
    Dはショットキーバリアダイオードが望ましい。3.3V側の出力ピンに5V(からダイオードのVFを引いた電圧)が入ってしまうんだけど平気らしい。これもあんまり信用したくねえなあ。
  2. NchMOSFETで双方向と同じように組む。3.3Vの方のプルアップは不要。
  3. それ専用みたいなICを使う。74HCT125(4回路バッファ)、74LVC245(トランシーバ)、TXB0108(レベルシフタ)等

トランジスタでもできるけど必ず反転するので省略。

5V←→3.3V(双方向)

・例えばNchMOSFETのBSS138などを使う。20個100円で売っておるな。

・足はこの形の通りに生えてる。一応SOT-23/0.95mmピッチなんだけどG~Sは足2本分の1.9mmもあるので、強引に2.54mmの普通のユニバーサル基板にそのまま実装できる模様。

・しかし、双方向ってことはつまり半二重である。今時自力でそんな面倒なことやらないだろうし、まあほとんどI2C専用って感じみたいよ。


・ま、他に方法はいくらでもあると思うけど、自分用のメモなので。まあこんなもんでしょう。

*1:TC4050Bは同じく5Vトレラントのようだが、他の4050については不明なのでデータシート参照のこと。

*2:トレラント:入力信号の電圧の上限が電源電圧に依存しないという特性のこと。普通は電源が3.3VのICに5Vの信号を入れてはいけない。