モジュールの複数のプルアップ抵抗を処理する方法


9

数日前に開発したボードに、spi / i2cインターフェイスを含むモジュールを作成することを考えていました。

問題は、メインボードのMCUピンにプルアップ抵抗を含めておらず、モジュールに追加してそれらをより「一般的」にして、すべてのユーザーが追加の抵抗を追加する必要なしにそれらを使用できるようにすることでした。プロトタイプボード。

しかし、私は次の問題に直面しました。追加のモジュールにプルアップ抵抗を追加し、たとえば2つ以上のモジュールを同じバスに接続すると、それらの抵抗が並列に接続されるため、抵抗が低下し、機能が発揮されません。

しかし、プルアップ抵抗をメインボードに追加すると、MCUのこれらのピンは常にアクティブLOWになります。

したがって、主な質問は次のとおりです。

複数のモジュールを同じバスに接続して、それぞれにプルアップ抵抗を備えているが、複数のモジュールがある場合にそれらを並列に接続する方法は?それは可能ですか?

または、ここでの最善の解決策は、MCUでプルアップ抵抗を有効にし、それらをモジュールに含めないことですか?

ありがとう。


プルアップ抵抗のみを含む別のモジュールを作成します:)
Alexandr Zarubkin

回答:


14

各バスの全長は1メートル未満であると想定します。これは、プレーンなI 2 CとSPIの典型的なものです。また、バス容量は仕様の範囲内です。

プルアップ抵抗のセットは1つだけです。その結果、それらに最適な場所はメインコントローラボード上です。モジュールにプルアップを置かないでください。

プルアップしたい場合とそうでない場合があります。

  • 必要のない場合は、プルアップ抵抗を実装しないでください。
  • プルアップがジャンパを介して信号ラインに接続されるように、メインコントローラボードを設計します。プルアップが不要な場合は、ショートブロックを取り外します。

編集: 率直に言って、SparkfunがI 2 Cスレーブモジュールにプルアップを配置するのは間違いだと思います。残念ながら、モジュールを購入するすべての人が過度のプルアップが問題になる可能性があることを認識しているわけではありません。コントローラボード(スレーブ周辺ボードの代わりに)にハンダジャンパ付きのプルアップがあれば、より良いでしょう。ああ...待ってください... Arduinoは(オプションの)プルアップを持ちません(多分それは必要です)。だから、どこでもプルアップを削りましょう。すぐに使える初期のエクスペリエンスが簡単になります。しかし、いくつかのスレーブモジュールを追加すると、バスが機能しなくなります。

更新(2015年5月):
- 別のスレッドのコメントでの関連ディスカッション。
-最近のモジュールで、SparkFunはVccとI 2 Cプルアップ抵抗の間にはんだブロブジャンパーを追加し始めました()。これにより、プルアップをより簡単に切り離すことができます。

アップデート(2015年12月):複数のモジュールを使用した
I 2 Cのトラブルシューティングに関する同様の質問がメッセージボードに表示され続けます。 拡張された一般的な応答を試みます。


はい、実際に私のケースは例になりました。たとえば、一部のストアで販売されているすべてのrtcモジュールにはプルアップ抵抗が含まれているので、その場合のそれらのモジュールの処理方法。それが私が主な質問を太字でマークした理由です。:)
Sein Oxygen 2013年

1
@SeinOxygenプルアップ抵抗を備えたモジュールと、独自のプルアップを備えたコントローラーがある場合、これらの抵抗はすべて並列に表示され、より硬いプルアップ(小さな抵抗)を示します。プルアップとして合計3x(3つ)の2.2kΩ抵抗があるとします。総プルアップ抵抗は733Ωです。これはI2C仕様に違反しています。何をすべきか?モジュールから余分なプルアップを削除します(おそらく、そもそもそこにあるべきではありませんでした)。
Nick Alexeev

@SeinOxygen このスレッドの I2Cプルアップ値の詳細。
Nick Alexeev

4

1つのオプションは、SILまたはDIL抵抗器パックを使用して、各モジュールのソケットに取り付けることです。複数のモジュールでシステムを構築する場合、最後のモジュールを除くすべてのモジュールからそれらを引き出します。これにより、ジャンパーの上のボードスペースが少し節約されます。

このテーマのバリエーションには、抵抗器を接続または切断するためのFETスイッチ、シングルジャンパー、またはコネクターのスペアピンによって制御できます(そのため、別のモジュールがプラグインされている場合、抵抗器は自動的に切断されます)。

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