Wie am einfachsten Chip-Select-Logik realisieren??

Gast #1387776
Lesenswert?

>Wie wärs wenn du dafür einen Portpin nimmst?

Wie mit nur einem Portpin? Vielleicht habe ich nicht gut erklärt, was 
ich genau brauche. Aus 5 digitalen Signalen soll bei einer bestimmten 
Kombination (z.B. 01101) ein Select-Signal von 1 auf 0 gehen, bei allen 
anderen Kombinationen (ungleich 01101) soll Select-Signal auf 1 bleiben.

Ich habe mir zwar gedacht, dass man die 5 Signale an 5 Pins einlesen 
kann und dann das Select-Signal an einem weiteren Pin ausgeben, aber wie 
mache ich das geschickt in der Software?

Gibt es vielleicht Decoder, die man für so etwas verwenden lassen?
Moderator (Firma: Titel) Persönliche Seite #1387783
Lesenswert?

> Gibt es vielleicht Decoder, die man für so etwas verwenden lassen?
Binär-Decoder heißt das Stichwort, aber mit 5 Bits hast du immerhin 32 
Möglichkeiten. Da wird eine diskrete Logik oder ein GAL sicher einfacher 
sein...

Aber aufpassen:
du wirst Glitches auf deiner Slave-Select-Leitung haben :-o
Kommst du bzw. dein uC damit klar?
Gast #1387816
Lesenswert?

>Ne sowas hat vor dir noch nieeeeemals nie nicht jemand versucht ;)

>Gib einfach mal bei Reichelt in die Suche 'Decoder' ein...

Nach Decodern habe ich ja schon gesucht, nur habe ich keine gefunden, 
die 5 Eingänge haben. Zum Beispiel die BCD-to-Decimal Decoder (1-of-10) 
haben 4 Eingänge und 10 Ausgänge. Ein Ausgang ließe sich als 
Select-Signal verwenden und die anderen 9 kann man vergessen. Das 
Problem ist nur, ich habe 5 Singale und nicht 4. Deswegen habe ich auch 
gefragt, ob ihr welche kennt, die passen würden. Eine weitere 
Einschränkung, ich hätte gerne was mit 3.3 V als Versorgungsspannung.


>Da wird eine diskrete Logik oder ein GAL sicher einfacher
>sein...

Mit Logik brauche ich ja ein AND mit 5 Eingängen (ob es so was gibt) 
oder 2 ANDs mit insgesamt 6 Eingängen und dann dazu bis zu 5 Negierer. 
Ob das z.B. vom Platz her besser ist als ein Decoder, hm....  GAL ist 
CPLD oder? Ist ein CPLD nicht ein Overkill für so etwas?

>du wirst Glitches auf deiner Slave-Select-Leitung haben :-o

Decoder z.B. haben keine Glitches, oder?
Gast #1387877
Lesenswert?

> Eine weitere Einschränkung, ich hätte gerne was mit 3.3 V
> als Versorgungsspannung.

Ich glaube ja du solltest ein CPLD verwenden. Das hat genug ein und
Ausgaenge, ist fuer 3.3V und du kannst deine Decodierung auch spaeter
mal aendern. Und sollte sich in deiner Schaltung noch das ein oder 
andere
Gatter befinden dann haust du es auch noch mit darein.

Olaf
Gast #1387880
Lesenswert?

>wie wär's den mit einen einfachen Komparator 8Bit?

Dazu soll ja einer der Komparator-Ausgänge nur bei einer bestimmten 
Kombination an seinen Eingängen LOW sein, bei anderen Kombinationen 
HIGH. Die Komparatoren, die ich mir aber angesehen habe, liefern an den 
Ausgängen nur das Ergebnis des Vergleichs von zwei zugehörigen 
Eingängen. Ich sehe keine Möglichkeit der Verwendung in meinem Fall.
Moderator (Firma: Titel) Persönliche Seite #1387892
Lesenswert?

>> du wirst Glitches auf deiner Slave-Select-Leitung haben :-o
> Decoder z.B. haben keine Glitches, oder?
Doch, denn ein Decoder ist nur Kombinatorik.
Und wenn z.B. die 5 Bit jetzt gerade 00000 sind und auf 11111 wechseln, 
dann tun sie das nicht gleichzeitig. Zudem müssen sie durch ein paar 
AND, NAND, NOR und was-weiß-ich Gatter durch, und kommen dann erst als 1 
Signal am Ausgang heraus. Und solange nicht alle Strompfade durchlaufen 
sind und alles stabil ist, kann an diesem Ausgang einiges passieren.

Läubi schrieb:
> im Datenblatt des 74HC/HCT237 ist ein 6 zu 64 Decoder beschrieben mit LE
> da solte es doch eigentlich keine GLitches geben oder?
Doch, denn der Decoder (Kombinatorik) kommt nach dem Latch (Fig. 5)
#1387908
Lesenswert?

Hallo,

wg schrieb:
>>wie wär's den mit einen einfachen Komparator 8Bit?
>
> Dazu soll ja einer der Komparator-Ausgänge nur bei einer bestimmten
> Kombination an seinen Eingängen LOW sein, bei anderen Kombinationen
> HIGH. Die Komparatoren, die ich mir aber angesehen habe, liefern an den
> Ausgängen nur das Ergebnis des Vergleichs von zwei zugehörigen
> Eingängen. Ich sehe keine Möglichkeit der Verwendung in meinem Fall.

Du hast Dir aber das Datenblatt z.B. eines 74HC688 mal angeschaut?
Der Ausgang geht auf L, wenn die Eingangsmuster an beiden 8Bit-Ports 
übereinstimmen.

Ein Port nach Deinen wünschen verdrahten, am anderen Deine 5 Bit anlegen 
und fertig.

Die überzähligen 3 Bit eben an beiden auf den gleichen Logikpegel legen.

Ein 74HC138 hat einen H-aktiven Select und 2 L-aktive Selecteingänge und 
seine 3 Adressbits.
Wenn also mindestens ein H und ein L in Deiner 5 Bitkombination 
vorkommen, geht der auch.

Das kann doch nicht so schwer sein!

Gruß aus Berlin
Michael
Gast #1387914
Lesenswert?

>Eine Seite deine 5 Bit daran andere Seite dein Bitmuster. Wenn gleich
>dann Signal.

Aber die Ausgänge liefern jeweils den Vergleich an den zugehörigen 
Eingängen und sind unabhängig ob die Kombination an den anderen 
Eingängen passt oder nicht. Und in meinem Fall soll es nur bei einer 
ganz bestimmten Kombination den Select-Signal geben, darum lassen sich 
die Komparatoren nicht verwenden.
#1387916
Lesenswert?

wg schrieb:

> Aber die Ausgänge liefern jeweils den Vergleich an den zugehörigen
> Eingängen und sind unabhängig ob die Kombination an den anderen
> Eingängen passt oder nicht.

Der '688 liefert genau und nur dann ein LOW am Ausgang, wenn alle 
Eingänge Pi den gleichen Pegel haben wie die zugehörigen Eingänge Qi 
(und G=low). Das sind nicht 8x 1-Bit Vergleicher, sondern 1x 8-Bit 
Vergleicher.

Wenn das jumperbar sein soll, dann ist das der einfachste Weg, alle 32 
möglichen Kombinationen abzudecken.

Wenn das nicht das ist, was du suchst, dann solltest du nochmal vor 
vorne beschreiben was du eigentlich willst.
Gast #1387917
Lesenswert?

Hallo

das ist falsch, es werden alle Bits verglichen. Ist genau für deine 
Anwendung gemacht. Genau genommen werden 2 4 bzw. 8 Bit Zahlen 
verglichen.

Der Ausgang = kommt nur dann wenn die Zahlen gleich sind.

Der 74688 wurde früher oft mit einem "Mäuseklavier" und einem R-Array 
für die Adressauswahl verwendet. Eine Seite Adressbus eines Prozessors 
andere Seite "Mäuseklavier" und schon kann man die Adresse einer 
Baugruppe einstellen.
#1387918
Lesenswert?

Hallo,

wg schrieb:
>>Eine Seite deine 5 Bit daran andere Seite dein Bitmuster. Wenn gleich
>>dann Signal.
>
> Aber die Ausgänge liefern jeweils den Vergleich an den zugehörigen
> Eingängen und sind unabhängig ob die Kombination an den anderen
> Eingängen passt oder nicht. Und in meinem Fall soll es nur bei einer
> ganz bestimmten Kombination den Select-Signal geben, darum lassen sich
> die Komparatoren nicht verwenden.

Du hast also noch nie in das Datenblatt eines 74HC688 geschaut...
Sonst wüßtest Du, daß der nur EINEN Ausgnag hat!

Den haben ja nun schin mehrere Leute hier empfohlen.

Was soll das also hier?

Gruß aus Berlin
Michael
Gast #1387922
Lesenswert?

Jezt habe ich endlich das Datenblatt gefunden, das ihr meint. Ich habe 
nach 74688 gesucht und nichts gefunden, dann habe ich mir 
unterschiedliche 8-Bit-Komparatoren angeschaut, die hatten aber alle 8 
unabhängige Ausgänge.

Jetz ist es ja klar. Was noch bleibt, gibt es diesen Baustein auch mit 
3.3 V Versorgungsspannun? Der Controller läuft eben mit 3.3V.
Gast #1387939
Lesenswert?

Man-o-man war das eine schwere Geburt.

Wenn Du (wg) Deine Applikation preisgegeben hättest, wär vielleicht noch 
was ganz anderes herausgekommen.


Ist aber irgendwie Methode bei den Fragestellern: Auf wahnsinnig kleinen 
Aufgabenstellungen rumreiten. Im Vergleich dazu wäre ein Tunnelblick ja 
schon fast Rundumsicht.

Andere Leute hätten vielleicht eine ganz andere Sicht (Übersicht) auf 
das konkrete Problem. Da gäbs oftmals sicher elegantere Lösungen.

Ich denk da nur an einen, der hat partout Tasten über 3 R, 1 C und einen 
Transistor an einen uC-Eingang anschließen wollen. Dieser TE war ja 
hochgradig beratungsresistent. Soll er die Schaltung halt verwirklichen. 
Aber das Problem war sicher ganz wo anders versteckt. Er wird es nie 
erfahren.

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