qshinoの日記

Powershell関係と徒然なこと

レベル変換

I2Cの場合

変換チップ等

http://akizukidenshi.com/catalog/g/gM-05452/

GPIO等のレベルが異なる時

それぞれが5vと3.3vの場合。

  1. 5v to 3.3v
  2. 3.3v to 5v

電圧を下げる時

5v out to 3.3v in

5v out - 10kΩ -+--- 3.3v in
               |
              20kΩ --- GND

Vh@in = 5v * 20kΩ/(10k+20k) = 3.33...v

Out Current = 5v/(10kΩ+20kΩ) = 0.16mA

電圧を上げる時

3.3v out to 5v in

電圧を上げる側は考える事がいくつかある。

出力側に5v耐性があれば、Open drain 出力に5vプルアップで簡単に出来る。

しかし、5v耐性がない場合、5v耐性のあるトランジスタ、ゲート等の外部回路が必要。

            5v
             |
           30kΩ
             +--------  5v in
             |(c)
3.3v out -- TR
             |(e)
           GND

論理が反転するのはご愛嬌。

トランジスタを使うぐらいなら、レベルシフタの方が良いかもしれない。

或いは、5v耐性のあるゲートを使って5vにプルアップとか。