Forum: Mikrocontroller und Digitale Elektronik Wie kann ich aus 2 Ports 4 machen?


von Daniel W. (sotoll1)


Lesenswert?

Hallo

Ich habe eine Linux Applikation, welche über den Parallelport eine 8 
Port Karte steuert. 6 von den 8 Ports habe ich schon belegt. Mit den 2 
verbleibenden komme ich aber nicht durch....

Könnte man da nicht gemäß der untenstehenden Logiktabelle 4 Ports 
generieren? wunderbare Brotvermehrung

IN    OUT

00    0001
01    0011
10    0111
11    1111


Hat jemand eine einfache Idee (Chip) zur Lösung meines Problems?

Die beiden Eingänge würden von einem ULN2803AG  (open-collector) 
angesteuert, die Ausgänge sollten Relais ansteuern können.

Danke Daniel

von Klaus 2. (klaus2m5)


Lesenswert?

...wenn Du schon die Leistungstreiber vor die Logik schalten 
willst/musst und dahinter eh Relais hängen, machs wie der alte Herr 
Zuse. Benutz die Relais direkt, um die entsprechende Wahrheitstabelle 
abzubilden. Viel Spass beim austüfteln...

von Andreas K. (ergoproxy)


Lesenswert?

Serielle Portexpander? Aus 2 Ports kann man nur seriell 4 machen. Woher 
sollten sonnst die Informationen kommen. Ansonnsten vllt Stromstoßrelais 
und "multiplexen".

Gruß ErgoProxy

von Wolfgang M. (womai)


Lesenswert?

Einfachste und billigste Loesung - serielles Schieberegister (shift 
register) mit parallelem Ausgang. Die 74HC.. -Serie hat ein paar 
geeignete Typen, kostet ueblicherweise weniger als 1 Euro. Einer Deiner 
Ausgaenge vom parallelen Port treibt das Taktsignal, der andere die 
seriellen Daten. Einziger Nachteil - waehrend Du die Daten reinschiebst, 
wechseln die Ausgaenge einigermasse unkontrollierbar die Zustaenge, weil 
die Bits an ihnen "vorbeilaufen". Oft kein Problem, wenn man's so 
schnell macht, dass es der Motor etc. nicht mitbekommt.

von Skua (Gast)


Lesenswert?

1 Port für Daten und 1 Port als Steuerbus für z.b. 74HC574.

von Daniel W. (sotoll1)


Lesenswert?

Danke für eure Ideen

@ Klaus ich möchte mit den 4 Ausgängen 4 Relais steuern. Diese schalten 
dann einen Stufentrafo. Wenn ich das richtig sehe kann ich das mit der 
"Lösung Zuse" nicht realisieren. oder irre ich mich?


@ Wolfgang ich möchte weniger "Daten" als eher selten wechselnde 
Zustände bewirken. ( es kann sein, dass ein Zustand mehrere Stunden 
gleich bleibt)

Wenn ich das aber richtig sehe kann ich das trotzdem auf diese Weise 
realisieren. Werden mir da evt die Relais am Ausgang während des 
Schaltvorgangs klappern.

Gruss Dani

von was-willst-du (Gast)


Lesenswert?

Ist Dir schon aufgefallen, daß bei Deiner tabelle für die OUT-Werte ein 
Ausgang immer "1" ist. Kannst Dir somit sparen.

von Bensch (Gast)


Lesenswert?

Bei der Logiktabelle gibt es eigentlich nur 3 Ausgänge, das LSB ist 
immer 1.
Lässt sich sicher mit ein paar Dioden, Gattern oder einem GAL auflösen.

Nein, ich mach das jetzt NICHT .....

von Martin (Gast)


Lesenswert?

Für ein Schiebregister benötigt man auch mehr als die 2 Ausgänge.
Schau dir aber mal die Rudgatter der 74er Reihe an. Du wirst sehen das 
ist ganz einfach wenn du die 4 Ausgänge einzeln betrachtest.

von Martin (Gast)


Lesenswert?

Wenn du dir das genau anschaust, ist die eine der 4 Ausgangsleitungen eh 
immer 1, also brauchst du dies nicht zu berücksichtigen und du hast nur 
noch 3 Ausgangszustände.

von Martin (Gast)


Lesenswert?

Oh Bensch war schnelle ;-)

von Karl-heinz S. (cletus)


Lesenswert?

Bit 0 ist immer 1 => Direkt an VCC
Bit 1 ist genau dann 1, wenn Steuerbit 0 = 1 => Direkt an Steuerbit 0
Bit 2 ist genau dann 1, wenn Steuerbit 1 = 1 => Direkt an Steuerbit 1
Bit 3 ist genau dann 1, wenn Steuerbit 0 = 1 UND Steuerbit 1 = 1 => 
AND-Gatter an Steuerbit 0 und 1, Ausgang des Gatters ist dieser Ausgang.


Du brauchst also nur ein AND.

von Sebastian (Gast)


Lesenswert?

Man könnte einen 74138 verschwenden, von den Select-Eingängen nur A und 
B verwenden, G1 auf +5V, G2A und G2B auf Masse, die Ausgänge Y0-Y3 durch 
Dioden so verküpfen, daß der jeweils höherwertige die darunterliegenden 
"mitzieht".

von Wolfgang M. (womai)


Lesenswert?

Hallo Martin,

nein, ein Schieberegister braucht wirklich nur 2 Leitungen - Daten 
(data) & Taktsignal (clock). Der Rest (Enables, Reset, Serial Out etc.) 
falls vorhanden ist optional und im vorliegenden Fall nicht notwendig 
(einfach /CE mit GND verbinden, Reset mit VCC, usw.; der serielle 
Ausgang fuehrt zum Eingang fuer weitere Schieberegister falls noetig).

Wolfgang

von Martin (Gast)


Lesenswert?

@Wolfgang
Das flattern die Ausgänge während des schiebens.

@Karl-Heinz
>Bit 1 ist genau dann 1, wenn Steuerbit 0 = 1 => Direkt an Steuerbit 0

Wie kommst du darauf? Dann währe der Ausgang bei Eingang 1 0 wieder 0. 
Das ist aber nicht richtig.

von bronko (Gast)


Lesenswert?

was ist denn mit nem 74xx595? gibts doch auch noch mit treibern.
könntest alle relais dranhängen und hättest noch 5 leitungen für andere 
sachen frei.
gruß

von Wolfgang M. (womai)


Lesenswert?

@Martin,

Ausgaenge flattern, das stimmt, darauf habe ich allerdings schon bei 
meinem ersten Posting hingewiesen. Ob's aber stoert, haengt davon ab, 
was man treibt und wie schnell. Z.B. wenn man bloss LEDs ansteuert, 
ist's normalerweise ganz egal. Wenn man einen Takteingang ansteuert, ist 
es toedlich. Fuer Relays haengt es davon ab, wie schnell - wenn man die 
Daten mit 100 kHz oder mehr reinschiebt (ohne weiteres moeglich mit dem 
Parallelport), merkt das Relay gar nix - die Schiebevorgang ist dann 
viel schneller als die mechanische Reaktionszeit. Noetigenfalls kann man 
ja noch einen R-C-Tiefpass mit ca. 1ms Zeitkonstante (10 kOhm + 100nF) 
an die Ausgaenge des Schieberegisters anhaengen, damit schnelle 
Aenderungen gar nicht erst bis zum Relaytreiber durchkommen.

Wolfgang

von Uwe (Gast)


Lesenswert?

Hi!
4 Dioden und ein R, dann ist die Sache gegessen(oder ein AND + 2 Dioden)
Noch mal fix nachgeschaut, ohh, Signale kommen ja von ULN2803AG und 
sollen Relais schalten. Moment ULN2803AG schaltet nach GND, stimmt das?
Ok, 6 Dioden 3 R's und 2 PNP Transistoren dann sollte es passen :-)
Kleiner Tip,  das 4. Relais muss genau dann einschalten wenn beide
Eingänge auf Low sind, ein Eingang schaltet 1 Relais und der andere 2
Den Rest mahlst du dir jetzt bitte mal selber auf. Achso 1 R ist Pullup.
Die 2 anderen zur Basisstrombegrenzung und die 6. Diode eine 
Freilaufdiode

Viel Erfolg, Uwe

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.