LTspiceでバンドギャップリファレンス(BGR)生成回路をシミュレーションしてみる

LTspice

関連記事 LTspiceの記事一覧
関連記事 PSpiceの記事一覧

LTspiceを使って、DC/DCコンバータやリニアレギュレータのシミュレーションをしてきましたが、バンドギャップリファレンス(参照電圧、基準電圧)生成回路は電源部品で代用していました。

なので、今回はバンドギャップリファレンス生成回路をLTspiceで作ってシミュレーションしてみたいと思います。

今回もこちらの本を参考にさせていただきました。

CMOSアナログ/ディジタルIC設計の基礎?CMOS回路はSPICEを使ってトランジスタでこうつくる (半導体シリーズ)

新品価格
¥2,420から
(2020/5/10 21:14時点)

スポンサーリンク

バンドギャップリファレンスとは

バンドギャップリファレンスは、基準電圧とか参照電圧と呼んでいる場合もあるかと思います。

電源レギュレータICなどで、バンドギャップリファレンス回路で生成した電圧は基準電圧となります。

電源レギュレータICに「3.3Vを出力して」とお願いしても、「3.3Vって何ですか?」となる。

なので、ICの中で基準電圧をバンドギャップリファレンス回路で生成して、電源レギュレータICには「基準電圧と出力電圧の差分を計算して」とお願いします。

すると、電源レギュレータICは差分を計算して、その差分でトランジスタを制御することで、出力電圧を調整してくれます。

上の図で言うと、V2が基準電圧(参照電圧という表記になっているけど)です。

U1のオペアンプが、フィードバック抵抗で分圧した出力電圧と基準電圧の差分を出して、トランジスタを制御しています。

出力電圧が理想な電圧になると、オペアンプU1の+端子とー端子の電圧は等しくなります。

関連記事 LTspiceでリニアレギュレータの動作を理解する

理想的なバンドギャップリファレンス

理想的なバンドギャップリファレンスは、温度が変わっても入力電圧も変わっても、常に一定値であることです。

温度は周辺温度の変化もあるでしょうし、レギュレータICの自己発熱もあると思います。

入力電圧は、レギュレータICごとに5Vから15Vみたいに決まっていると思います。

バンドギャップリファレンスは、仕様内の温度範囲、入力電圧範囲で常に一定値を出力することが理想です。

現実には、常に一定値を出すことはできないと思いますが、各ICメーカーさんが知恵を絞って理想値を目指していると思います。

「バンドギャップ 特許」とかで検索すると一杯出てきます。

バンドギャップリファレンス生成回路

バンドギャップリファレンスの原理

温度、入力電圧が変わっても常に一定値を出力するバンドギャップリファレンス生成回路はダイオードの順方向電圧を利用するのが基本のようです。

入力電圧の話はとりあえず置いておいて、
ダイオードの順方向電圧Vfは、温度が上昇するにつれ低くなっていきます。

ということは、バンドギャップリファレンス電圧Vbgrを一定に保つためには、以下の式で、温度が上昇してVfが低くなった量と同じだけVxが高くなれば、Vbgrは常に一定値となるはずです。


$$Vbgr = Vf + Vx ・・・ 式1$$

この、温度が上昇するにつれて高くなるVxもダイオードの順方向電圧を利用します。

言葉で説明できないので、LTspiceでシミュレーションしてみます。

確認のためのシミュレーション回路です。

ダイオードの話をしていたのにPNPのバイポーラトランジスタが出現していますが、ベースとコレクタをショートさせているので、これがダイオードになります。
(エミッタはP型で、ベースはN型なので、ダイオードになっている)

この回路の構成は、1個のバイポーラトランジスタに1uAを流すブロックと、8個のバイポーラトランジスタに1uAを流すブロックの2ブロック構成になっています。
それぞれのエミッタ電圧をVbeVbe8としています。

VbeとVbe8はダイオードの順方向電圧です。

この回路で、温度をスイープさせて、VbeとVbe8の電圧をシミュレーションしてみます。

温度のスイープは、”Edit Simulation Command”で、Name of 1st source to sweepに”temp”と入力します。

あとは、何度から何度までシミュレーションするのか、何度ステップでシミュレーションするのかを設定します。

今回は、0.1度ステップで、0度から80度までシミュレーションしてみます。

温度スイープのシミュレーション結果です。横軸が温度、縦軸が電圧です。

緑線がVbe電圧、青線がVbe8電圧です。温度が上がるにつれ、電圧が下がっています。

そして、赤線はVbeからVbe8を引いた電圧です。

温度が上昇するとVbeとVbe8電圧が低くなるのに対し、Vbe-Vbe8は高くなります。

つまり、Vbe&Vbe8とVbe-Vbe8は、逆の温度特性を持っています。

逆の温度特性を持っているので、これを式1のVxに利用します。

これを踏まえて式1を変形します。


$$Vbgr = Vbe + K*(Vbe-Vbe8) ・・・ 式2$$

Kは定数です。

VbeとVbe-Vbe8の傾きは異なるので、それをKで調整します。

ここまで来たら回路検討に移ります。

回路

今回作成した回路で、バンドギャップリファレンス生成の基本的な回路です。

回路についてまとめてみます。

まず、前提条件としてR1=R2にします。

次に、R2とR3の間の電圧ですが、オペアンプU1のイマジナリーショートで+端子と-端子の電圧は等しいのでVbeとなります。

次に電流ですが、R2とR3に流れる電流Iは等しいので。


$$\frac{Vbgr-Vbe}{R2} = \frac{Vbe-Vbe8}{R3} ・・・ 式3$$

式3より、Vbgrは


$$Vbgr = Vbe + \frac{R2}{R3}*(Vbe-Vbe8) ・・・ 式4$$

式2と式4を比較すると、


$$K = \frac{R2}{R3} ・・・ 式5$$

となりました。

つまり、R2とR3の抵抗比を変えることで、Vbgrの特性が決まります。

抵抗値の決定

抵抗値は計算でざっくりと決めて、あとはシミュレーションで微調整するのが良いようです。

先ほどの温度スイープは1uAでシミュレーションしたので、抵抗に流す電流は1uAとします。

すると抵抗R1(=R2)は、


$$R1 = \frac{Vbgr-Vbe}{1uA} ・・・ 式6$$

となります。

Vbeは、温度スイープのシミュレーション結果から、ざっくりVbe=600mVとします。

そして、難しい話で私は理解できていませんが、Vbgrは=1.2Vくらいのようです。

1.2Vの理由は一番上で紹介している書籍でも紹介しているので、興味ある方は参考にしてください。

そして、R1ですが、


$$R1 = \frac{1.2V-0.6V}{1uA} = 600kΩ$$

となります。

同じく温度スイープのシミュレーション結果から、VbeとVbe-Vbe8はざっくりと10倍くらいの差があるので、K=10とすると、R3=60kΩとなります。

ざっくりと抵抗値がきまったので、シミュレーションしてみます。

シミュレーション結果

温度スイープ

0度から80度での温度スイープシミュレーション結果です。

緑線は、計算で求めたR1=R2=600kΩ、R3=60kΩでの結果です。
温度上昇に対して負の勾配で、最高値と最低値の差が9mVでした。

青線はR3を微調整してシミュレーションを繰り返し、R3=56.6kΩとしたときの結果です。
凸型となり、差分も1mVになりました。

入力電圧スイープ

入力電圧を3Vから6Vまでスイープさせてみました。

この回路で入力電圧はオペアンプの電源電圧に使っているだけなので、あまり意味のないシミュレーション結果かもしれませんが。

入力電圧が高くなると、バンドギャップリファレンス電圧も高くなっていますが、ほぼ変化のない結果でした。

まとめ

LTspiceでバンドギャップリファレンス生成回路をシミュレーションし、最高値と最低値の差は1mVとなりました。

実際のレギュレータICだとどれくらいの誤差が出てるのかわからないので、1mVが良いか悪いかわかりませんが、バンドギャップリファレンス生成回路の原理をほどほどに理解できたので良かったです。

関連記事

関連記事 LTspiceの記事一覧
関連記事 PSpiceの記事一覧

タイトルとURLをコピーしました