mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie am einfachsten Chip-Select-Logik realisieren??


Autor: wg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,

was ist der einfachste Weg, aus einem 5-Bit-Signal einen Select-Signal 
zum Aktivieren eines SPI-Slaves zu generieren? Der Slave ist ein µC. 
Kann man das unkompliziert im Controller realisieren??

Danke schon mal!

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wärs wenn du dafür einen Portpin nimmst?

Autor: wg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wg schrieb:
> Gibt es vielleicht Decoder, die man für so etwas verwenden lassen?
Ne sowas hat vor dir noch nieeeeemals nie nicht jemand versucht ;)

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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:
> Aber aufpassen:
> du wirst Glitches auf deiner Slave-Select-Leitung haben :-o
im Datenblatt des 74HC/HCT237 ist ein 6 zu 64 Decoder beschrieben mit LE 
da solte es doch eigentlich keine GLitches geben oder?

Autor: karadur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

such mal nach 74688. Damit haben wir früher Adressen dekodiert. Kann 
8Bit.

7485 könnte auch interessant sein.

Autor: wg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der 74HC138 hat 3 frei decodierbare Inputs und 3 fest definierte. Damit 
lassen sich die meisten Kombinationen abdecken.

Autor: eumel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Problem ist nur, ich habe 5 Singale und nicht 4. Deswegen habe ich auch
das 5te an CS oder G oder OE oder...

Autor: wg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>das 5te an CS oder G oder OE oder...

Das wäre ja fast ideal, Decoder mit vier Dateneingängen und einem 
Enable, aber so etwas habe ich auch nicht gefunden.

Autor: Tom Ekman (tkon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie wär's den mit einen einfachen Komparator 8Bit?
z.B den 74682 oder 74866

Autor: wg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>z.B den 74682 oder 74866

dazu habe ich nichts gefunden

Autor: Christian Erker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
74154: 1-aus-16 Dekoder .. mit AFAIR 2 Enables (1 High-Aktiv, 1 
Low-Aktiv)
ist allerdings 24pinnig..

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: wg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CMOS 4514, 74HC4514, sind aber ebenfalls DIP24 600mil.

Müssen alle 32 Kombinationen möglich sein, oder gibt es bestimmte 
Pattern?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist ein Glitch als SPI-SS überhaupt ein Problem? Den meisten Slaves 
sollte ein Glitch kurz auf Low egal sein, wenn zu diesem Zeitpunkt der 
Takt inaktiv ist.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ist ein Glitch als SPI-SS überhaupt ein Problem?
Richtig, das war meine Frage ;-)
>>>>> du wirst Glitches auf deiner Slave-Select-Leitung haben :-o
>>>>> Kommst du bzw. dein uC damit klar?

Autor: karadur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

wie ich oben schon schrieb 7485 und 74688 sind dafür mal entwickelt 
worden.

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

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: wg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: karadur (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
karadur schrieb:

> Der 74688 wurde früher oft mit einem "Mäuseklavier" und einem R-Array
> für die Adressauswahl verwendet.

Nur ist das Pinout dafür leider suboptimal. Weil eben nicht 
links/rechts, sondern hübsch abwechselnd.

Autor: wg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: wg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf jeden Fall BESTEN DANK an alle Beteiligten!!!!!!!!

Autor: kurz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wg schrieb:

> 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.

74HC geht ab 2V.

Autor: karadur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
@ A.K. ist halt vor 30 Jahren entwickelt worden. Hat auf dem ECB-Bus gut 
funktioniert.

Ich weiß ist Steinzeit. Tut aber noch. Ich vermute aber das du das sehr 
wohl weißt.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein 4-Fach NAND und 4-Fach AND hättens auch getan.
Muss man nur ebend passend zusammenpuzzeln.
Ist teilweise billiger als ein ´688

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gast schrieb:

> Ein 4-Fach NAND und 4-Fach AND hättens auch getan.

Wie erkennst du damit beispielsweise addr=00000?

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimmste halt ein 4 Fach NOR und nen Transistor als Inverter.

Autor: wg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
74HC688 mit einem Dip-Schalter ist wirklich genau das was ich brauche.

NOCHMALS VIELEN DANK FÜR EURE HILFE!!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.