ハードウェア設計者として何十年も生計を立ててきましたが、この回路がレベル変換だと気づきませんでした。
恥しい限りです。
ちょっと前にZYBOのZ7-10というZynqというXilinxのFPGAが載ったボードを購入し、いじってみよう!って記事を書いてました。
その中でラズパイカメラを接続しようとしててこんな記事を書きました。
電圧レベルが違うんで変換が必要と。
なので、その後AliExpressで変換ICや基板買ったりとしてました。
勘違いした回路はこちら。ラズパイカメラの回路図です。
このQ1-1/2のFETを電源が来てないときは信号が行かないようにするアナログスイッチ的なものかと思い込んでました。
で、その後色々とググってもZYBOの電圧変換をしたなんてどこにも見つからないのでじっくりと見て気づきました。
これもレベル変換回路だと。。。
業務でレベル変換回路というとTIのICとかを何も考えずに使ったりしてましたので、こういう基本的な回路に疎くなっていたのかもしれません。大反省です。
というわけで動作の説明です。
まずこの使われているFETはnMOSです。寄生ダイオードも含めてこう書けます。
回路をこれで書き直すと
ですね。
で、信号はI2Cなので双方向で考えないといけません。
まずは→向きで3.3Vから1.8Vへの変換です。
信号がH(3.3V)の時。
FETはOFFとなるのでプルアップの1.8V電源が生きることになります。
信号はL(0V)の時。
FETがOnとなりますので0Vがそのまま伝搬。
これで右方向に関しては問題なくレベル変換できることになります。
さて、次は左方向である1.8Vから3.3Vへの変換。
信号がH(1.8V)の時。
FETはOffとなるので、プルアップの3.3V電源となります。
信号がL(0V)の時。
FETがOnとなるので0Vがそのまま伝搬。
これで左方向に関しても問題なくレベル変換できることになります。
ただ、実際にはI2C用の変換ICを使うことが多いんですよね。
速度なのか、よく覚えていませんが、I2C周りって意外とトラブるんですよね。なので動いて問題の無かった回路をそのまま流用し続けるって感じになってるんでしょうかね。
コメント