mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pins zweier µC verbinden


Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

eigentlich ein einfaches Problem:
ich möchte zwei ATMega32 (gleiche Masse / getrennte Festspannungsregler) 
über zwei Port-Pins miteinander verbinden (PC7 -> PB1 und PC6 -> PB0). 
Das Problem ist nun, dass die Kommunikation nicht funktioniert. Ich habe 
es mit den internen Pullups und mit externen Pullups / Pulldowns 
versucht, aber es läuft nicht. Erst wenn ich mit dem Oszi-Tastkopf an 
einen der Pins gehe funktioniert es (nur ohne Pullups oder Pulldowns).
Woran könnte das liegen?

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast auch sichergestellt, dass immer nur einer der beiden Megas den 
Pin auf Output hat und nicht beide gleichzeitig?

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, die Pins werden zum Programmstart gesetzt und bleiben die gesamte 
Zeit so (nur zwischen Reset und Initialisierung könnten beliebige 
Kombinationen auftreten)

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du auch sichergestellt, dass beide µCs eine Hauptschleife haben, so 
dass nicht mindestens einer ständig resetet? Wird der Watchdog auch 
immer zurückgesetzt, bzw ist deaktiviert?

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Pins werden in einer Schleife gesetzt bzw. ausgelesen. Außerdem kann 
ich ja eigentlich ein Software-Problem ausschließen, da es funktioniert 
solange ich mit dem Tastkopf an der Leitung bin.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bau mal nen Abblockkondensator an die Leitungen (Kerko z.B. 100n)

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider keine Wirkung

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zeig mal her die Schaltung

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Schaltung verteilt sich auf mehrere Seiten, daher in Textform die 
betroffene Teile:

2x ATMega32 mit gemeinsamen Massepotenzial und jeweils eigener 
5V-Spannungsversorgung über je einen LP2950CDT. Die µC haben die übliche 
externe Beschaltung (VCC-Pins mit 100nF nach GND und Reset mit 100nF 
nach GND und 10K nach VCC). Untereinander sind sie wie oben beschrieben 
verbunden.

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Problem gelöst: 10K waren als Pulldown zu wenig, mit 100K Pulldown läuft 
es zuverlässig

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Carl (Gast)

>Problem gelöst: 10K waren als Pulldown zu wenig, mit 100K Pulldown läuft
>es zuverlässig

Das bezweifle ich. Du hast wahrscheinlich vergessen, die Pins als 
Ausgang zu schalten (DDRx Register). Damit schaltest du beim Zugriff auf 
den Port nur immer den internen Pullupwiderstand ein- und aus. Gegen 10K 
kann der kein HIGH erreichen (typ. 30k), gegen 100K schon.

MfG
Falk

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.