見出し画像

GF180で電流源

この記事にでてくる回路図は github からダウンロードできます.

https://github.com/atuchiya/openmpw-transistor-level-examples/tree/main/current-source

BGRの記事で基準電圧の作り方を解説しましたが,こちらは電流の作り方です.まずカレントミラーのバリエーションを説明し,その後自己バイアスによる電源電圧・温度への依存性の低い電流源を設計します.


1.トランジスタの性質と基本カレントミラー

トランジスタはそもそも電流源です.BJTであればベース電流で制御される電流制御電流源,MOSFET であればゲート-ソース間電圧で制御される電圧制御電流源と見なすことができます.ということは制御電流/制御電圧を一定にすればトランジスタは定電流源になるはず.その制御電圧を生成して電流をコピーするのがおなじみカレントミラーです.

基本的なカレントミラーは下図 (basic-cm-bjt.sch).カレントミラーのバリエーションを説明するときはバイポーラトランジスタの方が分かりやすいので,npnトランジスタで作っています.Iref が参照電流で,この電流が XQ2 に流れる電流 (iout) にコピーされればいいわけです.Iref は 1 mA なので,iout にも 1 mA が流れれば期待通りの動きと言えます.

npnトランジスタによる基本カレントミラー (basic-cm-bjt.sch)

XQ2 のコレクタ-エミッタ間電圧 Vout をスイープしてシミュレーションすると,結果は下のようになります.


basic-cm-bjt.sch シミュレーション結果

問題点は2つ.(1) 出力電流 (iout) が 1 mA になっていない,(2) 出力電流がコレクタ電圧に依存している.(1) の原因はベース電流 ib です.上の図を見て分かる通り,ベース電流が約180 μA 流れています.その結果 XQ1 のコレクタ電流は 1 mA からベース電流を引いた 820 μA.XQ2 にコピーされるのはコレクタ電流ですから,コピーされた出力電流は Iref からベース電流分減ったものになります.(2) の原因はアーリー効果 (Early effect) によってトランジスタの出力抵抗 (電流源の内部抵抗) が有限の値になることによります..measure で電流を測ると,1.5 V~2.5 V の間で 7.6 μA変化しているので出力抵抗は約130 kΩ.MOSFET ではチャネル長変調効果によって同じことが起こります.

ということで,この2つの問題の解決を目指します.

2.カレントミラーの改良

2.1 ベース電流補償型カレントミラー

ベース電流分のずれをまずなんとかしましょう.要するに Iref からベース電流が引き抜かれてしまうのが問題なので,ベース電流を別途用意すればよいというのがベース電流補償型です.回路図は下図.

ベース電流補償型カレントミラー (cm-ibcomp-bjt.sch)

Iref から引き抜かれる電流は XQ3 のベース電流,XQ1・XQ2 に供給されるベース電流は XQ3 のエミッタ電流です.XQ3 のベース電流 $${I_{B3}}$$ とエミッタ電流 $${I_{E3}}$$ の間には $${I_{E3} = (1 + \beta) I_{B3}}$$ の関係があるので,これによって誤差は $${1/(1+\beta)}$$ になるはずです.シミュレーションしてみると,下のようになります.

cm-ibcomp-bjt.sch シミュレーション結果

出力電流がほぼ1 mA になっていることが分かります.残念ながら GF180 の BJT は電流増幅率 $${\beta}$$ が小さいのでまだけっこう誤差は残っていますが,ずいぶんマシになりました.

2.2 カスコードカレントミラー (cascode current mirror)

次に,アーリー効果による出力抵抗を何とかします.出力抵抗を高くする方法と言えばカスコード接続.カスコード接続についての詳しい説明は省略しますが,XQ1・XQ2 のコレクタ電位が変動しないようにすることで電圧依存性をなくす回路です.

カスコードカレントミラー (cm-cascode-bjt.sch)

シミュレーションすると結果は下の通り.

cm-cascode-bjt.sch シミュレーション結果

グラフからだと読み取りにくいですが,電流変動 (1.5 V~2.5 V) は 1.2 μA,出力抵抗は 830 kΩと,基本カレントミラーの 6.3倍になっています.ただし,回路図を見れば分かりますが,Iref がベース電流に引き抜かれる問題については何も手を打っていないので,ベース電流による誤差は残っています.

さらに,上の図を見ると動作可能な電圧範囲が大きく減っていることが分かります.出力電圧が1 V以上ないとまともに動きません.カスコード構成の弱点はこのバイアス制約の厳しさで,特にCMOSプロセスで電源電圧が下がってくると使うのは困難になります.フォールデッドカスコード (folded cascode) などこの問題を回避するテクニックもたくさんあるんですが,ここでは触れないことにします.

2.3 ウィルソンカレントミラー (Wilson current mirror)

ベース電流補償型とカスコードの合わせ技のような回路がウィルソンカレントミラーです.1967年に George R. Wilson によって発明されました.

ウィルソンカレントミラー (cm-wilson-bjt.sch)

ベース電流補償のXQ3を出力の XQ2 につないだ形です.こうすることで,XQ1のコレクタ電流は $${I_{ref}-I_{B}}$$ になります.XQ2 には XQ1 のコレクタ電流がコピーされるので,XQ2 のコレクタ電流も $${I_{ref}-I_{B}}$$.XQ3 のエミッタ電流は XQ1 のベース電流 + XQ2 のベース電流 + XQ2 のコレクタ電流,でないといけないので,$${I_B + I_B + (I_{ref} - I_B) = I_{ref} + I_B}$$.ということは XQ3 のコレクタ電流は $${I_{ref}}$$ になる,というわけです.また,XQ2 と XQ3 がカスコードのようにつながっているので,アーリー効果の抑制も期待できます.シミュレーションしてみると,

cm-wilson-bjt.sch シミュレーション結果

ic が Iref - ib になっていますが,出力電流 iout は 0.975 mAと,ほぼ 1 mA になっていることが分かります.また,出力抵抗は約500 kΩ.カスコードよりは低いですが基本カレントミラーよりは上がっています.ただし,動作可能電圧範囲が狭くなっているという欠点はカスコードと共通です.

2.4 改良ウィルソンカレントミラー

上のウィルソンカレントミラーでは,XQ1 と XQ2 のコレクタ電位が異なるため,出力電流に電圧依存性が出てしまいます.この点を改善したのが改良ウィルソンカレントミラーです.ほとんどの場合,単にウィルソンカレントミラーを言った場合はこの改良型の方を指すことが多いです.

改良ウィルソンカレントミラー (cm-wilson2-bjt.sch)

XQ4 を追加することで,XQ1 と XQ2 のコレクタ電位を一致させています.結果は下図の通り.

cm-wilson2-bjt.sch

出力抵抗はあまり変わりませんが,出力電流は約 0.983 mA と精度が上がっています.

2.5 ワイドラーカレントミラー (Widlar current mirror)

ウィルソンカレントミラーと別のアプローチで性能を上げたのが,Bob Widlar が 1967年に発明したワイドラーカレントミラーです.回路図はシンプルに抵抗を1つ足しただけです.

ワイドラーカレントミラー (cm-widlar-bjt.sch)

この回路は Iref をそのままコピーするのではなく,小さくしてコピーします.どのぐらい小さくなるかは R1 の大きさで決まり,ここでは10分の1の100 μA になるように設定しています.

cm-wildar-bjt.sch 結果

出力電流は減りますが,この回路の特徴は出力抵抗です.1.5 V~2.5 V の範囲で電流の変化は 0.38 μA,出力抵抗は 2.6 MΩ.基本カレントミラーの20倍,カスコードカレントミラーと比べても3倍高い値になっています.また,動作可能電圧範囲がカスコードやウィルソンのように大きく減ることもありません.

2.6 永田カンレントミラー (Nagata current mirror)

永田穣氏によって1966年に発明されたのが永田カレントミラーです.こちらもワイドラーカレントミラーと同じく,Iref をコピーするというよりは電流を一定に保つことに主眼を置いた回路です.

永田カレントミラー (cm-nagata-bjt.sch)

この回路の特徴は,Iref の変化に対して Iout が極値を持つという点です.Iref を変化させてシミュレーションすると,下図のようになります.

永田カレントミラーの Iref-Iout 特性

ピークの位置は抵抗R1 の大きさで調整できます.ここでは Iref = 1 mA のところにピークが来るようにしました.ピークがあるということはその周辺では Iref が変化しても Iout は変化しないということです.つまり,電源電圧や温度によって Iref が変化しても Iout を一定に維持できることが期待できます.もちろん出力電圧に対して出力電流はほぼ一定です.

永田カレントミラーの出力電圧-出力電流特性

3.基準電流源を作る

ここまでは参照電流 Iref がどこかから与えられて,それを正確にコピーすることを目指してきました.ここでは Iref となる参照電流を作る,つまり Iref なしで定電流源を作ります.ここからはトランジスタとして MOSFET を使います.MOSFET ではベース電流に相当する電流は流れないので,ベース電流による誤差は生じません.アーリー効果についてはチャネル長変調効果が同じ効果になるので,こちらの考慮は必要です.

3.1 基本構成

電流を作るもっとも安直な方法は抵抗を使うことです.

基本電流源回路 (cs-basic.sch)

GF180 のMOSFETのチャネル長変調効果はかなりきついので,チャネル長 L を最小の2倍にしています.適当に W/L = 20 にして抵抗を調整し,参照電流 (i1) が 0.5 mA ぐらいになるようにしました.

出力電圧-電流特性 (cs-basic.sch)

それでもチャネル長変調効果が辛い.また,抵抗で参照電流を作っているため電源電圧を±10% 変えると参照電流もほぼ±10%変動しています.また,温度特性を見ると

温度-電流特性 (cs-basic.sch)

-50℃~125℃でだいたい4%ぐらい変わっています.ただし,このシミュレーションでは抵抗 R1 を理想抵抗にしているため抵抗の温度依存性は入っていないことに注意してください.

3.2 ワイドラー電流源

基本カレントミラーが弱いのは分かっているので,ワイドラーカレントミラーに変えてみます.

ワイドラー電流源 (cs-widlar.sch)

XM2のサイズと R2 を調整して i2 が 0.5 mA ぐらいになるようにしました.電源電圧依存性・出力電圧依存性は基本構成に比べるとマシになります.

電圧-電流特性 (cs-wildar.sch)

ただし温度依存性は強烈になります.

温度依存性 (cs-wildar.sch)

3.3 自己バイアスワイドラーカレントソース

BGR でも使いましたが,自己バイアスカレントミラーを使ってカレントソースを作ります.XM1 と XM2 のドレイン-ソース間電圧が変動しないように,XM5 を追加してあります [Fiori, TCAS2005].

自己バイアスワイドラーカレントソース (cs-selfbias-wildar.sch)

電源電圧を±10%,温度を -50℃~125℃で変動させてみます.

電源電圧依存性 (cs-selfbias-wildar.sch)
温度依存性 (cs-selfbias-wildar.sch)

電源電圧±10%の変動に電流の変動は2.5%,温度-50℃~125℃での電流の変動は約1%に抑えられています.

ワイドラーカレントミラーを使った電流源には他に,すべてトランジスタで構成した Oguey current source [Oguey, JSSC1997]やその改良版などもあります.

3.4 スタートアップ回路

上の回路は動作しているように見えますが,実は i1 = i2 = 0 にも安定点があるため,すべてのトランジスタが OFF した状態で安定してしまうことがあります.これを防ぐのがスタートアップ回路です.よく使われる方法は,下図のようにごく小さいトランジスタ XM6 を挿入する方法です.W/L を小さくしているので動作にはほとんど影響しませんが,第2安定点 (i1 = i2 = 0) に陥ろうとすると電流を流すことで第2安定点に入らないようにしてくれます.

スタートアップ付き自己バイアスワイドラーカレントソース (cs-startup-wildar.sch)

3.5 Vth-referenced 自己バイアス回路

電圧に依存しない電流を作る方法として,Vth-referenced 自己バイアス回路というものがあります.

Vth-referenced 自己バイアス回路 (cs-vth-ref.sch)

XM1 と XM2 のつなぎ方がカレントミラーと異なっているところがポイントです.この構成にすると,XM1・XM2 に流れるドレイン電流がトランジスタのしきい値電圧によって $${\simeq V_{\mathrm{th}}/R}$$ となります.シミュレーションすると,

電圧-電流特性 (cs-vth-ref.sch)
温度特性 (cs-vth-ref.sch)

i2 は電源電圧に対して安定しており,変動は0.5%以下になっています.一方,Vth を参照しているため温度による Vth の変動はそのまま出力に影響します.温度変動に対しては電流は約10%変動します.

4.電流源回路の使い方

前節までで電流源回路ができたわけですが,これどうやって使うの? と思う人も多いのではないかと思います.それもそのはずで,電流源回路,ある意味で名前に偽りがあります.その辺を説明します.

4.1 電流源回路と電流源記号

回路素子で電流源と言えば下の記号.

xschem の電流源 (isource)

端子があって,端子から流れ出る/流れ込む電流が一定となる素子です.ところが前節の回路はどれも,回路の内部に一定の電流が流れてはいますが,その電流が端子から外部に出入りすることはありません.つまりここで紹介した電流源回路は,回路記号の電流源に相当するものではないのです.というわけで,区別を明確にするためにここでは前節で紹介した回路を「電流源回路」,回路記号の電流源を単に「電流源」と書くことにします.上に書いた通り,「電流源」は2つの端子を持ち,端子に流れる電流が一定となる素子です.

では「電流源回路」の出力端子は何なのかというと,電流源回路が他の回路とやりとりするのは電流ではなくカレントミラーのバイアス電圧です.つまり,電流源回路は「設定した電流を端子から出力する」のではなく,「カレントミラーに設定通りの電流が流れるようなバイアス電圧を出力する」回路ということです.言い換えると,電流源回路は電流源記号を置き換えるのではなくカレントミラーの参照電流側を置き換えるものです.下図参照.

電流源回路の担当部分

4.2 つなぎ方の例

具体的に使い方の例を示します.下図のように,アクティブ負荷を持つソース接地増幅回路があったとします.この回路は設計段階では理想電流源を使ってカレントミラーでアクティブ負荷を作ってシミュレーションしました.これを電流源回路と結合します.

アクティブロードをもつソース接地増幅回路

つなげる前にこの回路をもう一度よく見ておくと,増幅回路として必要なのは XM1 と XM2 だけです.XM2 をアクティブロード (電流源) にしたいので,XM3 をつけてカレントミラーを組み,XM2 のゲート電位を固定します (黄色の枠線).XM3 はバイアス電圧を作るわけですが,そのためには基準電流が必要なので,ここでは理想電流源を使って参照電流を流し,それによってバイアスを定めます (赤の枠線).ようするに,この回路が増幅回路としてうまく機能するのに必要なのは「XM2 のゲート電圧を決めてくれる誰か」なわけです.

というわけで,電流源回路をつなぎます.前節で紹介した Vth-reference型をつなげると,下図になります.

電流源回路 + アクティブ負荷ソース接地増幅回路 (注: MOSのサイズは適当です)

電流源回路とソース接地増幅回路をつなぐのは,電流ではなくバイアス電圧 Vb です.参照電流を流している XM6 とアクティブ負荷 XM2 がカレントミラーになっているので,(MOSサイズを適切に調整していれば) これで理想電流源を使った回路と同じものになるというわけです.

なお nMOS カレントミラーでバイアス電流を流したいんだけど… という場合に XM3 や XM4 のゲート電圧を使ってはいけません.これらのゲートと別の nMOS のゲートをつないでもカレントミラーにはなりません.カレントミラーの参照側は XM6 のようにダイオード接続 (ゲートとドレイン直結) である必要があります.そのため,nMOS カレントミラーを動かしたい場合は下図のようになります.

nMOSカレントミラーへのつなぎ方

まず pMOSカレントミラーで XM7 を電流源として動かし,その電流を ダイオード接続された XM8 に流すことで nMOSゲート電圧を作っています.あとはその電圧を XM1 に渡せば,XM1 が電流源としてはたらくという仕組みです.

4.3 電圧源との違い

電圧を出力するんなら電流源回路は電圧源なのか? というと違います.電圧源とは「決められた一定の電圧を出力する」ものですが,電流源回路の出力するバイアス電圧は一定ではありません.「カレントミラーに流れる電流が一定になるように適切な電圧を出力する」のが電流源回路です.Vth-referenced 回路 (cs-vth-ref.sch) で電源電圧を変動させたときのpMOSゲート電圧を見てみると,下のように電源電圧とともに変動します.

ゲート電圧の変動 (cs-vth-ref.sch)

この変動を見ると,電源電圧 (横軸)とpMOSゲート電圧 (縦軸)の差が常に 1.3 V になっていることが分かります.これによって pMOS のゲート-ソース間電圧は常に一定,つまり pMOS のドレイン電流が常に一定に保たれるのです.

5.まとめ

電流を作る回路として,カレントミラーとカレントソースを紹介しました.アナログ回路にとって電流源は動作の基準となるものであり,現在でも改良が進んでいます.カレントミラーについては特にカスコードカレントミラーのバリエーションは紹介していません.カレントソースにいたってはここで紹介したものは特に簡単なものだけで,他にもたくさんのバリエーションがあります.永田カレントミラーを使ったものについては群馬大の小林春夫先生のグループの資料を読みましょう.

A.参考文献

Casañas, et al., "A Review of CMOS Current References," Journal of Integrated Circuits and Systems, vol. 17, n. 1, 2022. : https://jics.org.br/ojs/index.php/JICS/article/download/592/392/2653

松澤 昭,「CMOSアナログ設計の基礎」: https://www.ssc.pe.titech.ac.jp/private/publications/2007/Matsuzawa_Presentation/VDEC_200701.pdf

小林春夫,「アナログ集積回路 基本回路 (2)」 (群馬大学 工学部 電気電子工学科「集積回路システム工学」 講義資料 (5)) : https://kobaweb.ei.st.gunma-u.ac.jp/lecture/2009lecture-5.pdf

平野 繭,小林春夫,「基準電流源生成用 永田穣電流ミラー回路の改良」,電気学会 電子回路研究会,ECT-15-104, 2015 :

https://kobaweb.ei.st.gunma-u.ac.jp/news/pdf/2015/2015-12-21hirano.pdf

F. Fiori, P. S. Crovetti, "A new compact temperature-compensated CMOS current reference," IEEE Transactions on Circuits and Systems II: Express Briefs, v. 52, n. 11, 2005, p. 724-728.

H. J. Oguey and D. Aebischer, "CMOS current reference without resistance," in IEEE Journal of Solid-State Circuits, vol. 32, no. 7, pp. 1132-1135, July 1997, doi: 10.1109/4.597305 : https://ieeexplore.ieee.org/document/597305

この記事が気に入ったらサポートをしてみませんか?