異なる電圧レベル間でI2C その2

異なる電圧レベル間でI2Cコメント欄にてhatoさんにN-ch MOSFETを使う方法を紹介していただきました。

前のFETを用いたUSB機器の電池/Vbus切り替え回路の記事ではP-ch MOSFETを同じ理屈で使った回路を紹介しました。
今回は、異なる電圧レベル間でI2Cのバイポーラトランジスタを用いたI2Cレベルシフト回路とコメント欄で紹介していただいたNch MOSFETを使った回路をLTspiceでシミュレーションしてみました。

まずはバイポーラトランジスタを用いた方。




トランジスタのシミュレーションモデルは、数理設計研究所のSPICE MODEL LIBRARYの2SC1815を使いました。
I2C機器の側のモデルは、代わりにスリーステート出力の74HC125モデルを使いました。これはYahoo! Tech Groups - LTspice/SwitcherCAD IIIで公開されているものです。

入力クロックは400kHzで、5V側から入力する場合をシミュレーションしました。






3.3Vラインに大きなアンダーシュートが起きていますが、1pFのコンデンサを入れるときれいになります。






特に対策をしなくても1pFぐらいはICの端子の寄生容量として存在するので、実際の波形はおそらくきれいになると思います。

次にMOSFETの方。




NMOSのモデルは、何を使っていいのか分からなかったのでLTspice付属のBSS123を使いました。サイエンス・アイ新書 電子回路の基礎のキソ準拠ということで・・・






こちらも希望どおりの動作をしています。

これら二つの回路は、形こそよく似ていますが実は結構違う回路です。(これは微妙な言い回しですね・・・)
バイポーラトランジスタ版の回路は、ベースに対してエミッタとコレクタが対称な動作をしています。
これに対してMOSFET版の回路は、あくまでQ1がONするのはゲート-ソース間電圧がしきい値に達するからです。5V側(ドレイン側)を制御したときにもMOSFETがONするのはボディダイオードを通じてソースの電位が下がるためです。

このためバイポーラ版の回路は、コレクタとエミッタを入れ替えても動作します。エミッタを低電圧側にしているのはエミッタ-ベース間の耐圧が低いためです。
これに対して、MOSFET版はソースとドレインを入れ替えると動作しません。5Vから3.3Vへボディダイオードを通じて電流が流れてしまうからです。

さてシミュレーション結果からはどちらも問題なく動作していますが、バイポーラトランジスタ版の方はリバースhFE(βR)が気になるのでMOSFET版の方がオススメですね。フィリップス社のI2C仕様書(PDF,784KB)で紹介されているわけでもありますし。


tag: LTspice レベルシフト インターフェース I2C 

comment

Secret

メーカの回路

Re: メーカの回路

ノンノさん、こんにちは。
いろいろ付いてますが、本質的には同じ回路です。

No title

素晴らしいです。
すごくありがとうございます。

Re: No title

若いエンジニアさん、こんにちは。

お褒めにあずかり光栄です。
私のブログはこの記事を含め原理的な話も多いので、もしも実際に使うつもりでしたら動作速度など気をつけてください。
FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRScilabmachikaneyamaKKRPSoCCPAOPアンプPIC強磁性モンテカルロ解析常微分方程式トランジスタodeインターフェース状態密度DOSecalj定電流PDS5022スイッチング回路半導体シェルスクリプト乱数レベルシフトHP6632A温度解析ブレッドボードI2CR6452A分散関係トランジスタ技術可変抵抗確率論数値積分反強磁性セミナー非線形方程式ソルバ絶縁バンドギャップ熱設計偏微分方程式バンド構造GW近似カオス三端子レギュレータLEDフォトカプラシュミットトリガISO-I2CA/DコンバータLM358USBカレントミラーTL431マフィンティン半径PC817C数値微分アナログスイッチ発振回路サーボ直流動作点解析74HC40532ちゃんねる標準ロジックチョッパアンプLDAアセンブラFFTbzqltyイジング模型ブラべ格子開発環境補間量子力学電子負荷BSchパラメトリック解析単振り子基本並進ベクトル熱伝導繰り返しGGAMaximaTLP621ewidthSMP相対論抵抗位相図ランダムウォークスピン軌道相互作用六方最密充填構造不規則合金FETコバルト失敗談QSGWcygwinスレーターポーリング曲線スイッチト・キャパシタラプラス方程式gfortranキュリー温度状態方程式条件分岐格子比熱TLP552LM555TLP521三角波NE555過渡解析FXA-7020ZRWriter509テスタ詰め回路MCUマントルダイヤモンドQNAPデータロガーガイガー管自動計測UPS井戸型ポテンシャルawk第一原理計算仮想結晶近似ブラウン運動差し込みグラフ平均場近似fsolve起電力熱力学OpenMPスーパーセル固有値問題最適化最小値VCAシュレディンガー方程式VESTAubuntu最大値面心立方構造PGAOPA2277L10構造非線型方程式ソルバ2SC1815fccフェルミ面等高線ジバニャン方程式ヒストグラム確率論マテリアルデザイン正規分布結晶磁気異方性interp1フィルタ初期値ウィグナーザイツ胞c/aルチル構造岩塩構造スワップ領域リジッドバンド模型edeltBaOウルツ鉱構造重積分SIC二相共存ZnOquantumESPRESSOCapSensegnuplotmultiplot全エネルギー固定スピンモーメントFSM合金ノコギリ波フォノンデバイ模型ハーフメタル半金属TeXifortTS-110不規則局所モーメントTS-112等価回路モデルパラメータ・モデルヒストグラムExcel円周率GimpトラックボールPC直流解析入出力文字列マンデルブロ集合キーボードフラクタル化学反応三次元Realforce縮退日本語最小二乗法関数フィッティング疎行列シンボル線種ナイキスト線図陰解法負帰還安定性熱拡散方程式EAGLECrank-Nicolson法連立一次方程式P-10クーロン散乱Ubuntu境界条件MBEHiLAPW軸ラベルトランスCK1026MAS830L凡例PIC16F785LMC662AACircuit両対数グラフ片対数グラフグラフの分割specx.f

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ