内部プルアップ/ダウン抵抗を使用する際の考慮事項


11

STM32マイクロコントローラーを使用しています。これらのマイクロコントローラーには、入力ピンをプルアップまたはプルダウンとして設定するオプションがあります。

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

以前は必要に応じて外部のプルアップまたはプルダウン抵抗を使用していましたが、今では外部コンポーネントを廃止してマイクロコントローラー自体のプルダウン機能を使用できるかどうか疑問に思っています。

それは良いことでしょうか?

特別な予防措置を講じる必要がある、またはこの機能をまったく使用しない使用事例がありますか?


2
私はできる限り問題なく、内部pu / pdを使用します。したがって、組み込みのプルアップ/プルダウンを使用しない正当な理由がない限り、それらを使用できます。内部のpu / pdに依存しない理由は、入力に長いワイヤが接続されており、他のラインに結合して予期しない動作を引き起こす可能性があるためです。内部のpu / pdは非常に弱く(電流を節約するため)、たとえば10kΩの抵抗よりも簡単に妨害されます。
Bimpelrekkie

21
ちょっとした注意:マイクロコントローラがリセットしている間は、プルアップとして機能しない場合があります。したがって、常にプルダウンされていることに依存する外部回路がある場合、起動時に問題が発生する可能性があります。マイクロによって読み取られているだけであれば、これは問題ではありません。
pjc50

1
@ pjc50回答として投稿する必要がありますが、回答を投稿するまでコメントに気付きませんでした。
ジェイソンS

1
マイクロコントローラーのプルアップ抵抗器を信頼できない場合、そのコントローラーでは何も信頼できません。それはしかし便利だ場合何が知りたいことはある
通行人

1
@Whiskeyjack:質問のタイトルを変更することを検討してください。たぶん「内部プルアップ/ダウン抵抗を使用するときの考慮事項」またはそのようなもの。
Rev1.0

回答:


15

はい...できます...実績のある機能です。STM32リファレンスマニュアルにピン構造が表示されている場合、必要なコンポーネントがあることがわかります-

STM32ピン構造

これが要件を満たしている場合は、外部コンポーネントを廃止できます。

編集 電源投入時に、ピンはトライステートになることに注意してください。アプリケーションを妨げないのであれば、それは良いことです!そのため、最初にIOセクションを初期化してから、他の周辺機器を使用することをお勧めします。


1
正しいが、それでもリセット中はトライステートになりますか?
-seetharaman

1
「マイクロコントローラーのプルダウン機能を信頼すべきですか?」という質問に答えました。そして今、質問自体が変更されました:-/そして新しい質問で、ベンス・カウリクスの答えはより正確です!
スワナンド

質問:多数の内部プルアップ/ダウン抵抗を使用すると、チップが加熱しますか?
カレブレイスター16年

16

一般に、内部プルアップまたはプルダウン抵抗を使用することはまったく問題ありません。

欠点は、ソフトウェアから有効にするのを忘れることができることです。これにより、頭痛の種になります。外部プルアップは常にそこにあります。そのため、内部番号を有効にし、コンポーネント数を減らして多くのPCB領域を節約することを忘れないでください。

30 kΩ50 kΩ

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

内部抵抗を使用する前に、アプリケーションで特定のプルアップ抵抗値またはプルダウン抵抗値が必要かどうかを常に確認する必要があります。たとえば、I 2 Cではこれらの値を使用しないでください。これらの値は高すぎます。


11

リセット中にプルアップ抵抗とプルダウン抵抗がアクティブになっていない限り(そうではないと思われますが、STM32デバイスに精通していません)、リセット時に未定義のピン状態があります。これは、外部プルアップまたはプルダウン抵抗を使用する主な理由の1つです。


10

他の人が言ったように、内部のプルアップとプルダウンは次の場合に限り問題ありません。

  • それらを設定することを忘れないでください、
  • 彼らは十分に強いです、
  • あなたは外部の引っ張りでそれらと戦うことになりません、そして
  • 起動時とリセット時の電圧は重要ではありません。

最後の点で、中電圧レベルでのCMOS入力は、入力ペアに大きな貫通電流を引き起こす可能性があることに注意してください。これは、起動時に低電力システムで問題を引き起こす可能性があります。

一般に、外部プル抵抗はより保守的な設計を提供します。


1
貫通電流に関しては、ほとんどのマイクロコントローラーの場合、レベルは一般にデバイスに損傷を与える可能性のあるものよりはるかに低いことに注意することで物事を把握するのに役立つかもしれませんが、デバイスの最高のレベルをはるかに上回ることがありますケース睡眠電流。場合によっては、そのような電流は重要ではありません。他では絶対的な殺人者です。
supercat

1
「起動時およびリセット時の電圧は重要ではありません」の場合は+1。マイクロが起動している間、回路の残りの部分が安全で静止状態であることを保証する必要があります。これは見た目よりも困難です。リセットまたは高速のパワーサイクルにより、回路の残りの部分が不確定な状態のままになったり、マイクロが監視していなくても電源を入れて実行したままにしたりする場合があります。
グラハム

3

すべての回答にリストされている他の細かい例外に加えて、多くの場合、内部プルアップ抵抗はI²Cには弱すぎます。



もちろん、いくつかの(?多くの)マイクロコントローラは、設定可能なことを、具体的I2Cのためのオープン・ドレインのピンを持っている
トーマス・

1
私は弱いプルアップ/ダウン、@ Thomas
Scott Seidman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.