Forum: Mikrocontroller und Digitale Elektronik Dioden-Schaltung optimieren


von guenter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Auf meiner Modelleisenbahn sind Kontakte, die über einenOptokopler die 
Gleisbesetzt-
Meldung an einen AVR 2313 weiterleiten (LOW-Pegel)

Interrupt-Routine für INT0 liest den PortD ein und aktiviert PortB 
(einschalten )
(Ausgangs-Situation INT0 = HIGH und wird durch den gleichen LOW-Pegel, 
der an die PortD-pins gelangt, aktiviert)

Interrupt-Routine für Timer0  schaltet den PortB wieder aus.
(Diese zeitliche Verlängerung/Verzögerung der Signale am PortB ist 
erforderlich, damit die
Signale von der Steuersoftware im PC sicher erkannt werden können ? 
Stichwort ?polling?)

Da mehrere Kontakte gleichzeitig eingeschaltet werden können, gelangen 
auch mehrere pins am PortD gleichzeitig auf LOW

Alle Leitungen, die zu den pins des PortD führen, führen natürlich auch 
zu INT0
Damit sind die einzelen pins des PortD hardwaremäßig zusammengeschaltet.

Damit sich die einzelnen pins des PortD nicht gegenseitig aktivieren, 
habe ich eine
entsprechende Dioden-Schaltung vorgeschaltet (vergleiche beigefügte 
Schaltung)

Ich hoffe, dass ich die Ausgangs-Situation einigermaßen verständlich 
dargestellt
habe.

Die eingesetzte Lösung funktioniert zwar,  aber ?

Nun meine Frage:

Gibt es eine andere schaltungstechnische Lösung und / oder ein Bauteil 
mit dem diese
Aufgabenstellung optimaler lösbar wäre ?

Insbesondere, um den damit verbundenen Platzbedarf und den Aufwand 
hierfür zu optimieren

Wäre für Hinweise sehr dankbar


Günter

von Peter K. (Gast)


Lesenswert?

hi guenter

Du mußt also die Eingänge mit AND verknüpfen?
Ein AND mit 8 Eingängen hab ich jetzt nicht sofort gefunden. Du könntest 
aber

a) ein NAND nehmen (74 30) und den Interrupt bei High auslösen. Aber ob 
das einfacher als die Diodenschaltung ist?

b) Port D im Polling betreiben, keine weitere Hardware.

Peter

von Robert (Gast)


Lesenswert?

hallo,

was du realisieren willst, nennt man einen Sammelinterrupt. Dazu müssen 
aber die 8 Eingänge mit einem logisch 8-fach OR (nicht AND wie in der 
ersten Antwort) verknüpft werden.

Aber wie schon der erste Antworter feststellte:
     Einfacher als mit Dioden ist das nicht ;)

Robert

von Peter K. (Gast)


Lesenswert?

hallo zweiter Antworter,

Du hast mit dem OR ein Zugunglück verursacht.
AND ist schon richtig, die Signale sind LOW-Aktiv. Der Ausgang wird LOW 
wenn mind. 1 Eingang LOW ist.

Peter

von Robert (Gast)


Lesenswert?

Okay

von guenter (Gast)


Lesenswert?

Hallo

Vielen Dank an alle Antworter für die Hinweise;

Ich würde gerne mal eine Alternative mit Hilfe eines
AND-Gatters probieren !!!

bisher habe ich als Typ gefunden

7421 (2 x 4-input and-gate)

gibt es auch Typen wie 1 x 6-input oder 1 x 8-input
und wer käme als Lieferant in Frage ??

Vielen Dank nochmals - auch für evtl. weitere Info's

Günter

von Stefan (Gast)


Lesenswert?

Sali Günter
Nimm doch einfach einen Buffer mit Open-Collector, z.B 7407 den gibts in 
6-facher Ausführung. Die Ausgänge einfach alle zusammenschalten und noch 
einen Pullup-Widerstand ranhängen.
Oder wenn mich nicht alles täuscht ist es sogar zulässig die Ausgänge am 
gleichen IC kurzzuschliessen, so dass du dir aus dem besagten Baustein 
die Anzahl der Eingänge selbst zusammenstellen kannst. z.B. 2x4, 1x2 + 
1x6 oder 1x8 Eingänge. Erfahrung damit habe ich jedoch keine.
Hoffe gehilft zu haben
Gruss Stefan

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.