シュミットトリガ
シュミットトリガ (Schmitt trigger) は、入力電位の変化に対して出力状態がヒステリシスを持って変化することを特徴とする電子回路である。シュミット回路(Schmitt circuit)ともいう。応用はいくつかあるが、典型的なものとしては、ディジタル回路(論理回路)の非反転バッファないし反転バッファ(NOTゲート)であり、汎用ロジックICでよく使われるものとしては7414がある。
ここでは非反転バッファを例として説明する。また、論理値として考えた場合、正論理と負論理の関係で混乱する羽目になるため、論理回路として考えることはおすすめできない。
入力に対するしきい値を2つ持ち、入力の電位が高いしきい値を超えたときにHighを出力し、逆に入力の電位が低いしきい値を下回ったときにLowを出力する。入力の電位が低いしきい値と高いしきい値の間にあるときは直前の出力電位を保持する(すなわち「ヒステリシス特性」を持つ)。高低それぞれのしきい値を超えることをきっかけとして出力が切り替わることから「トリガ」と呼ばれる。具体的な電子回路としての実装法については後述とする。
しきい値付近で揺らぐような信号を扱う場合などに使われる。理想的には単調増加あるいは単調減少となるはずの信号でも、実際には何らかの原因による揺らぎにより、そのような信号になってしまうことがある。入力のしきい値付近での揺らぎが、高速なオンオフの切り替わりになってしまうと、ノイズの増幅のようなことになってしまう。シュミットトリガでは1つのしきい値をまたいだ瞬間にもう1つのしきい値が適用されることになるため、入力が少々揺らいだ程度では出力が変化しない。
図では左の記号が用いられる。外形の三角の記号はバッファを表し、中の記号がヒステリシスを持つことを示している。他の論理演算などの回路の入力部分がシュミットトリガになっている場合には、その入力の所に小さくヒステリシス記号を描いて示すこともある。
シュミットトリガはオットー・シュミット(1913〜1998、Otto Schmitt)によって1934年に発明された。これは彼の博士号の研究テーマであるが、彼の研究テーマの全体は、生体の機能を工業応用することにあった。
シュミットトリガは、イカの神経をつかった神経系の研究の成果の一つであった。当初は"Thermionic Trigger"と名付けられていたが、後に"Schmitt Trigger"として商標登録された。
このような動作を実現するモデルの一例としては、コンパレータの正帰還を利用したものがある。
コンパレータは非反転入力(+端子入力)と反転入力(-端子入力)の電位差を大きく増幅して飽和させたものを出力する。すなわち、非反転入力が反転入力よりも高い電位にあるとき高電位が出力され、非反転入力が反転入力以下の電位であるときには低電位が出力される。
この出力を抵抗R2で非反転入力に帰還する。出力が高電位(VS)のときには、非反転入力にはVSと入力電圧Vinの差をR2とR1で分圧した電圧が入力されることとなる。この電位が反転入力である接地電位(0V)を下回るまでの間は出力はVSのままであるが、この境界となる電圧は、
Vin/R1+VS/R2 = 0
∴ Vin = -VS・R1/R2
となる。Vinが一度この電圧を下回れば出力が低電位(-VS)になるため、今度は非反転入力には-VSと入力電圧Vinの差をR2とR1で分圧した電圧が入力されることとなる。このとき+入力が反転入力(0V)より大きくなる条件は、
Vin/R1-VS/R2 = 0
∴ Vin = VS・R1/R2
に切り替わる。
すなわち、この回路では0Vを中心とする±VS(R1/R2)の範囲内に入力信号がある間は出力を保持するヒステリシス回路となっている。入力電圧と出力電圧の関係を示す右図においては、M = VSが論理Hを、-M = -VSが論理Lを示し、±T = VS(R1/R2)がしきい値となっている。
実際には右図のように回路の動作を安定させるための素子が付加されることが多い。右図の回路では出力電圧をツェナーダイオードで制限し、電源電圧の変動に対して強くなるように工夫されている。R3はツェナーダイオードに流れ込むコンパレータ出力の電流を制限するためのものであり、R4はコンパレータの-入力から漏れ出る電流に対応するものである。
論理Lに接地電位以下(負の電圧)を使わずに、接地電位を論理Lとするためには、-入力と出力にオフセット電圧を加えればよい。
シュミットトリガは2個のバイポーラトランジスタと数個の抵抗だけでも作ることができる。
NPNトランジスタの基本的な動作として、ベース電圧がエミッタ電圧+0.6V(ベース-エミッタ間のスイッチに必要な電圧)よりも低い場合にはトランジスタはオフ状態となる。つまり、入力INがGNDに近い場合にはTr1がオフになり、Tr2のベース電圧がVccに近くなるためオンになる。この時、出力OUTの電位はVccをR2とREで分圧した値になるが、R2をREよりも十分大きいものにしておけばこの電圧はGNDに近い値になる。
Tr1は、ベース電圧(すなわちIN)が、REに流れる電流による電圧+0.6Vよりも高くなるとオンになる。Tr1がオンになるとTr2のベース電圧が下がるのでTr2はオフになって、OUTがほぼVccと同じ電位になる。この時、REにTr2から流れ込んでいた電流がなくなるため、Tr1のスイッチ電圧は0.6Vに下がる。
つまり、出力がLの時はINのしきい値が0.6V+VREで、出力がHの時はINのしきい値が0.6Vになっている。これでヒステリシス動作をすることになる。
なお、この回路では、論理Hの出力はほぼ電源電圧(Vcc)になるが、論理Lの出力は接地電圧(0V)にはならない。他の回路に接続するときにはその点に十分注意しなければいけない。実用的には、出力部にトランジスタをもう1つ付け、電源電圧と接地電圧を出力するようにした方がよい。
シュミットトリガは、弛張型の発振回路として使うことができる。シュミットトリガの出力を論理反転し、抵抗とコンデンサによる信号遅延回路を通して自身の入力に接続すると、発振するのである。出力部にバッファ用のトランジスタがついている都合で反転出力になっているシュミットトリガを用いる場合、出力と入力を1本の抵抗で結び、入力と接地線の間にコンデンサを1個入れるだけでよい。
標準ロジックICの中にはシュミットトリガを使っているものがいくつかある。
TTLの7400シリーズでは、以下の番号のICがシュミットトリガを利用している。
7413: Dual Schmitt trigger 4-input NAND Gate
7414: Hex Schmitt trigger Inverter
7419: Hex Schmitt trigger Inverter
74132: Quad 2-input NAND Schmitt Trigger
74221: Dual Monostable Multivibrator with Schmitt Trigger Input
74232: Quad NOR Schmitt Trigger
74240: Octal Buffer with Schmitt Trigger Inputs and Three-State Inverted Outputs
74241: Octal Buffer with Schmitt Trigger Inputs and Three-State Noninverted Outputs
74244: Octal Buffer with Schmitt Trigger Inputs and Three-State Noninverted Outputs
74310: Octal Buffer with Schmitt Trigger Inputs
74541 Octal Schmitt Trigger Buffer/Line Driver
CMOSの4000シリーズでは、以下の番号のICがシュミットトリガを利用している。
14093: Quad 2-Input NAND
40106: Hex Inverter
14538: Dual Monostable Multivibrator
4020: 14-Stage Binary Ripple Counter
4024: 7-Stage Binary Ripple Counter
4040: 12-Stage Binary Ripple Counter
4017: Decade Counter with Decoded Outputs
4022: Octal Counter with Decoded Outputs
次のシングルゲートCMOS ICは、シュミットトリガを利用している。
NC7SZ57 Fairchild
NC7SZ58 Fairchild
SN74LVC1G57 Texas Instruments
SN74LVC1G58 Texas Instruments