CMOS 4067 als De/Multiplexer

Gast #431484
Lesenswert?

Hi an alle!

Habe folgendes Problem. Ich habe einen CMOS 4067 Multi-Demultiplexer und 
habe es geschafft, mit 4 Eingangssignalen (A,B,C,D) einen der 16 
Ausgangskanäle zu schalten (0-15). Ich frage mich, ob es auch möglich 
ist, mit dem gleichen Bauteil umgekehrt zu verfahren, also durch Anlegen 
einer Spannung an (0-15) die vier Kanäle (A,B,C,D) zu schalten. Ich 
verstehe leider das Datasheet des Herstellers nicht, was mit dem PIN 
"Common Out/In" gemeint ist. Ich finde im Datasheet auch keine Hinweise 
darauf, wie man das ganze umkehrt. Bin sehr dankbar für jeden Hinweis.

mfg
an die community
Gast #431490
Lesenswert?

Hallo

es handelt sich um einen analogen Multiplexer.
Das bedeuted das eine von den 16 In/Out Leitungen mit dem CommonIn/Out 
verbunden wird. Ausgewählt wird die Leitung mit A,B,C,D.
Muß man sich wie ein Drehschalter vorstellen.
(Firma: Rehrmann Elektronik) #431609
Lesenswert?

@Klaus:
der 4067 ist ein (de)multiplexer, d.h., die Eingänge A...D sind immer 
nur Eingänge zur Auswahl eines von 16 Kanälen. Ein Baustein, der, je 
nach aktivierten Kanal, einen Binärcode generiert, nennt sich 
Priority-Encoder. Das ist aber eine völlig andere Funktion.

Jörg
Gast #431929
Lesenswert?

Vielen Dank für die schnellen Antworten!

Kann mir vielleicht jemand einen Priority-Encoder empfehlen?
Muss ein 10-4 PE sein. Was ich möchte:
Ich will 10 Tasten, die mit Tastschalter realisiert sind mit einem 
Microcontroller verbinden, der 4 Eingänge hat. Dazu möchte ich also 10 
Leitungen auf 4 runtercodieren, und dieses BCD Signal in den Prozessor 
einspeisen. Vielen Dank für Antwort.

mfg,
an alle
Gast #431939
Lesenswert?

Für 16 auf vier braucht man zwei 74xx147 und ein 7400 zur Verschaltung.

10 zu vier ist einfach ein 74xx147, für die 10 Taster natürlich noch 10 
pull-up-Widerstände. Die Taster schalten nach Masse
(Firma: Rehrmann Elektronik) #432104
Lesenswert?

@Klaus:
Wenn es nur darum geht, 10 Taster mit 4 µC-Leitungen einzulesen, gibt es 
wesentlich elegantere Lösungen als kaskadierte Priority-Encoder. Ganz 
ohne IC kommt z.B. die Diodenmatrix aus. Dazu werden die 4 Eingänge mit 
je einem Pull-Down-Widerstand versehen. Die Taster liegen mit einem Pin 
auf Vcc und mit dem anderen auf der/den Anode(n) einer oder mehrerer 
Dioden. Die Kathode(n) der Diode(n) gehen jeweils auf die Eingänge, die 
beim Drücken eines bestimmten Tasters gesetzt werden sollen. Je nach 
Verschaltung der Dioden bekommst Du dann für jeden Taster einen 
definierten Binärcode. Z.B.
Taster #1: Diode vom Taster nach Pin A ergibt 0001 oder
Taster #5: je 1 Diode vom Taster nach Pin A und C ergibt 0101
Nachteil: Wenn mehrere Taster gleichzeitig gedrückt sind, kann sich ein 
unsinniger Code ergeben. Der Priority-Encoder generiert in diesem Fall, 
wie der Name schon andeutet, einen eindeutigen Code der Taste mit der 
höchsten Priorität.
Auch sehr elegant ist die Verwendung eines Schieberegisters mit 
Paralleleingang, z.B. 74xx165. Die können sehr einfach in 8-er-Schritten 
kaskadiert werden.
Vorteil: Du kannst mit 3 I/O-Leitungen beliebig viele Taster abfragen.
(1. Parallel-Load, 2. Shift-Clock, 3. Serial-Out) und Du brauchst nur 1 
IC + 8 Pull-Up-Widerstände pro 8 Taster.
Außerdem kannst Du auch jede beliebige Mehrfach-Tastenkombination direkt 
abfragen, was manchmal ganz nützlich zur einfachen Implementierung von 
Service-Funktionen ist, die im Normalbetrieb nicht zugänglich sein 
sollen.

Jörg
Gast #432118
Lesenswert?

>Wenn es nur darum geht, 10 Taster mit 4 µC-Leitungen einzulesen, gibt es
>wesentlich elegantere Lösungen als kaskadierte Priority-Encoder.

Jepp: Die Tasten in einer Matrix anordnen (Atmel-Application Note 
AVR240)
#432133
Lesenswert?

Klaus wrote:

> Kann mir vielleicht jemand einen Priority-Encoder empfehlen?
> Muss ein 10-4 PE sein. Was ich möchte:
> Ich will 10 Tasten, die mit Tastschalter realisiert sind mit einem
> Microcontroller verbinden, der 4 Eingänge hat. Dazu möchte ich also 10
> Leitungen auf 4 runtercodieren, und dieses BCD Signal in den Prozessor
> einspeisen. Vielen Dank für Antwort.


Nimm doch einfach einen MC dafür (ATtiny2313) oder gleich nen MC mit 
mehr Pins.


Peter
(Firma: Rehrmann Elektronik) #432241
Lesenswert?

>>Wenn es nur darum geht, 10 Taster mit 4 µC-Leitungen einzulesen, gibt es
>>wesentlich elegantere Lösungen als kaskadierte Priority-Encoder.

>Jepp: Die Tasten in einer Matrix anordnen (Atmel-Application Note
>AVR240)

Das lohnt aber erst bei größeren Tastaturen. Bei 10 Tasten brauchst Du 
eine 3x4-Matrix = 7 Leitungen, bringt also nichts.

Jörg

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren