JH8CHUのホームページ>
トランジスタ・パルス回路の解析
>トランジスタによるインバータ
トランジスタによるインバータ
暫定版作成。(2015/01/17)
全面見直し、完成。(2026/06/29)
入力電流の計算式を追記。(2026/07/05)
回路の機能
ディジタル回路において入力レベルを反転する回路、すなわち
入力がLレベルのとき出力がHレベルとなり、
入力がHレベルのとき出力がLレベルとなる回路をインバータ、
またはNOT回路といいます。もっとも簡単なインバータ回路は
トランジスタ・スイッチ
を利用して実現出来ます。
インバータにおいてHレベルとLレベルを判定する境目を
スレッショルド・レベルまたは閾値(しきいち)といいますが、
閾値は適切なレベルに設定しないとノイズに弱い回路になるので、
ワーストケース(最悪値)を意識した閾値設定のための回路設計を考察します。
回路図
単純なトランジスタ・スイッチによるインバータの問題点と対策
送信側インバータの出力としてLレベル(VOL)が理想的に0[V]となり、
Hレベル(VOH)が理想的にVccだった場合、インバータの理想的な閾値は
(VOH - VOL) / 2 = Vcc / 2
になると考えられます。
何故なら、閾値とVOLとの差がLレベルのノイズ・マージンとなり
VOHと閾値との差がHレベルのノイズ・マージンとなるからです。

このような理想的なインバータの入出力特性は下図のようになります。

しかし、実際の信号レベルは理想的ではなく、Lレベルは0[V]より高くなり、
HレベルはVccより低くなるのが一般的です。
また閾値も正確にVcc / 2になることはまずありません。
下図はトランジスタのスイッチ動作の基本で
取り上げた回路です。
この回路は最も簡単なインバータの実現例となります。

この回路の入出力特性は概ね下図のようなグラフになります。

このように閾値付近のグラフはやや傾きを持っていて、また、グラフの位置も
トランジスタ毎にバラツキがあり、更にVBEの温度変化によっても変化することから、
閾値はある幅を持っていて、この幅のどこかに閾値があると考える必要があります。
そして、この回路の問題点(のひとつ)は閾値が低いことです。
トランジスタはベース〜エミッタ間電圧(VBE)が0.5〜0.6[V]くらいになると
ベース電流が流れ始めます。
仮に閾値が0.6[V]だった場合、VIのLレベルが0[V]、Hレベルが5[V]だったとすると
ノイズ・マージンはL側が約0.6[V]、H側が約4.4[V]となり、バランスの悪い回路となります。
そこでRDを追加することにより閾値をVcc側に寄せるのが今回解析する回路です。
前述のように、HレベルとLレベルも理想的に0とVccになる訳ではなく、ある幅があります。
結局、送信側インバータの電圧レベルと、受信側インバータの閾値、そして
ノイズ・マージンは下図のような関係になります。

トランジスタ・スイッチによる単純なインバータの閾値電圧を上げる改善として
最も簡単な方法は下図のようにレベルシフト・ダイオード(D1)を追加することです。
このダイオードは特殊のものではなく、汎用品で十分機能します。
シリコン・ダイオードの場合、順方向電圧が0.6〜0.7[V]程度発生することを
利用したもので、ダイオード1個で閾値を0.6〜0.7[V]上昇させることが出来ます。

この回路ではD1の他にRB2が追加されています。
この抵抗器の目的は、入力がLレベルでダイオード:D1がオフになると、トランジスタの
ベース端子のインピーダンスが高くなることから、
(1)コレクタからベースに流れる漏れ電流を逃がしてやる(シリコンではあまり問題にならない?)
(2)ハイ・インピーダンスになったベースからノイズが乗ることを防ぐ。
(3)トランジスタがONからOFFになった瞬間、ベースに残ったキャリアによりトランジスタが
オフになるタイミングが遅れることを防ぐために、キャリアを早く排出する。
(タイミングが遅くなる理由は
スピードアップ・コンデンサーに記載した
「動作が遅くなる理由」を参照してください。)
などの目的があります。
設計仕様
(1)電源電圧(Vcc): Vcc(min)〜Vcc(max)
電源電圧は一般的に正確にVccである訳ではなく、ある幅で変動します。
この変動幅内で回路の動作を保障する必要がありますが、
その電源電圧の最小値をVCC(min)、最大値をVCC(max)とします。
(2)出力電流(Io):
IOH(max): Highレベル出力時の最大電流
IOL(max): Lowレベル出力時の最大電流
一般的に論理回路においては出力がHighレベルならば出力電流OHは流れ出し
出力がLowレベルのときは出力電流OLは流れ込みとなります。
それぞれ、流せる電流の最大値をIOH(max)、IOL(max)とします。
(3)出力電圧(Vo):
VOH(min): Highレベル出力時の最小電圧
VOL(max): Lowレベル出力時の最大電圧
Highレベル出力時の電圧は流れ出す電流が大きい程低下します。
よって、VOH(min)を保証するためには最大電流IOH(max)以内で
あることが条件です。
Lowレベル出力時の電圧は流れ込む電流が大きい程上昇します。
よって、OL(max)を保証するためには最大電流IOL(max)以内で
あることが条件です。
(4)閾値電圧(VT):
VT(min): 閾値の最小電圧。
VT(max): 閾値の最大電圧。
部品のバラつきや温度変化があったとしても、閾値はVT(min)とVT(max)の
間に入るよう設計します。
(5)入力電流(II):
(6)トランジスタ直流電流増幅率(hFE):
hFE(max): hFEの最大値
hFE(min): hFEの最小値
バラツキの大きいパラメータです。
最大値をhFE(max)、最小値をFE(min)としますが、
通常問題となるのはhFEが最小の場合(hFE(min))です。
(7)トランジスタのコレクタ電流の許容値:IC(max)
データシート上の許容値ではなく、いくら以下に抑えるかの仕様値です。
IC(max)は出力電流IOL(max)とRc経由で流れる電流の和です。
回路定数の設計
手順としてはまずRcを決定します。
- Rcの決定
(1)トランジスタOFF動作時
出力電圧レベルがHigh、すなわちトランジスタがOFF状態のとき、
トランジスタ(Tr)には電流は流れません。従って、出力電流IOHは下図のように
コレクタ抵抗Rc経由で流れ出します。出力電圧をVOHとすれば
VOHは電源電圧Vccよりコレクタ抵抗(Rc)での電圧降下分低い電圧となるため、
VOH = Vcc - Rc*IOH
となります。

ここで、VOHが最も低くなる条件、すなわちVOH(min)となる条件は下記です。
・Vccが最低電圧になったとき。すなわちVCC(min)のとき。
・IOHが最も大きくなったとき。すなわちIOH(max)のとき。
・抵抗器の誤差が大きい方で最大になったとき。すなわちRC(max)のとき。
従ってVOH(min)は以下の式となります。
VOH(min) = VCC(min) - RC(max)*IOH(max)
このVOH(min)の式の中で、VOH(min)、VCC(min)、
IOH(max)は設計仕様で与えられています。
残りはRC(max)ですが、上式を変形すると
RC(max) = (VCC(min) - VOH(min))/IOH(max)
となります。ここで公称値Rcの抵抗器の最大誤差をαとすれば上式は更に、
Rc*(1+α) ≦ (VCC(min) - VOH(min))/IOH(max)
となり、結局、
Rc ≦ (VCC(min) - VOH(min))/{IOH(max)*(1+α)}
・・・・・@
の条件を満たせば、VOH(min)を保障することが出来ます。
(2)トランジスタON動作時
出力電圧レベルがLow、すなわちトランジスタがON状態のとき、
トランジスタのコレクタに流れ込む電流はコレクタ抵抗Rcからの電流と
出力端子から流れ込む電流IOLとの和になります。すなわち
Ic = Vcc / Rc + IOL
となります。

ここで、Icが最も大きくなる条件、すなわちIC(max)となる条件は下記です。
・Vccが最大電圧になったとき。すなわちVCC(max)のとき。
・IOLが最も大きくなったとき。すなわちIOL(max)のとき。
・コレクタ抵抗Rcの値が小さくなる方向で誤差が最大になったとき。
すなわちRC(min)のとき。
従ってIC(max)は以下の式となります。
IC(max) = VCC(max) / RC(min) + IOL(max)
この式の中で、VCC(max)、IOL(max)、IC(max)は設計仕様で
与えられています。
残りはRC(min)ですが、上式を変形すると
RC(min) = VCC(max) / {IC(max) - IOL(max)}
となります。ここで公称値Rcの抵抗器の最大誤差をαとすれば上式は更に、
Rc*(1-α) ≧ VCC(max) / {IC(max) - IOL(max)}
となり、結局、
Rc ≧ VCC(max) / [{IC(max) - IOL(max)}*(1-α)]
・・・・・A
となります。
@、Aの式からRcの最大値と最小値が決まります。すなわち
VCC(max) / [{ICM - IOL(max)}*(1-α)]
≦ Rc ≦ (VCC(min) - VOH(min)) /
{IOH(max)*(1+α)}
となりますので、この範囲内の値でRcを選定します。
もし、この条件を満たすRcが存在しない場合は、
設計仕様を変更する必要があるでしょう。
なお、VOL(max)を保証するためには、トランジスタが飽和したときの
コレクタ〜エミッタ間電圧をVCE(sat)として
VOL(max)>VCE(sat)を満足する必要がありますが、
通常VCE(sat)=0.1〜0.3[V]程度なので、もし
この関係が成り立たない場合は、VCE(sat)の小さいトランジスタ
を探すよりは、最初からVOL(max)>VCE(sat)となるように
VOL(max)を決めるのが得策です。
- RB1とRB2の決定
最初にRcは決めてあるものとします。
そしてトランジスタを確実にONするベース電圧をVBON、確実にOFFにする
電圧をVBOFFとします。トランジスタが能動状態または飽和状態における
ベース〜エミッタ間電圧(VBE)は温度変化があったとしてもだいたい0.5〜0.8[V]
くらいです。なのでこの電圧より低くなれば遮断状態となります。
そこで少し余裕を見て、VBON≒0.9[V]、VBOFF≒0.4[V]として計算すれば
まず問題はないでしょう。
(1)トランジスタON動作時

最初にトランジスタが飽和するようなベース電流を計算します。トランジスタの特性より
Ic = hFE * IB
の関係がありますが、コレクタ電流の最大値はIC(max)なので、
トランジスタを飽和させるためには
IC(max) ≦ hFE * IB
とする必要があります。
この式で、hFEはいろいろな値にバラツキつきます。
また、IBも条件によって変化します。このため、以上の条件が
変わってもトランジスタを飽和させるめたには
IC(max) ≦ hFE(min) * IB(min)
∴ IB(min) ≧ IC(max) / hFE(min) ・・・・・B
となる必要があります。
ここでRB1とRB2を流れる電流をそれぞれI1、I2と
すれば、
IB = I1 − I2
∴ IB(min) = I1(min) − I2(max) ・・・・・C
一方、
VT(max):閾値の最大値。
つまり、この電圧以上のVIであれば、インバータはVI
を必ずHと見なします。
VD(max):ダイオードの順方向電圧の最大値。
VD(min):ダイオードの順方向電圧の最小値。
ダイオードもトランジスタのベース〜エミッタ間と同様
PN接合なので、
純方向電圧は0.5〜0.8[V]くらいの値を持ちます。
実際に計算するときは、VD(max)=0.9[V]、VD(min)=0.4[V]で
計算します。
α:抵抗の最大誤差
とすれば、回路構成よりI1が最小になる条件は、
・H入力時の電圧VIが閾値の最大まで小さいとき。
すなわちVT(max)のとき。
・ダイオードの順方向電圧が最大になったとき。すなわちVD(max)のとき。
・ベース〜エミッタ間電圧VBEが最大になったとき。
すなわちVBONのとき。
・ベース抵抗RB1の値が大きくなる方向で誤差が最大になったとき。
すなわちRB1(max)=(1+α)*RB1のとき。
そうすると、I1の最小値I1(min)は
I1(min) = (VT(max) - VD(max) - VBON) /
{(1+α) * RB1}
一方、I2が最大になる条件は、
・ベース〜エミッタ間電圧VBEが最大になったとき。
すなわちVBONのとき。
・ベース抵抗RB2の値が小さくなる方向で誤差が最大になったとき。
すなわちRB2(min)=(1-α)*RB2のとき。
そうすると、I2の最大値I1(max)は
I2(max) = VBON / {(1-α) * RB2}
となるので、I1、I2の式とB、C式より
IC(max) / hFE(min) ≦
(VT(max) - VD(max) - VBON) /
{(1+α) * RB1} - VBON / {(1-α) * RB2}
・・・D
を得ます。
(2)トランジスタOFF動作時
VT(min):閾値の最小電圧。
つまり、この電圧以下のVIであれば、
インバータはVIを必ずLと見なします。
VD(max):ダイオードの順方向電圧の最大値。
VD(min):ダイオードの順方向電圧の最小値。
ダイオードもトランジスタのベース〜エミッタ間と同様
PN接合なので、
純方向電圧は0.5〜0.8[V]くらいの値を持ちます。
実際の計算では、VD(max)=0.9[V]、VD(min)=0.4[V]で計算すれば
よいでしょう。
α:抵抗の最大誤差
とします。

トランジスタがOFFのときベース電流は流れません。
そのようにするためにはベースの電圧が最大でもVBOFF以下になれば
よいのですが、ベース電圧が最大になる条件は
・L入力時の電圧VIが最大でもVT(min)のとき。
・ダイオードの順方向電圧が最小になったとき。すなわちVD(min)のとき。
・ベース〜エミッタ間電圧VBEが最小になったとき。
すなわちVBOFFのとき。
・ベース抵抗RB1の値が小さくなる方向で誤差が最大になったとき。
すなわちRB1(min)=(1-α)*RB1のとき。
・ベース抵抗RB2の値が大きくなる方向で誤差が最大になったとき。
すなわちRB2(max)=(1+α)*RB2のとき。
そうすると、トランジスタのベース電圧がVBOFF以下となる条件は
VBOFF ≧ {VT(min) - VD(min)} *
RB2(max) / {RB1(min) + RB2(max)}
∴ VBOFF ≧ {VT(min) - VD(min)} *
(1+α) * RB2 / {(1-α) * RB1 + (1+α) * RB2}
・・・E
長い式ですが、DとEに設計仕様の値を代入して計算するとRB1とRB2の
関係を示す比較的簡単なふたつの不等式が得られます。
これらの連立不等式を満足するRB1とRB2の抵抗値を選定します。
- 入力電流の計算(2026/07/05追記)
ファンアウト(1個の論理素子が何個の論理素子をドライブできるか)を計算する場合、
入力電流の値が必要になります。今回の回路では結果的にいくらになるかの計算式を
以下に記載します。
(1)LレベルのときはダイオードがOFFになるので電流はほとんど流れません。
(IIL(max)≒0)
(2)Hレベルのときの最大電流(IIH(max))ですが、計算するためには
トランジスタがONになる最低電圧が必要です。
この値は低くてもせいぜい0.5[V]〜0.6[V]ですが、
マージンをみてVBOFFと同じで計算します。
また、Hレベル時の信号電圧の最大値(VIH(max))はVCC(max)としました。

IIH(max) = {VIH(max) - VD(min) - VBOFF}
/ RB1(min)
この結果、ファンアウトは
ファンアウト = IOH(max) / IIH(max)
で計算出来ます。
今後の課題
- 実験回路による動作確認と設計値と実測値の比較
トランジスタ・パルス回路の実験に記載予定。
- スイッチング特性(AC特性)の検討
参考文献
- パルス回路の設計(昭和56年(1981) 第20版(改訂10版)) P-132〜137 インバータ、
猪飼國夫著、 CQ出版社
関連項目
- トランジスタ・パルス回路の解析−
トランジスタのスイッチ動作の基本
- 電子回路−ダイオード−PN接合
- トランジスタ・パルス回路の解析−
スピードアップ・コンデンサの機能
- ダイオードのデバイス実験−
小信号ダイオードの静特性測定実験
JH8CHUのホームページ>
トランジスタ・パルス回路の解析>
トランジスタによるインバータ
Copyright (C)2026 Masahiro.Matsuda(JH8CHU), all rights reserved.