Multiplexer

T

Thomas Kainzl

Guest
Hi,
gibt es Multiplexer in der Größenordnung von 128 (2^7) Eingangsleitungen?
Oder sollte man einfach mehrere Kleinere (in diversen Shops hab' ich
lediglich solche gefunden) hintereinander anbringen?
Es geht darum, in einer Matrix von Kontakten, den geschlossenen zu finden!

LG Thomas
 
"Thomas Kainzl"

gibt es Multiplexer in der Größenordnung von 128 (2^7) Eingangsleitungen?
Oder sollte man einfach mehrere Kleinere (in diversen Shops hab' ich
lediglich solche gefunden) hintereinander anbringen?
Es geht darum, in einer Matrix von Kontakten, den geschlossenen zu finden!
Weißt du eigentlich wie lang son Chip wär? :)

Ich würd auch sagen:

4051 hat 8 Eingänge mit 3 Bit und ist recht Stromsparsam.
4052 nutze ich selber für etwas.

Davon 18 Stück.

16 erste Reihe, Dann nochmal zwei Stück.


HTH,

Markus - http://gronoworx.dyndns.org
 
"Markus Gronotte"

gibt es Multiplexer in der Größenordnung von 128 (2^7) Eingangsleitungen?
Oder sollte man einfach mehrere Kleinere (in diversen Shops hab' ich
lediglich solche gefunden) hintereinander anbringen?
Es geht darum, in einer Matrix von Kontakten,
Momentmal. Du sprichst von Matrix. Kannst du das Ganze dann nicht als Matrix mit
viel weniger Multiplexern abfragen? Sag uns doch mal wie die Matrix genau aussieht.
Meinen Tip mit dem 4051 vergiss mal wieder. Das war ein analoger MUX. Dir reicht
ja ein digitaler vermute ich.

lg,

Markus - http://gronoworx.dyndns.org
 
Thomas Kainzl <t.kainzl@gmx-topmail.de> wrote:

Hi!

gibt es Multiplexer in der Größenordnung von 128 (2^7) Eingangsleitungen?
Wär wohl ne Anwendung fürn CPLD oder FPGA mit vielen Pins. Leider sind
die entsprechenden dann auch innen nicht ohne (und hoffnungslos
unterfordert) und dementsprechend teuer.

Es geht darum, in einer Matrix von Kontakten, den geschlossenen zu finden!
Deine Matrix hat 128 Spalten? Meine Güte, wieviel tausend Kontakte
sind das denn?

Gruß,
Michael.
 
Markus Gronotte wrote:
Momentmal. Du sprichst von Matrix. Kannst du das Ganze dann nicht als
Matrix mit viel weniger Multiplexern abfragen?
Sag uns doch mal wie die Matrix genau aussieht.
Hm... eigentlich, wenn ich mir das recht überlege, wäre die "andere
Richtung" wohl sowieso passender! Also einen/ mehrere Decoder zu verwenden.
Zur Matrix:
Ich hab zB. 128 Kontaktleitungen an der einen Seite und 64 an der
anderen, und ich will den "Schnittpkt"/ den geschlossenen Kontakt
herausfinden.


LG, Thomas

Weißt du eigentlich wie lang son Chip wär? :)
lang ;)
 
Thomas Kainzl <t.kainzl@gmx-topmail.de> writes:

Hm... eigentlich, wenn ich mir das recht überlege, wäre die "andere
Richtung" wohl sowieso passender! Also einen/ mehrere Decoder zu verwenden.
Zur Matrix:
Ich hab zB. 128 Kontaktleitungen an der einen Seite und 64 an der
anderen, und ich will den "Schnittpkt"/ den geschlossenen Kontakt
herausfinden.
Als Matrix wäre das mit (8+4)*CD4067 und etwas Kleinkram (PIC oder so) zu
erledigen. Also gar nicht mal so schlimm.

Weißt du eigentlich wie lang son Chip wär? :)
lang ;)
Naja, die LCD-Zeilen/Spaltentreiber machen sowas schon. Die sind dann auch tw.
1-2cm lang, aber nur 0.3mm breit. Geht halt auch nur mit Flipchip...
--
Georg Acher, acher@in.tum.de
http://www.lrr.in.tum.de/~acher
"Oh no, not again !" The bowl of petunias
 
Hallo,

von Lattice gibt es einen digitalen Schalterchip.

Ciao

"Thomas Kainzl" <t.kainzl@gmx-topmail.de> schrieb im Newsbeitrag
news:dds5b1$7kf$1@odin.weihenstephan.org...
Hi,
gibt es Multiplexer in der Größenordnung von 128 (2^7) Eingangsleitungen?
Oder sollte man einfach mehrere Kleinere (in diversen Shops hab' ich
lediglich solche gefunden) hintereinander anbringen?
Es geht darum, in einer Matrix von Kontakten, den geschlossenen zu finden!

LG Thomas
 
"Thomas Kainzl" <t.kainzl@gmx-topmail.de> schrieb im Newsbeitrag
news:dds5b1$7kf$1@odin.weihenstephan.org...

gibt es Multiplexer in der Größenordnung von 128 (2^7) Eingangsleitungen?
Oder sollte man einfach mehrere Kleinere (in diversen Shops hab' ich
lediglich solche gefunden) hintereinander anbringen?
Es geht darum, in einer Matrix von Kontakten, den geschlossenen zu finden!

Auf der einen Seite ein Decoder, der eine aus 128 Leitungen auf Masse legt,
(das tun 18 74HC138)
auf der anderen Seite ein Datenselektor, der eine der 64 Leitungen auswaehlt
(das tun 8 74HC151 an einem 74HC138)
Wenn die Schalter echte Schalter sind (0 Ohm und unendlich Ohm)und nur einer
geschlossen sein kann, kannst du 64 1 k Widerstaende an den Leitungen als
Spannungsteiler anschliessen, mit 75uA Stromquelle versorgen, und per A/D-
Wandler das Signal einlesen. Spart 9 ICs gegen 64 Rs.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
MaWin wrote:
Auf der einen Seite ein Decoder, der eine aus 128 Leitungen auf Masse legt,
(das tun 18 74HC138)
auf der anderen Seite ein Datenselektor, der eine der 64 Leitungen auswaehlt
(das tun 8 74HC151 an einem 74HC138)
Wenn die Schalter echte Schalter sind (0 Ohm und unendlich Ohm)und nur einer
geschlossen sein kann, kannst du 64 1 k Widerstaende an den Leitungen als
Spannungsteiler anschliessen, mit 75uA Stromquelle versorgen, und per A/D-
Wandler das Signal einlesen. Spart 9 ICs gegen 64 Rs.
Nein -- das wird nicht gehen. Es soll auch erkennbar sein, ob eventuell
auch zwei oder mehrer Kontakte gleichzeitig geschlossen sind. Sprich ich
muss die schon sequentiell abfragen!

Ansonsten eine nette Lösung! Gibt es den 74HC138 auch als "nicht-inverting"?

Danke, lG Thomas
 
"Thomas Kainzl" <t.kainzl@gmx-topmail.de> schrieb im Newsbeitrag
news:ddt76i$fss$1@odin.weihenstephan.org...
Gibt es den 74HC138 auch als "nicht-inverting"?
74hc238, schwer beschaffbar, eher aus der cd4000 serie z.B. 4028

--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
Thomas Kainzl <t.kainzl@gmx-topmail.de> wrote:

Hi!

Vergiss nicht die pull-up-Widerstände an den Eingängen..

Es soll auch erkennbar sein, ob eventuell
auch zwei oder mehrer Kontakte gleichzeitig geschlossen sind.
Für zwei geschlossene Kontakte brauchst noch Dioden hinter den
Treibern (oder gleich open collector), sonst kannst mit zwei Tasten
zwei Decoder kurzschließen. Für noch mehr gleichzeitig gedrückte
brauchst eine Diode je Taster, sonst ists nicht mehr eindeutig (zB mit
drei geschlossenen Kontakten, von denen zwei auf einer Zeile und zwei
auf einer Spalte liegen).

Gruß,
Michael.
 
Thomas Kainzl <t.kainzl@gmx-topmail.de> writes:


Hm... eigentlich, wenn ich mir das recht überlege, wäre die "andere
Richtung" wohl sowieso passender!
Da gäbe es den 74154 (4 to 16) oder den entsprechenden 74159 mit
open-collector-Ausgang. OB es die heute in den neueren Familien
tatsächlich noch gibt, mag was anderes sein...

Zur Matrix:
Ich hab zB. 128 Kontaktleitungen an der einen Seite und 64 an der
anderen, und ich will den "Schnittpkt"/ den geschlossenen Kontakt
herausfinden.
Sind das _wirklich_ 8196 (acht-tausend-einhundert-sechs-und-neunzig)
Schalter?

Ist das eine Emulation eines RAM? Wer hat das entworfen & gelötet? :)

Oder sind das einmal 128 Schalter und einmal 64 Stück und Du möchtest
den (virtuellen) Schnittpunkt errechnen?

Kann immer nur *ein* Schalter (-Paar) aktiv sein?

fragend, Holger
 
Holger Petersen wrote:
Thomas Kainzl <t.kainzl@gmx-topmail.de> writes:
Sind das _wirklich_ 8196 (acht-tausend-einhundert-sechs-und-neunzig)
Schalter?
*hehe* Naja - JA :)
Sieht so aus, dass für zB. die ersten 128 Kontakt ein horizontale
Leitung 128 vertikale schneidet. Also das Lötproblem gibt's demnach nicht ;)

Kann immer nur *ein* Schalter (-Paar) aktiv sein?
Nein auch mehrere!


LG, Thomas
 
Michael Eggert wrote:
Für zwei geschlossene Kontakte brauchst noch Dioden hinter den
Treibern (oder gleich open collector), sonst kannst mit zwei Tasten
zwei Decoder kurzschließen. Für noch mehr gleichzeitig gedrückte
brauchst eine Diode je Taster, sonst ists nicht mehr eindeutig (zB mit
drei geschlossenen Kontakten, von denen zwei auf einer Zeile und zwei
auf einer Spalte liegen).
Naja -- ich hab' mir das so vorgestellt:
An einer Seite ("horizontal") ein/ mehrere 74hc238 oä (den MaWin
vorgeschlagen hat) denen ich sequentiell ein H anlegen lasse. Die
Ausgänge jeweils durch Dioden geschützt. An der anderen Seite
("vertikal") ein/ mehrere Mutiplexer die ich dann ebenfalls sequentiell
abfrage. Somit umgehe ich doch das Problem mit der Mehrfachbetätigung!?

Soweit richtig?

LG Thomas
 
In article <ddvivl$2uq$1@odin.weihenstephan.org>,
Thomas Kainzl <t.kainzl@gmx-topmail.de> writes:
Ausgänge jeweils durch Dioden geschützt. An der anderen Seite
("vertikal") ein/ mehrere Mutiplexer die ich dann ebenfalls sequentiell
abfrage. Somit umgehe ich doch das Problem mit der Mehrfachbetätigung!?

Soweit richtig?
Nicht ganz. Wenn z.b. die Schalter diagonal in der Matrix geschlossen
sind scheint es so als ob alle Schalter geschlossen sind.
+...*++
+..*.++
+.*..++
+*...++
+++++++

Ein Kurzschluss entsteht dann natürlich keiner.

--
MFG Gernot
 
"Thomas Kainzl" <t.kainzl@gmx-topmail.de> schrieb im Newsbeitrag
news:ddvivl$2uq$1@odin.weihenstephan.org...

Somit umgehe ich doch das Problem mit der Mehrfachbetätigung!?
Die Dioden muessen in jeden Schalter.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
Gernot Fink wrote:
Nicht ganz. Wenn z.b. die Schalter diagonal in der Matrix geschlossen
sind scheint es so als ob alle Schalter geschlossen sind.
+...*++
+..*.++
+.*..++
+*...++
+++++++

Ein Kurzschluss entsteht dann natürlich keiner.
Da kann ich dir nicht ganz folgen! Ich dachte eigentlich an soetwas:

// Im C Pseudo-Code :)

for (int col = 0; col < MAX_COLCOUNT; col++)
{
Leitung col im "74hc238- Array" auf H setzen;
for (int row = 0; col < MAX_ROWCOUNT; row++)
{
Zustand der Leitung row prüfen;
// Wenn H -> Schalte (row, col) geschlossen.
}
}

Ich sehe mir also jeden "Knoten" an ob ein H Signal anliegt oder nicht.

LG, Thomas
 
Thomas Kainzl <t.kainzl@gmx-topmail.de> wrote:

Die Ausgänge jeweils durch Dioden geschützt.
Somit umgehe ich doch das Problem mit der Mehrfachbetätigung!?
Mit den Dioden in den Ausgängen kannst Du _zwei_ gleichzeitig
gedrückte Tasten erkennen, bei dreien kanns aber Fehler geben. Siehe
unten.

Mit Dioden an jedem Schalter (dann brauchst Du keine an den Ausgängen)
kannst Du _alles_ erkennen.


| |
--A---B------ 1
| |
--C---D------ 2
| |
| |
3 4

1 und 2 sind Ausgänge, 3 und 4 sind Eingänge.

Stell Dir vor, Du hast die Dioden nur in den Ausgängen. Damit
verhinderst Du, daß die Ausgänge miteinander kurzgeschlossen werden
und kannst wie gesagt zwei gleichzeitige Tastendrücke auseinander-
halten, zum Beispiel:

1->A->3 und
1->B->4.

Bei A und C siehst so aus:

1->A->3
2->C->3 und
1->A->3->C->2. Stört nicht, wenn die Ausgänge Dioden haben.


Wenn jetzt aber beispielsweise ABC drückst, bekommst Du...

1->A->3
1->B->4
2->C->3 und
2->C->3->A->1->B->4

....und das kannst Du nun nicht unterscheiden von ABD...

1->A->3
1->B->4
2->D->4->B->1->A->3
2->D->4

....oder ABCD...

1->A->3
1->B->4
2->C->3
2->D->4

....oder jeder möglichen Kombination mit 3 geschlossenen Tasten in
einer 4x4-Matrix.

Ergo brauchst Du für 3 und mehr gleichzeitige Tastendrücke Dioden in
Reihe zu jedem Taster, welche diese langen Pfade unterbrechen.

Ich sehe mir also jeden "Knoten" an ob ein H Signal anliegt oder nicht.
Von der Idee ganz richtig, nur daß ohne Dioden aus einem Knoten ein
ganzes Netz werden kann, wenn man die falschen Tasten drückt.

Gruß,
Michael.
 
Michael Eggert <m.eggert.nul@web.de> wrote:

Nachtrag:

Stell Dir vor, Du hast die Dioden nur in den Ausgängen. Damit
verhinderst Du, daß die Ausgänge miteinander kurzgeschlossen werden
und kannst wie gesagt zwei gleichzeitige Tastendrücke auseinander-
halten, zum Beispiel:

1->A->3 und
1->B->4.

Bei A und C siehst so aus:

1->A->3
2->C->3 und
1->A->3->C->2. Stört nicht, wenn die Ausgänge Dioden haben.
Ich verwende diese Methode erfolgreich mit einem käuflichen Ziffern-
block ohne eingebaute Dioden, also nur mit solchen in den Ausgängen.

Zwei überlappende Tasten detektiere ich, indem ich nach jedem
Abfragezyklus schaue, welche Taste neu dazugekommen ist. Funktioniert
prima.

Bei drei überlappenden Tasten (in besagter kritischer Kombination)
stellt die Software fest, daß scheinbar _zwei_ Tasten gleichzeitig
dazugekommen sind, nämlich die wirklich gedrückte und die mit dem
Strom "über Eck". Das wird dann einfach ignoriert. Fehler gibts nur,
wenn die Taste genau in dem Moment Kontakt macht, wo die eine Leitung
schon abgefragt wurde und die andere noch nicht - denn dann kam ja
scheinbar nur eine neue Taste dazu (und das kann auch die "falsch
verbundene" sein). Stört in meiner Anwendung nicht wirklich, denn wer
auf einer Zahleneingabe drei Tasten gleichzeitig drückt, wird sich
hoffentlich nicht dran stören, wenn dabei selten auch mal Mist
rauskommt.

Gruß,
Michael.
 
In article <de013m$6gd$1@odin.weihenstephan.org>,
Thomas Kainzl <t.kainzl@gmx-topmail.de> writes:
Gernot Fink wrote:
Nicht ganz. Wenn z.b. die Schalter diagonal in der Matrix geschlossen
sind scheint es so als ob alle Schalter geschlossen sind.
+...*++
+..*.++
+.*..++
+*...++
+++++++

Ein Kurzschluss entsteht dann natürlich keiner.

Da kann ich dir nicht ganz folgen! Ich dachte eigentlich an soetwas:

// Im C Pseudo-Code :)

for (int col = 0; col < MAX_COLCOUNT; col++)
{
Leitung col im "74hc238- Array" auf H setzen;
for (int row = 0; col < MAX_ROWCOUNT; row++)
{
Zustand der Leitung row prüfen;
// Wenn H -> Schalte (row, col) geschlossen.
}
}

Ich sehe mir also jeden "Knoten" an ob ein H Signal anliegt oder nicht.

LG, Thomas
Wenn einer der mit . markierten matrixpunkte geschlossen wird wenn die
* geschlossen sind sieht es so aus als ob auch auf der anderen seite der
sterne ein Schalter geschlosssen wurde.

--
MFG Gernot
 

Welcome to EDABoard.com

Sponsor

Back
Top