mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kann eine Datenkollision Ports zerstören?


Autor: Joseph N. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!
Was würde passieren wenn ich Ports von 2 Mikrocontrollern miteinander
verbinde und z.B. durch einen Programmfehler eine Kollision auf diesem
"Datenbus" entsteht.. dadurch das der eine Port-Pin als Ausgang
geschaltet ist und auf Low-Pegel liegt während der Port-Pin des anderen
Controllers gleichzeitig ebenfalls als Ausgang geschaltet ist aber auf
High-Pegel steht? Könnte es passieren das der eine Port zerstört wird
da es ja ein Kurzschluss darstellt? Ich denke zwar man kann das aus den
Schemas in den Datenblättern ableiten, die beschreiben wie diese
Port-Pins intern im Controller verschaltet sind, jedoch fehlt mir hier
echt das Wissen über die Funktionsweise um das zu verstehen :(
Mir geht es hier hauptsächlich um Pic16, aber auch AVR Controller.
Danke
Joseph

Autor: Joseph N. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups!

So sollte es korrekt lauten:

"Könnte es passieren das die beiden Ports dabei zerstört werden
da es ja einen Kurzschluss darstellt?"

Autor: Johannes Raschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du die Portpins über Widerstände auf den "Bus" legst, sollte
alles glattgehen...

Autor: Joseph N. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Johannes! Das habe ich schon fast befürchtet :( Mal blöd gefragt:
brauche ich denn in diesem Fall dann zusätzlich Pulldown- oder
Pullup-Widerstände, oder genügt es wenn ich von dem einen Port zu dem
anderen einfach einen (z.B. 10k) Widerstand nehme?

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi...

Das kommt wieder auf den Bus an. Nutzt du die Ports als Open-Drain,
dann brauchst du Pull-Ups (oder schaltest, falls vorhanden, die
internen ein). Arbeitest du mit Tristate, dann brauchst du keine
Pull-Ups.

Auf Widerstände in den Portleitungen würde ich erst verzichten, wenn im
finalen Aufbau nicht mehr mit Programmierfehlern zu rechnen ist. Schau
dir dazu mal bei Reichelt die BCN16-Serie an...

...HanneS...

Autor: Johannes Raschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, Joseph.

Ich weiß ja nicht genau, was Du vor hast... Wenn Du praktisch den
Status des einen Portpins mit Hilfe des zweiten Controllers auslesen
willst, brauchst Du keinen Pullup etc. Der 1. Controller legt den
Ausgang auf entsprechendes Potential (0 bzw. 5 Volt), und der andere
bekommt diesen Pegel an den Eingang, ob über einen Widertand oder nicht
ist egal. Nur im von Dir beschriebenen "Kurzschlussfall", also quasi
einer "Kollision" auf dem Bus, fließt ein Strom, der durch den
Widerstand begrenzt wird.
1K hören sich nach einem vernünftigen Wert an.

Gruß

Johannes

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.