Forum: Mikrocontroller und Digitale Elektronik Interrupt entstören?


von Jörn (Gast)


Lesenswert?

Moin,

ich habe ein System aus zwei Mikrocontrollern gebaut. Der eine
(ATmega8515) taktet eine bestimmte Aufgabe auf dem zweiten
(AT90S2313)mittels dessen INT0. Nach einer Bestimmten Anzahl an Takten
setzt er diesen via INT1 zurück. Die Übermittlung der Taktpulse läuft
über zwei Adern eines Flachbandkabels, die Interrupts werden bei rising
edge ausgelöst. Nun kommte es ab und zu mal vor, dass der ATmega einen
Interrupt auf INT0 taktet, der AT90s2313 aber einen RESET ausführt.
Dies kann (fast) nur an einer Störung der INT1-Leitung durch die
INT0-Leitung liegen.
Als Abhilfe habe ich die beiden Leitungen am AT90S.. schon mittels
zweier 22pF-Kondensatoren (Keramik) gegen Masse entstört. Der Fehler
tritt nun seltener auf, er tritt aber noch auf.
Sollte ich die beiden Adern aus dem Flachbandkabel trennen? Ist die
Kapazität zu hoch/zu gering? Muß ich Kondensatoren mit Polung
verwenden?

Vielen Dank schon mal!

Jörn

von crazy horse (Gast)


Lesenswert?

Kondensatoren würde ich da gar nicht benutzen. Nimm mal am Empfänger je
einen pullup von 3k3.

von Gerhard Schmidt (Gast)


Lesenswert?

Über welche Kabellängen schreiben wir hier? Eher einen, zehn oder eher
100 Meter? Wäre schon ein gewisser Unterschied. Ab einigen Metern
werden Rechteckimpulse recht unansehnlich. Dafür wurden früher mal
symmetrische Line-Driver verwendet. Scheinen aber aus der Mode gekommen
zu sein.

MfG
Gerd

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.