デジタル信号を反転する方法


29

デジタル信号を反転する方法が必要です。つまり、入力が高い場合は出力を低くし、入力が低い場合は出力を高くする必要があります。

これは単一のPNPトランジスタで実現できると思いますが、ここで検証したかったのです。私が扱っている電圧は5V未満です。


BJTインバーターの詳細な処理:EE 307セクション2 MoHATプロジェクト -「このページの目的は、BJTインバーターの基本的な操作に興味がある人をガイドすることです。」
ピーターモーテンセン

回答:


34

または、とにかくデジタル信号について話しているので、インバーターを使用します。

ここに画像の説明を入力してください

A(なり以上の入力を有するゲートの入力されABC、など)が、Y出力されます。回路図が複雑にならない場合は、左側に入力のあるシンボルを配置します。

NXPにはシングルゲートインバータがあります。電源、グランド、入力および出力の4つだけの接続。

ただし、トランジスタと2つの抵抗を使用して行うことができます。これは単純な回路図ですが、いくつかの単純な計算を行う必要があります。インバーターとまったく同じ接続になります。
ところで、PNPはオプションですが、より頻繁にNPNが使用されます。

編集(コメントを再入力)

ここに画像の説明を入力してください

入力信号が高い場合、R2とトランジスタのベース-エミッタ接合部(ゲートではなくベース)に電流が流れます。この電流は増幅され、R1を流れるコレクタ電流により電圧降下が発生し、出力が低くなります。入力が高く、出力が低い。
入力信号が低い場合、ベース電流はなく、コレクタ電流もありません。R1に電流が流れないことは、電圧降下がないことを意味するため、出力は+ Vになります。入力が低く、出力が高い。

これはすでに少し先に進んでいますが、サンドンのコメントで述べたように、出力は非常に非対称です。出力がコンデンサに接続されている場合、出力レベルが高いということは、コンデンサがR1を介して充電されることを意味し、その結果、時定数R1Cの指数関数的な勾配が生じます。出力が低くなると、コンデンサははるかに低い抵抗を介して放電され、勾配はより急になります。対称的なソース/シンク機能を持つCMOSゲートでは、この違いはありません。

トランジスタバージョンの入力も、高のとき(小さな)電流を引き込みます。CMOSバージョンでは、高時と低時の両方でわずかな漏れ電流しかありません。

全体として、統合された論理ゲートが勝者です。


確かにここで混乱するかもしれませんが、ゲートに電力が供給されるとNPNがオンになり、電力が供給されるとPNPがオフになります。信号増幅にNPNを使用することは理にかなっていますが、信号が反転することはありません。考え?
マットルー

2
ゲートはBJTではなく、MOSFET用です。NFETがオンになり、PFETがオフになります。ただし、ソースが正しく接続されていることを確認する必要があります。NPNとPNPはBJTであり、それらが正しく機能することを確認するには、さらにいくつかの計算が必要です
-ajs410

NXPに関しては、非常に小さな自由度があります。タイミング、ファンイン、ファンアウト、入力ノイズマージン、グリッチなどの制約があります。その場合、トランジスタを使用するのは簡単です。それらの制約によってロックされていないという理由だけで。
標準サンダン

@Matt-回答を編集しました。
-stevenvh

1
@sandundhammika、独自に構築する場合、ファンアウトとノイズマージンにはまだ制限があります(ファンインはここでは適用されません)。ただし、これらの制限が何であるかを自分で計算する必要があります。既製のゲートを使用する場合は、データシートを読むだけで確認できます。さらに、既製のゲートの場合、電力消費(別の典型的なシステム制約)がはるかに優れている可能性があります。
光子

24

はい、これは単一のトランジスタと抵抗で実現できますが、デジタル信号を反転するために特別に設計されたチップがあります。奇妙なことに、それらはインバーターと呼ばれます。たとえば、74HC04をチェックしてください。これにより、1つの14ピンパッケージで6つの個別のインバーターが提供されます。単一のインバーター(および他の小さな論理ゲート)も小さなSOT-23パッケージで利用できます。これは個々のトランジスタが入っているパッケージと同じパッケージです。

独自のインバーターを作成しようとする理由はほとんどありませんが、はい、可能です。

コメントへの応答で追加:

私が言ったように、単一のバイポーラトランジスタを単純なインバータの基礎として使用できます。少なくとも、トランジスタとベース抵抗が必要です。完全を期すために、出力負荷抵抗も追加します。出力に接続するものが必要な負荷を提供することがわかっている場合を除き、これは必要であると想定する必要があります。特にPNPトランジスタには魔法はありません。NPNも同様に使用できます。それぞれの使用方法は次のとおりです。

それぞれ4つの接続があることに注意してください:電源、グランド、入力、および出力。2つの違いは、入力にロードする方向と、負荷によってパッシブにプルされる出力とアクティブに駆動される方向のどちらかです。これらの問題を気にしない場合、2つの回路は機能的に同等です。

ただし、これは簡単です。

また、高速で、定常状態の電力が少なく、入力インピーダンスが高く、小さくなっています。上記のインバータと同じ4つの接続があります。このようなシングルゲートはSOT-23パッケージで利用できます。これは、シングルトランジスタが入っているパッケージと同じパッケージです。これには、バイパスキャップという外部部品が1つだけ必要です。出力は両方向にアクティブに駆動するため、負荷抵抗は必要ありません。

本当に、デジタル信号の一般的な反転のために、あなた自身のインバーターを作ることは通常のアプリケーションにとってばかげています。

概略図については別トピック:

スクリプトは実際には3行です。これがファイル全体です。

@エコーオフ
レム
rem MAKE_SCHEM_GIF
レム
rem Raw Eagle出力から、適切にフィルタリングされた回路図GIFファイルを作成します
rem /temp/a.tif。結果のGIFファイルは/temp/b.gifになり、
レムグレースケール。
レム
image_filter /temp/a.tif /temp/b.img -shrink 5
image_copy /temp/b.img /temp/b.gif -form -gray
image_disp /temp/b.gif -zoom 1 -dev medium

これは非常に具体的な1回限りのスクリプトですが、目的には十分機能します。Eagleでは、回路図をイメージファイル\ temp \ a.tifにエクスポートし、\ temp \ b.gifを作成するスクリプトを実行します。画像エクスポートのEagle設定は600 DPIおよびモノクロです。本当に、それがすべてです。それはおそらくそれよりも複雑に聞こえます。


1
@MattRuweはそれで「十分」ですが、Olinのポイントは専用チップのほうがうまくいくということです(立ち上がり時間と立ち下がり時間はより対称的です)。PNPはVddに「プルアップ」できますが、PNPが出力をフロートさせたときにそれを引き戻すために何かが必要です。その「何か」は、そのインピーダンスに基づいて、立ち上がり/立ち下がり時間に非対称性を作成します。
ajs410

Gotcha、理にかなっています
マットルー

1
あなたの回路図はどうして私のものよりきれいに見えますか?:
stevenvh

4
@stevenvh:私のほうがいいからだろう。まじめに、私はイーグルを使用し、いくつかの世話をします。Eagleで描画した後、600 DPIで回路図を画像ファイルにエクスポートし、それを5倍に縮小して縮小するスクリプトを実行し、結果をグレースケールGIFファイルに書き込みます。これにより、ピクセルアーティファクトのない適切なサイズの結果が得られます。ただし、行を少し曖昧にします。これは、エイリアシングと目に見えるピクセル化がないことのトレードオフです。
オリンラスロップ

1
@abdullah:追加の回答をご覧ください。
オリンラスロップ

8

以下に、CMOS信号で機能する抵抗値をいくつか示します。

古い「LCDデジタルバックパック」をArduinoに配線したかったため、このスレッドを見つけました。Arduinoは正のシリアル信号を出力し、デジタルバックパックは反転信号を必要とします。LCDコントローラーの新しいバージョンには、反転/非反転ジャンパーがありますが、私のものはありません。同様に、ソフトウェアを介して反転シリアル信号を生成することも可能ですが、非標準のライブラリを実行する必要があります。標準Serial.writeコマンドを使用したかった。

最初は4001 CMOSクワッドNORゲートの4つのNORの1つをインバーターとして配線しましたが、これはブレッドボード上で多くのスペースを占有します。配線。(パッケージの14ピンのうち3つを除くすべてを接続する必要があると思います。3つの未使用NORの出力以外はすべて接続する必要があります。)

よりシンプルな配線ソリューションが必要でした。@stevenvhが提供する回路を使用しました。

ここにリンク:

ここに画像の説明を入力してください

9600ボーで5V CMOSロジックを扱っているため、入力インピーダンスは非常に高く、電流は非常に低くなります。私は9600ボーでスイッチングしているだけなので、トランジスタベースのインバーターの非対称的な動作が私に大きな害を与えるとは思いません。

入力の100K抵抗(stevenvhの図ではR2)が機能することがわかり、R1のプルアップ抵抗として3.3k抵抗を使用しました。私の計算(I = V / R、5/3300)に基づいて、このセットアップはオン状態で<= 1.5 mAを消費します(トランジスタの内部抵抗により多少低下します)。私はまだLCDに信号を受信させることで逃げることができる抵抗器。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.