Forum: Mikrocontroller und Digitale Elektronik Zwei Interruptquellen über Diode an einen Port schalten


von Torsten B. (torty)


Angehängte Dateien:

Lesenswert?

Hallo Gemeinde

Macht es Sinn, zwei Interruptquellen, über Dioden (ODER verküpft) an 
einen Int Eingang (PD3)am AVR anzuschließen ?
Es soll in der ISR dann nachgeschaut werden, was genau los ist, wenn 
einer der beiden Pegel auf Null geht.
Der Pullup am Int Port ist natürlich einzuschalten.

Wenn das unorthodox ist, würde ich mich über einen Tipp freuen.

Grüße
Torsten

von Cyblord -. (cyblord)


Lesenswert?

Mach doch ein logisches Gatter hin, statt einer Diode. z.B. ein AND: 
Ausgang geht auf 0, falls einer der beiden Eingänge auf 0 geht.

Allerdings geht das mit den Dioden ebenfalls ohne Probleme.

gruß cyblord

von xray (Gast)


Lesenswert?

Ja,
das mit den Dioden klappt 1A.

Gruss Klaus

von Dennis (Gast)


Lesenswert?

Torsten B. schrieb:
> Wenn das unorthodox ist, würde ich mich über einen Tipp freuen.

Nö, passt schon..

von Peter D. (peda)


Lesenswert?

Was soll der Unsinn mit Codierschalter an einen Interrupt?
Wenn Du ihn so schnell drehst, daß ein Interrupt nötig wird, dann fängt 
er durch die Reibungswärme an zu brennen oder die Fliehkraft reißt ihn 
auseinander.

Alle Änderungen langsamer als 1ms kann man bequem pollen. Also alle 
mechanischen Kontakte (und Entprellen nicht vergessen).


Peter

von Ulrich (Gast)


Lesenswert?

Man kann es auch mit den Dioden machen, aber so weiß man dann immer noch 
nicht welche Quelle den Interrupt ausgelöst hat.

Gerade die neueren µCs haben meist recht viele Eingänge, die man auch 
als Interrupteingang nutzen kann, z.B.  ICP, den Analogen Komperator 
oder den Pin-change Interrupt.

von Thomas (Gast)


Lesenswert?

Nimm auf jeden Fall Schottky-Dioden damit der low-Pegel sicher erkannt 
wird. Bei Vcc 3,3V würden normale Silizium Dioden schon nicht mehr 
funktionieren.

von W.S. (Gast)


Lesenswert?

Torsten B. schrieb:
> Macht es Sinn,...

Nö.

Wenn man auf solche Gedanken kommt, stimmt was mit dem Gesamtkonzept 
nicht.

W.S.

von Torsten B. (torty)


Lesenswert?

Peter Dannegger schrieb:
> Was soll der Unsinn mit Codierschalter an einen Interrupt?
> Wenn Du ihn so schnell drehst, daß ein Interrupt nötig wird, dann fängt
> er durch die Reibungswärme an zu brennen oder die Fliehkraft reißt ihn
> auseinander.
>
> Alle Änderungen langsamer als 1ms kann man bequem pollen. Also alle
> mechanischen Kontakte (und Entprellen nicht vergessen).

Mit dem Drehschalter werden nur Betriebsmodi ausgewählt. Eher selten bis 
fast nie. Darum wollte ich nicht 1M-Mal pollen, wenn es eh nichts neues 
gibt.
An diesem Pin ändert sich aber bei jedem Drehen der logische Zustand.
Dann kann ich das Ding am Anfang der ISR in Ruhe ausprellen lassen und 
gucken, was es neues gibt.

Thomas schrieb:
> Nimm auf jeden Fall Schottky-Dioden damit der low-Pegel sicher erkannt
> wird. Bei Vcc 3,3V würden normale Silizium Dioden schon nicht mehr
> funktionieren.

Das ist ein guter Hinweis. Danke!

von Thomas E. (thomase)


Lesenswert?

Torsten B. schrieb:
> Darum wollte ich nicht 1M-Mal pollen
Das machst du doch nicht, sondern der Controller. Und dem ist es egal.
Aber du hättest dann den Interrupt frei, um den Signalpegel abzufragen. 
Das würde dir dann das Diodengehampel ersparen. Wäre mir lieber. Aber 
muß ja jeder selber wissen.

mfg.

von Michael A. (Gast)


Lesenswert?

Torsten B. schrieb:
> Wenn das unorthodox ist, würde ich mich über einen Tipp freuen.

"Wired-Or" heißt das bei OC/OD-Endstufen. Bei Push-Pull-Endstufen mit 
Dioden hat man den gleichen Effekt.

Torsten B. schrieb:
> Darum wollte ich nicht 1M-Mal pollen, wenn es eh nichts neues
> gibt.

Ein µC hängt gewöhnlich sowieso stundenlang in einer Schleife und guckt, 
ob es irgendetwas neues gibt. Warum soll er dann nicht auch beim 
Kodierschalter vorbei schauen. Über einen Interrupt hält man ihn noch 
eher von anderen Aufgaben ab, insbesondere wenn man ihn dann am Anfang 
der ISR - wie auch immer - ausprellen läßt.

von Falk B. (falk)


Lesenswert?

@  W.S. (Gast)

>> Macht es Sinn,...

Sinn macht man nicht, der ist da oder auch nicht.

>Nö.

>Wenn man auf solche Gedanken kommt, stimmt was mit dem Gesamtkonzept
>nicht.

Doch, das vollkommen normal, um mehrere ICs an eine Interruptleitung 
anzuklemmen. Wenn die INT Ausgänge der ICS Open Drain sind, geht es 
sogar ohne Dioden. AKA Wired AND Verknüpfung.

von Thomas E. (thomase)


Lesenswert?

Falk Brunner schrieb:
> Doch, das vollkommen normal, um mehrere ICs an eine Interruptleitung
> anzuklemmen.
Wenn der Controller nur einen Interrupteingang hat, geht es ja auch gar 
nicht anders. Dazu braucht man aber noch entsprechend Ports oder einen 
Bus, um die Interruptquelle ausfindig zu machen. Die kann man ja nicht 
raten.

In diesem Falle wäre es aber kein Problem, die beiden Quellen mit den 
beiden Interrupts abzufragen.

Wobei ich allerdins schon lange nicht verstehe, wie man sich noch mit 
dem Atmega8 abmühen kann. Mit dem Atmega88 wäre dieser Thread nämlich 
völlig überflüssig.

mfg.

von HildeK (Gast)


Lesenswert?

Falk Brunner schrieb:
> Sinn macht man nicht, der ist da oder auch nicht.

Ich stimme dir zwar grundsätzlich zu, aber als ich neulich hörte, dass 
dieser angemahnte Ausdruck bereits von Gotthold Ephraim Lessing (* 22. 
Januar 1729) verwendet wurde, habe ich mich doch etwas gewundert ...

von Davis (Gast)


Lesenswert?

HildeK schrieb:

> Ich stimme dir zwar grundsätzlich zu, aber als ich neulich hörte, dass
> dieser angemahnte Ausdruck bereits von Gotthold Ephraim Lessing (* 22.
> Januar 1729) verwendet wurde, habe ich mich doch etwas gewundert ...

In welchem Text hat G.E.L. diesen Ausdruck verwendet?

von troll (Gast)


Lesenswert?

Davis schrieb:
> In welchem Text hat G.E.L. diesen Ausdruck verwendet?
Ist dein Google kaputt? 
http://www.iaas.uni-bremen.de/sprachblog/2007/10/01/sinnesfreuden-i/ 
oberes Drittel (nach Lessing suchen)

von Davis (Gast)


Lesenswert?

troll schrieb:

> Ist dein Google kaputt?

Wieso Google, hab' doch dich ;)

Danke für den Link. Interessante Sache das.

von HildeK (Gast)


Lesenswert?

Ach, und zum eigentlichen Thema: wenn du schon Dioden zur Verknüpfung 
verwenden willst (oder wired-OR mit OD-Ausgängen), dann würde ich mich 
nicht auf den internen PullUp des ATMEGA verlassen, sondern einen 
externen mit ca. 2k bis 5k spendieren.

Davis schrieb:
> In welchem Text hat G.E.L. diesen Ausdruck verwendet?

Ich habe leider nur von der Tatsache gehört oder gelesen - ohne eine 
Referenz auf einen Text. Aber hier steht was dazu, was meine Aussage 
doch ein wenig relativiert:
http://www.belleslettres.eu/artikel/sinn-machen-make-sense-anglizismus.php

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.