20260627220553 カレントミラー回路について勉強してみる
TLDR
- この記事はディスクリートでカレントミラーを自作してみたい人に向けて書かれている。IC設計ではない。
- 作るならバイポーラトランジスタを使う。JFETやMOSFETはやめよう。
- 色々な回路方式があるが、基本のカレントミラーにエミッタ抵抗を付けたものをトランジスタアレイで作るのが良さそう
- シミュレーションの範囲だと100MHzくらいまで使えそう
- BJTの場合、 ミラーできる電流の範囲は 0.1mA - 10mA くらい。
基本のカレントミラー
こんなやつ。 R1に流れる電流 = Q2のコレクタに流れる電流 になる。

解析の仕方はこんな感じ。

- Q1のベース・エミッタ間は の電圧がかかっている
- R1には の電圧がかかっている
- ゆえに の電流が に流れている
- ところでトランジスタは(特性と温度がそろっていれば) が同じならコレクタ電流は同じはず。 (下図参照。これは2sc1815のもの)

ゆえに のコレクタ側には と同じ電流が流れる。 だからカレントミラーという。
この図のように、NPNで構成すると電流を吸い込む動作をする。
PNPだとこうなって、Q16のコレクタから定電流が吐き出される。これも結構使う。能動負荷として使いたい場合に出てきがち。

ほんとか?
というと、微妙にそうではない。
イマイチ、ミラーできてない
基本のカレントミラーをで 2次側の電圧を と固定、 を変化させることで1次側の入力電流を変えてみた。結構ズレている。

なんでか?というと、 「 が同じならコレクタ電流は同じ」はおおむね正しいが、実際は微妙にズレている。上のデータシートのグラフも と条件が付いている。
下図はLTspiceで2N2222の を、いくつかの についてプロットしてみたもの。X軸は 。

コレクタ電流は完全に水平な直線(=一定)ではなく、ちょっと傾きがある。「ちょっと傾きがある」地帯のことを活性領域という。MOSFETだとこの地帯を飽和領域という。謎。 20260719190123 トランジスタとMOSFETで飽和領域が逆なのはなぜ
なんで傾いてるの? の詳細は 20260719184519 アーリー効果 のため。 Q1とQ2の を揃えれば同じになるが、その場合2次側の電源電圧は常に0.7V程度である必要があり、それだと使えない場面がほとんど。
ベース電流が流れる分ズレる
抵抗に流れている、本来のミラーしたい電流は なのだが、これはQ1とQ2のベースを駆動するための電流にも分流されている。
つまり、 という関係になっている。 このベース電流2つ分、ズレることになる。
温度でズレる
Q2 には一般にQ1より高めの電圧がかかる。そうするとQ2の発熱量が増え、温度が上がると も増加してしまう。
問題解決方法いろいろ
エミッタ抵抗を追加
こんな感じ。

20260720223650 エミッタ接地回路 と同じ改善方法ともいえる。
- Q2の電流が増える
- 抵抗での電圧降下が増える
- Q2の が減る
- Q2の電流が減る
という負帰還が働いて、ズレが修正される。減った場合も逆順でズレが戻る方向に動く。
抵抗の誤差が電流の誤差に効いてくるので精度の高い抵抗を使うのがよい。 抵抗値を大きくしていくと電圧降下が大きくなるので電源電圧を高くする必要がある。 電流を設定している抵抗値より小さ目じゃないとうまく動かないっぽい。全部1kとかにすると直線ではなくなる。 この100オームの時だとこんな感じ。 なかなか改善されている。

ウィルソンカレントミラー
このような構成。


動作の仕組みはこんな感じ。
- Q5の が増える
- Q4の も増える
- が増える
- Q3の も増える
- のため、 Q5の が減る
- Q5の が減る
という動きになる。2 → 3 の因果関係が微妙に逆っぽいが、ハイブリッド 形等価回路でBとCをショートさせて、 が増えた状況と考えると、 の電流が増えてそこでの電圧降下(=) も増える、ということのようだ。 等価回路はこちらを参照 能動領域バイポーラトランジスタの等価回路
こちらのシミュレーションはこんな感じ。かなり改善されている。

カスコードカレントミラー
カレントミラーを2段にしたもの。

こうするとVBEが4つとも同じなら、Q10の が になるため、アーリー効果がキャンセルされる。

図のように、 となっているので、全 が同じなら、 となるため。
この回路の場合、1次側はベース電流を Q12, Q9の2個流す必要があるため、ベース電流によるズレが効いてきてしまう。

高精度ウィルソンカレントミラー
こんな感じで互い違いの2段にカレントミラーを積んだ方式。

下段のVBEとVCが同じ
下段のQ19のとQ20のが同じにるため、アーリー効果による特性の差はキャンセルされている。

となっているので、全部の が同じなら、 となる。
上段のアーリー効果は負帰還でキャンセル
こちらも結果的にアーリー効果がキャンセルされるが、ウィルソンカレントミラーの時と同様、電流で負帰還がかかっている。

- アーリー効果でが増える方向にズレる
- の比例関係にあるの で が増える
- の関係にあるので が減る。 という依存関係もあるので、 も減っている。
- が減る
- が減っているので、 も減る(理由はウィルソンカレントミラーの所の 2→3 の因果関係と同じ)
- が減る結果、 も減る
- が減るためにはが減っていないと電流の辻褄が合わない。ここが減る
という負帰還になっている。
シミュレーションの結果はこんな感じ。

カレントミラーの使えるレンジ
BJTの場合、 0.1mA - 10mA くらい。
hfeの影響
0.1mA以下は多くのデータシートで表示されていない。下図は2SC1815だけど30mAあたりで が一定でなくなってしまう。

小信号出力抵抗が出力電流によって変化する
上の方にある、 を、いくつかの でプロットしたグラフは良く見ると が増えると(= が増えると) 傾きが大きくなっている。このグラフは負のどこかで1点に交わる。 この電圧をアーリー電圧という。デバイスにより一定で、それはどこか1点で交わる。 詳しくは アーリー効果とは?メカニズムとアーリー電圧の求め方 出力電流はその意味では小さければ小さいほど水平に近くなる(=定電流性が高い=小信号出力抵抗=インピーダンスが高い)。つまり良くなる。 逆に電流を大きくしていくとインピーダンスが下がってしまい、精度も下がる。何に使うのか次第ではあるが、一般には小さ目で使うのが良さそう。
小信号出力抵抗は、アーリー電圧が100Vとして、
- の場合、
- の場合、
小信号出力抵抗はハイブリッド形だとと表す。
発熱
電流をたくさん流すと発熱する問題もある。発熱すると特性が変わるので、あまり発熱しない範囲で使う。 ということで10mAくらい。
カレントミラーの出力インピーダンス
カレントミラーは何かしらの負荷に接続して、それを定電流でドライブするのに使う。どんな負荷が接続されるか? によってもズレが起こったりする。 出力インピーダンスは正確な用語だけど、「接続する負荷の影響」とかの方がわかりやすいかもしれない。定電流源の場合、出力インピーダンスは高いほど負荷による影響は受けないことに注意。
基本のカレントミラーの場合
出力インピーダンスはトランジスタの小信号出力抵抗そのもの。これがどのくらいか? は上述のように出力電流に依存する。
エミッタ抵抗を追加した場合
2次側のトランジスタをハイブリッド形であらわすと、こうなる。

なぜベースがGNDと見なせるのか? の説明は今は省略。 見なせる。TODO: 20260721134904 ダイオード接続トランジスタの小信号抵抗 ダイオード接続のトランジスタは小さい抵抗と近似される。
ベースがGNDなので、 となるので、
の点に流れ込んだ電流は、 REと の並列抵抗() を通ってGNDへ流れる。 オームの法則により、 との関係は
(4) を (3) に代入すると、
整理すると、
出力インピーダンスは
なので、
を元の合成抵抗に戻して、
こうなる。 つまり、インピーダンスは の大きさによって変わる。 が0なら基本と同じ となる。 が大きくなると 括弧内は に近づいていく( のため)。 ハイブリッド形の定義から、 ゆえ、 最大では と近似される。 ただし、あまりREを大きくするとうまく動作しないっぽい。
カスコード接続の場合
出力インピーダンスは検討してきた中では最大。
計算はハイブリッド形で右半分を作って考えられる。 いずれのトランジスタの も一定の値なので小信号解析ではGNDに接続されていると見なす。

両方GNDに接続されている下のトランジスタの と、それで駆動される電流源は削除すると、下図のようになる。(図の縮尺が一定しなくてうれしくない)

これでioutを求める。上のトランジスタがQ1, 下がQ2とすると、ioutが2つに分かれているので
Q1のベースは0Vなので、ベース電圧は と表せる。最初の式の を入れかえると
点 から出ていく電流は と を通っていずれもGNDへ流れていく。この合成抵抗を とすると、オームの法則により
これを (1) の式に代入してを消去すると
について整理すると
インピーダンスは
となる。 一般に (らしい) ので ** とすると
ハイブリッド形回路の定義から、 なのと、 まだ式にある を無視すると、
さらに なので、
と近似できる。
ウィルソン、高精度ウィルソンの場合
カスコードの半分になる。
こうだったとして解析する。 が定電流源になっている。この方が話がわかりやすいらしい。

前提: 2つのベース電流が等しいとして、 とおく。 また、コレクタ電流も とおく。 バラついてなければ本当っぽい話だ。 hfeも同じじゃないと成立しない。 ここ気にしておきたい。
Q3の誤差電流がベース、エミッタに2等分される
Q3のエミッタでは電流が
という関係を満たしている。
前提から、 を で表すと、
について整理すると
ここでQ1のコレクタに注目する。 の方は一定なので変化の解析時は0A(=開放)と見なす。 そうするとコレクタでの電流の関係は
となる必要がある(KCLより)。 この式を を使ってで表わすと
(5) を (6) に代入すると
は100くらいなので、 は ほぼ1。 そうすると、 (7) は
と近似できる。
トランジスタQ3のエミッタ電流は
という関係がある。ここに (8) を代入すると、
ゆえに
また、
でもある。 出力電流の変化 が発生すると、 Q3の は の半分だけ増え、 は半分だけ減る。減る、というかベースから吹き出すイメージだとわかりやすいかも。
出力インピーダンスの計算

は、1つ上で調べたように の半分が逆向きに流れる。通常のと向きが逆なので注意。
は 定電流源と小信号出力抵抗 で分流されているので、
が成りたっている。 (10) を(11)に代入してを消去すると、
ハイブリッドの定義から、 で、 なので、
にかかっている電圧は だが、 は0とみなせる。 cf. 20260721134904 ダイオード接続トランジスタの小信号抵抗 そうすると、
を (12), (13) 2つの方法で表現できた。それぞれの右辺同士が等しいので、
となる。これを変形して、
がウィルソンの出力インピーダンス。 高精度バージョンで追加されたトランジスタはこの解析にはほとんど影響しない。 cf. 20260721134904 ダイオード接続トランジスタの小信号抵抗 こちらも出力インピーダンスは同じ。
こうすることでベース電流を に減らせる。

ただし、上記の回路単品では、すごくズレる。単純なものと比較しても悪い。

なんでか? というと、
- アーリー効果で2次側の電流は大き目にズレる
- もともとの基本形では、 ほんとか? の所に書いてある 「ベース電流が流れる分ズレる」 の それぞれの 分だけ より少ない電流をミラーしていた(小さい側にズレる) というあたりが大きい。 ゆえに、アーリー効果の影響をキャンセルできる構成の回路に追加することで効果を発揮するイメージだといいのかもしれない。
と思ったのでやってみた。
高精度カレントミラーにベータヘルパー追加

さらにエミッタ抵抗追加


とはいえ、こういう複雑な回路をディスクリートで組んでも部品のバラつきの方が大きく効いてきそう。 あくまで理想の話。
各カレントミラーの周波数特性
結論としてはシミュレーションの範囲では、いずれも100MHzくらいまでは使えそう。
こんな感じにして測定。

基本のやつ

基本のやつ PNP編
NPNとほぼ同じだが軸が変わってしまった。

比較で重ねてみたもの。青がNPN。ホール移動度とかの問題でわずかにPNPの方が周波数特性が低いかもしれない。

エミッタ抵抗付き
ちょっとカットオフが下がった。250MHzくらいから逆に増えていて気になる。

気になったので100GHzくらいまで見てみた。1dBを超えることはない。これはモデルの問題で現実には増えなさそう。

カスコード
周波数が下がってきた。

これも後半が上がってて気になったので100Gまで見てみた。

ウィルソン
ちょっと極を感じる。

高精度ウィルソン
ウィルソンよりわずかにレゾナンス(という言いかたが適切か謎)が増えた。

両方プロットして拡大。青が通常

高精度ウィルソン + ベータヘルパー + エミッタ抵抗
バラツキが無ければ最強のやつ

トレードオフで周波数特性は下がるはず、と予想したがこのシミュレーションの範囲では大して変化なし。青が基本形

バラつき、温度特性をふまえたセレクションガイド
トランジスタアレイを使用可能な場合、ディスクリートで構成した時にどうなるかを調べてみた。単品のトランジスタだと温度が結合しないし、 のバラつきも大きいので、構成するときはアレイを使う。
| トポロジー | 追従性 (1次側→2次側の正確さ) | 出力インピーダンス (Rout) | バラつきの影響 (アレイ熱結合・マッチング) | 温度の影響 (アレイ熱結合時) | 実用性 |
|---|---|---|---|---|---|
| 基本形 | △ 誤差 ( + アーリー効果) | △ | ○ 極小化により数 程度の誤差に収まる | ◎ 熱結合により熱暴走・ドリフトなし | ○ 手軽だが、アレイを使ってもアーリー効果は残る |
| エミッタ抵抗追加 | ○ 誤差 () アーリー効果は抑制 | ○ | ◎ アレイのマッチングと抵抗の降下で完璧 | ◎ 熱結合+局所帰還で極めて安定 | ◎ 少ない素子数で非常に高い精度を出せる |
| カスコード | ○ 誤差 () アーリー効果遮断 | ◎◎ | ○ ループ破綻の危険が消滅 | ◎ トラッキングにより安定 | ○ 動作ヘッドルームの消費に注意 |
| ウィルソン | ◎ 誤差極小 () アーリー効果抑制 | ◎ | ○ アレイ使用によりベース電流補償が完全に機能する | ◎ ループのバランスが温度変化でも崩れない | ○ 3石以上のトランジスタアレイが必要 |
| 高精度ウィルソン | ◎ 誤差極小 () アーリー効果完全排除 | ◎ | ◎ 理論上の最強性能をそのままブレッドボード上で実現可能 | ◎ 全ノードが同温度に保たれ極めて安定 | ◎ クワッドアレイ(4石)が入手できれば最強の選択肢 |
MOSFETで作りたい場合
ベース電流が流れない、というメリットがある。ベータヘルパーは不要。 ただ、 の個体差が大きい。MOSFETアレイにすれば多少良いがトランジスタアレイの方がVBEの誤差が少ない。 ALD1101など、あるっちゃあるが値段が高い。 いったん忘れる。
JFETで作りたい場合
のバラつきが大きい。JFETアレイを使うことで、それは揃えられるが、以上の電流は流せない。いったん忘れる。