入力または出力MCUピンでのプルアップおよびプルダウン抵抗の使用


18

プルアップ/ダウン抵抗(内部または外部)はMCUのINPUTピンにのみ必要ですか?対照的に、出力として設定されたMCUピンは駆動を行うため、「レベルを認識します」-別の回路の入力に接続された「フローティング」MCU出力ピンは、MCUピンの状態が理由で意味をなさない高くても低くてもかまいません...この権利はありますか?現在、MCUの起動時または障害時に、この「MCU出力からIC入力」ラインにプルアップ/プルダウンを接続して、一部のICへの入力がフローティングしないようにすることが有益な場合があります。

ここで自分の質問に答えたばかりかもしれません...アプリケーションによっては、プルアップ/ダウン抵抗を入力ピンと出力ピンの両方で使用できますか?

回答:


21

プルアップとプルダウンは通常、アクティブに駆動されていないときにラインが定義された状態になるようにするために使用されます。これらは、フローティングラインを防止するために入力で使用され、高域と低域、および中間の「未定義」領域をすばやく切り替えます。通常、出力には必要ありません。

ただし、ほとんどのmcuピンはGPIOであり、起動時に出力ではなく入力として定義される場合があります。あなたが言ったように、特にマイクロコントローラのGPIOで通常駆動するリセットピンのように、起動時にICピン入力がフローティングにならないことがあります。

これは、回線で弱いプルアップまたはプルダウンを使用する場合です。それらは弱く、デフォルト状態を選択するため、回路との干渉はありません(入力が常に低であると想定される場合、高にプルされる場合、弱プルダウンを選択する、またはその逆)。それらは少しの電流を消費します。これが、仕事に十分な抵抗(値が大きいほど弱い)を選択する理由です。

プルアップ(または、まれにプルダウン)を使用する別の通常の出力セットアップは、オープンドレインまたはオープンコレクター接続です。これらは、接続をローに駆動するか、回線を解放してフローティングのままにするだけです。プルアップは、ラインを高論理状態にするために使用されます。


Open DrainとOpen Collectorの接続について言及していますが、これらはマイクロコントローラーには適用されませんか?単に論理レベルを設定するためにMosfetsが使用されていますか?マイクロコントローラがプルダウン抵抗が高いラインを駆動できるかどうかを明確にしたかったのです。
ジェネリックパープルタートル

9

あなたはそれについてほぼ正しい。通常、出力にプルアップは必要ありませんが、起動時などに安全性を維持するのに役立ちます。

出力でプルアップを使用するもう1つの理由:複数のMPUからの複数の出力が互いに接続されている場合、本当に 1つのVCCを駆動し、同じワイヤで0Vを駆動ありません!そのため、出力で0Vを駆動するか、出力をオフにします(おそらく入力として構成することにより)。すべての出力がオフになると、ワイヤはプルアップによって「1」(Vcc)になります。これは「ワイヤードAND」信号と呼ばれます。(プルダウンRで同じ「1」またはオフの運転を行うことができ、それはワイヤードORと呼ばれます)。

このパターンには、1つのMPUでエラーを通知したり、LEDをオンにしたり、すべてのMPUが交互にメッセージを1本のワイヤで送信したりできるようにするなど、いくつかの用途があります。


4

前に述べたように、出力ピンと予想されるピンでプルアップ/プルダウン抵抗を使用すると、入力状態を保証できます。

これは、ファームウェア/ MCUの障害を軽減するために行われますが、高インピーダンス状態から保護するためにのみ機能します(基本的に、ピンは誤って入力として設定されます)。

ほとんどのMCUは、ブート時の高インピーダンス入力状態に対するデフォルトのIOピンに精通しています(ただし、保証はありません。また、すべてのMCUファミリに近い経験はありません)。つまり、コードがピンを初期化するまでに時間がかかることがあります状態が実行されます。

これは重要ではない場合もあれば、そうでない場合もあります。


答えてくれてありがとう、それは他の答えもcompめます!参考までに、PIC24FシリーズはGPIOピンをリセット時にデフォルトでハイインピーダンス(入力)に設定します(I / Oピンデータシート)。
The_Ders

3

答えは、マイクロコントローラファミリに依存し、デフォルトの動作はパワーオンリセットにあります。マイクロコントローラーをピンの「出力」または「入力」にのみ構成できる場合、これは通常、出力にトーテムポールドライバーを使用していることを意味します。つまり、本質的にはCMOSゲートの出力です。出力は常にレールに駆動されるため、受動的に影響を与える理由はありません。出力でプルアップ/プルダウンを使用するのが理にかなっている唯一のケースは、オープンコレクタ/オープンドレイントポロジとして構成されている場合です。ピンが入力として設定されている場合にのみ適用される内部プルアップ/プルダウンオプションを見るのがはるかに一般的です。システムで入力が常に何かによって駆動されることを保証できる場合、これは少し電力を浪費します。


ハードウェアレベルでの優れた説明。ありがとうございました!
The_Ders

2

I2Cを実行する場合など、時々出力であるピンを使用できます。


将来I2Cを使用する場合は、このことを念頭に置いてください。PIC24Fシリーズでは、I2Cモジュールがピンを完全に制御し、ラインが外部プルアップを必要とすると考えています。これが理由です-I2Cモジュールは、データピンを基本的にオープンドレイン/コレクタ出力(プルアップ抵抗が必要)または高インピーダンス入力として設定しています(データが出力/入力されているかどうかに応じて) I2Cモジュール...この権利はありますか?私はI2Cに精通していません。
The_Ders

そうです。
pjc50

I2Cは、ワイヤードANDパターンの1つのインスタンスです。オープンコレクターは、GPIOピンを使用してできる限りシンプルにします。
ブライアンドラモンド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.