Ist es sicher, zwei MCU-Pins direkt miteinander zu verbinden?

10

Ich arbeite an einem MSP430-Projekt, bei dem ich den Ausgang eines Peripheriegeräts in den Eingang eines anderen Peripheriegeräts leiten muss. Somit habe ich zwei MCU-Pins, die direkt miteinander verbunden sind. Dies erscheint mir verdächtig, da die Möglichkeit eines Programmierfehlers besteht, der beide (möglicherweise widersprüchliche) Ausgaben verursacht. Es gibt auch das Problem der Start- und Programmierzustände.

Im schlimmsten Fall, wenn ein Pin HI ansteuert, der andere LO ansteuert, haben die GPIO-Pins im Allgemeinen eine weitaus größere Senkenfähigkeit als die Quellenfähigkeit. Es ist also so, als würde man einen HI-Ausgang nehmen und ihn auf nahezu kurzschließen. Boden. Was ist schlecht ... aber wie schlecht ist es? Ist es wahrscheinlich, dass die MCU beschädigt wird?

Ich sehe oft Beispiele im Internet von Leuten, die Arduinos verwenden, um eine LED zwischen zwei Pins ohne Widerstand zu beleuchten, und ich habe keine Geschichte von jemandem gehört, der etwas anderes als die LED brät. Natürlich möchten Sie dies nicht in einem Produkt tun, aber versuchen Hersteller im Allgemeinen, die MCU vor einer Überlastung der GPIO-Pins zu schützen?

Wenn Sie im Nachhinein darüber nachdenken, einen strombegrenzenden Widerstand zwischen die beiden Pins zu setzen, wären keine Sorgen aufgetreten, aber selbst eine geringfügige Änderung der Hardware ist derzeit sehr schwierig.

Hat jemand zum späteren Nachschlagen und zum Nutzen der Nachwelt andere Ideen, wie das Risiko des Verbindens zweier MCU-Pins und im Allgemeinen das Risiko der Überlastung eines GPIO-Pins minimiert werden kann?

Dmitri
quelle
Ich verwende auch msp430-Controller, wenn Sie beide Pins als Ausgang verwenden, besteht die Möglichkeit eines Kurzschlusses. Wenn Sie jedoch einen Pin als Ausgang und einen anderen als Eingang konfigurieren, wird dies keine Probleme verursachen. Aber mit welchem ​​Peripheriegerät möchten Sie überhaupt eine Verbindung herstellen?
yogece
Ich verbinde einen Timer-Ausgang mit dem Eingang eines anderen Timers. Die Frage betrifft ausschließlich die Möglichkeit eines Kurzschlusses. Ich denke nicht darüber nach, beide als Ausgänge zu verwenden, aber es besteht immer die Möglichkeit, dass beide (zumindest vorübergehend) aufgrund von Faktoren, die außerhalb meiner Kontrolle liegen, versehentlich ausgegeben werden.
Dmitri

Antworten:

6

Es ist kein Problem, aber wenn Sie befürchten, dass es zu einem Konflikt der Ausgänge kommen könnte, verbinden Sie sie mit einem 1k Ohm Widerstand. Dadurch wird der Strom entsprechend begrenzt.

Wenn der Eingang jedoch sehr schnelle Flanken benötigt, können Sie, wenn Sie sicher sind, dass er funktioniert, die 1k Ohm mit einem kurzen oder 100 Ohm überbrücken.

Der zusätzliche Vorteil des Widerstands besteht darin, dass Sie eine einfache Option zum erneuten Verdrahten erhalten, wenn Sie das Design auf die Leiterplatte übertragen haben.

Es ist das gleiche Problem mit nicht verwendeten Eingängen - binden Sie sie an Masse oder Vcc und Sie riskieren einen starken Stromverbrauch vom Gerät, ohne auf einfache Weise herauszufinden, was vor sich geht - binden Sie über 1k, wenn nicht verwendet oder vielleicht 10k.

Die Überlastbegrenzung erfolgt bei einigen Chips, jedoch nur aufgrund der Tatsache, dass die Transistoren nicht von Natur aus "Ampere" liefern können. Dies kann jedoch gegen Sie wirken, da mehrere O / P-Pins gegen Masse (oder gegeneinander) kurzgeschlossen sind und jeder ordnungsgemäß begrenzt. Möglicherweise überschreiten Sie immer noch die maximale Nennstromstärke in den Stromanschlüssen des Geräts.

Für die MSP430-Serie 2 auf Seite 21 dieses Dokuments heißt es:

Geben Sie hier die Bildbeschreibung ein

Dies sagt mir, dass, wenn die kombinierten Ausgangsströme mehrerer Pins eine bestimmte Grenze erreichen, die Ausgangsfähigkeiten aller anderen Pins (auch derjenigen, die möglicherweise leicht belastet sind) um den gleichen Betrag oder möglicherweise schlechter beeinträchtigt werden können.

Andy aka
quelle
Ich habe mir electronic.stackexchange.com/questions/50539/… und die anderen in dieser Gruppe von mindestens drei Duplikaten angesehen. Sie machen einen sehr guten Punkt bezüglich des Überstroms des Netzteil-Pins - ich denke, das ist wahrscheinlich die größte Gefahr, nicht verwendete Pins an GND / PSU anzuschließen. Also ... der Transistor am GPIO-Pin wird wahrscheinlich nicht annähernd genug leiten, um sich selbst zu beschädigen (es sei denn, es liegt ein Kurzschluss außerhalb des Netzteilbereichs vor).
Dmitri
Warum würden nicht verwendete Eingänge (als High-Z eingestuft) zu einer starken Stromaufnahme führen?
Passant
@passerby Wenn Sie sie wie manche Leute gerne an eine Netzteilschiene anschließen und sie versehentlich zu Ausgängen werden. Siehe die Fragen in der Zeichenfolge, mit der ich verlinkt habe, ziemlich interessante Diskussion.
Dmitri
@passerby the OP schlug dies vor "die Möglichkeit eines Programmierfehlers, der dazu führt, dass beide (möglicherweise widersprüchliche) Ausgänge sind", und ich gehe davon aus, dass dies für Programmierfehler an nicht verwendeten Pins gilt.
Andy aka
Es ist nur so, dass die Linie so wie sie ist den Anschein erweckt, als würden nicht verwendete Eingänge, die ohne Programmierfehler an eine Schiene gebunden sind, einen starken Zug verursachen.
Passant
2

Das größte Problem sind, wie Sie bereits erwähnt haben, Programmierfehler. Es besteht die Möglichkeit von Problemen, daher müssen Sie sorgfältig codieren. Davon abgesehen ist es in Ordnung, solange die Pins nicht beide Ausgänge mit unterschiedlichen Pegeln sind.

Die Verwendung von zwei Pins zur Ansteuerung einer einzelnen Quelle ist keine Seltenheit (Kombination des Stromausgangs).

Die Verwendung von zwei Stiften zum Ansteuern einer LED (oder zweier) ist ebenfalls keine Seltenheit. Obwohl es nicht empfohlen wird, keinen Widerstand zu verwenden, können Sie damit durchkommen. Wenn Ihre Ausgangsspannung relativ nahe an der LED-Durchlassspannung liegt, ist die Stromaufnahme möglicherweise kein Problem. Und da ist der Spannungsabfall der Stifte. Mit zunehmender Stromquelle nimmt die Spannung an diesem Pin ab (Vcc bis Vcc - 0,3 bis -1 usw.). Wenn der Strom sinkt, steigt die Spannung (von Gnd auf Gnd + 0,3 V auf + 1 V usw.). Es ist ein bisschen ein selbstkorrigierender Segen, auf den man sich aber nicht verlassen sollte.

Und wie Sie bereits gesagt haben, könnte ein einfacher Strombegrenzungswiderstand verwendet werden.

Passant
quelle