IOピンにはそれぞれ独自のプルアップ/ダウン抵抗が必要ですか?


13

非常に基本的な質問:

スイッチまたはジャンパーからの入力として機能するマイクロコントローラーの各IOピンには、独自のプルアップ/ダウン抵抗が必要ですか?

シンプルな3ピンIO回路図

この例では、各ピンは抵抗によってプルダウンされ、次に1P3TスイッチによってVCCにプルアップされます。

簡単そうに思えますが、使用されるIOピンが増えるにつれて、より多くの抵抗が絶対に必要になりますか?抵抗を減らすための賢い方法はありますか?

関連質問:プルアップ抵抗の共有

回答:


16

提供された回路図によると、3つの入力すべてが抵抗を共有している場合、スイッチを介してHighにプルされたラインのいずれかが3つのラインすべてをHighに引き上げ、設計の目的に反する-MCUはスイッチの位置がわからない選択されました。

そのような設計のために抵抗器の数ではなく部品数を減らす一般的な方法は、共通のバス抵抗器ネットワークまたはアレイを使用することです:(ここ
共通バス抵抗アレイ から)


これらは、お客様のニーズに応じて、さまざまな抵抗数で、スルーホールSIP / DIPおよびSMDとして利用できます。バスピンはグランドに接続され、他のピンは回路図のようにそれぞれのMCU入力に接続されます。 SIP抵抗アレイ ここから)

SMD抵抗アレイ ここから)


8

ほとんどのMCUには、各ピンにオプションのプルアップ(ダウンではなく)抵抗が組み込まれているため、通常、スイッチでピンをDOWNにします(およびソフトウェアで極性反転を処理します)。

だから-抵抗器は必要ありません。

プルダウンではなくプルアップを行う理由は、1970年代のTTLロジック回路に残っていた習慣であり、入力をプルアップするのに必要な電流は、プルダウンよりもはるかに少なく、プルダウン抵抗器はより多くの電力を浪費します。これは現在のCMOSロジックには当てはまりませんが、プルアップの伝統が続いているため、初期の5V CMOSチップは古いTTLロジックと互換性がありました。


プルアップの理由は、それらの一般的な使用がオープンコレクター出力であるためだと思いました。そして、一旦あなたが一方向に行く習慣になったら、正当な理由なしにその方法を続けるでしょう。
ダンカー

さらに、TTL出力は16mAをシンクできますが、800uAのみをソースするため、プルアップを使用して出力に筋肉を追加できます。TTL入力は、接続しなければプルアップするので、入力の理由でプルアップするのは少し奇妙に思えます。(申し訳ありませんが、前のコメントの編集に時間がかかりすぎました...)
ダンカー

「TTL入力はそれ自身を引き上げます」...ある程度はありますが、確実ではありません-大きなオレンジ色の本は、Vin> 2.4V(7400の場合、74LSの場合20ua)を保証するために40マイクロアンペアIhを指定しますお勧めできませんどこでも私は...働いていた
ブライアン・ドラモンド

1
プルダウンとプルアップは、単に歴史的なものではありません。プルアップ抵抗を使用すると、スイッチの反対側をグランドにすることができ、これはしばしば便利です。
オリンラスロップ

1
TI MSP430ファミリのマイクロコントローラには、内部プルアップとプルダウンの両方があります。
通行人14年

0

ロジックへの入力を、それ自体がプルアップまたはプルダウンするという前提でオープンのままにしたくないことはありません。入力が開いたままの場合、それは小さなアンテナであり、ロジックデバイス内の電流の影響も受けます。したがって、クリーンで予測可能な入力を確保するために、プルアップまたはプルダウンします。1980年代にフェアチャイルドセミコンダクターで働いていたときに、このルールを学びました。


1
これは、尋ねられた質問には答えません。
ザフォトン

元の質問の文脈は、MCUの入力であるボタンとスイッチがあるということです。I / Oピンが使用されていない場合、出力にしてからファームウェアからLow(またはHigh)に駆動できます。それは潜んでいるEMIの問題に対処するはずであり、外付け抵抗器を必要としません。
ニックアレキセフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.