GPIOピンにプルアップ抵抗またはプルダウン抵抗が必要かどうかはどうすればわかりますか?


8

多くのマイクロコントローラーが、プルアップまたはプルダウン抵抗をGPIOピンの設定として、またはハードウェアの一部として使用するのを見てきました。

GPIOピンにプルアップ抵抗またはプルダウン抵抗が必要かどうかを確認するにはどうすればよいですか。また、必要な場合、アプリケーションに適切な抵抗を確認するにはどうすればよいですか。

回答:


6

電圧レベルが少なくとも時々「予測不能」であるライン(たとえば、フローティング入力だけでなくI2Cラインも)にプルアップまたはプルダウン抵抗が必要です。

ラインのデフォルトをデジタル1にする場合は、プルアップを使用します。デジタル0にしたい場合は、プルダウンを使用します。

非常に典型的な例はボタンです。ソフトウェアが、ボタンが押されたときにピンが下がると期待しているとします。対応するピンで、プルアップを使用し、ボタンでピンをグランドに接続します。


3

最終レイアウトでは、未使用のすべてのピンを適切なレベルにプルすることも強く推奨されます。起動時または実行中のプログラム中に予期しない動作が発生する可能性があるため、接続しないでください。


0

プルアップするかダウンするかは、あなたとプロジェクトのニーズ次第です。

前に述べたように

コードが立ち下がりエッジまたはでトリガー0する場合は、プルアップを使用して未使用時にレベルを高く保つ必要があります。

コードが立ち上がりエッジまたはでトリガー1する場合は、プルダウンを使用して電位を0に維持し、外部ソースを使用してプルアップする必要があります。

ここで、プル抵抗は、除去する必要のあるノイズを克服するのに十分な高オーム値を持つ必要がありますが、外部ソースがそれを克服できないほど強くはありません。

一般に、プルダウンすることにより、数mAの電力を節約できます。

1mAピンごとに5vの5kプルアップがあるとします。電池がなくなると、すべてのmAが貴重になります。

プルダウンすると、通常、EMFノイズが燃え尽きて、ごくわずかなmAが消費されます。


ラインがローに駆動されていない場合、プルアップは通常電流を消費しませんか?同様に、ラインがハイに駆動されている場合、プルダウン無駄電流はありませんか?
ジョンO'M。

通常、プルアップ/ダウン抵抗は、希望の「デフォルト」信号を達成するのに十分であり、通常はVinまたはGndです。そのため、それらは通常約10k前後です。そのため、プルダウン抵抗が接続されているときにラインをHIGHに駆動すると、Vhigh / 10kアンペアしか無駄になりません。Vhighが5Vの場合、それは0.5mAになります。
チャック、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.