PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Adressierung von SPI-Slaves



goof1980
14.03.2011, 12:54
Hallo,

ich plane derzeit ein kleines Projekt an denen mehrere SPI-Slaves an einem Master hängen. Diese will ich nicht alle hintereinander durchschleifen, sondern alle einzeln adressieren. Wenn ich jetzt aber z.B. 16 Slaves hätte, bräuchte ich ja vom Master kommend 16 Ausgänge für den Slave-Select bzw. Chip-Select. Deswegen würde ich das gern anders lösen.

16 Adressen sind für mich vollkommen ausreichend, deswegen dachte ich mir, ich nehm 4 Ausgänge vom Master und noch nen Dip-Schalter mit dem ich die Adresse einstellen kann, nen Vergleicher (hatte mir da den 74HC85 rausgesucht, der hat direkt nen Ausgang für Gleichheit) und fertig. Ich stelle also z.B. ne 5 bei den Dip-Schaltern ein, das ist die Adresse für den Slave. Wenn ich den Auslesen bzw. setzen will setzt der Master auf den 4 Ausgängen auch binär die 5, der Vergleicher sagt es ist gleich und setzt den CS bzw. SS und dann beginnt das Bitgeschiebe.

Ich denke vom Ansatz her sollte das gehen.

Jetzt hab ich aber das Problem, das der Vergleicher den ich rausgesucht habe bei Gleichheit ein HIGH-Signal liefert. CS bzw. SS werden aber fast immer mit LOW-Signal aktiv. Deswegen erste Frage: was kann ich da machen? Kennt jemand einen anderen Baustein für so einen Vergleich? Oder ein anderes Prinzip?

Ich habe leider etwas Platzprobleme, deswegen sollte der Baustein nicht größer werden.

Im schlimmsten Fall dachte ich schon, einen Tiny zu nehmen für diese Aufgabe, aber weiß nicht ob der dann eine bestimmte Geschwindigkeit haben muss oder ob das nicht relevant wäre.

Vielen Dank vorab.

Gruss Christian

Bumbum
14.03.2011, 19:48
Wie wäre es mit 1kOhm + BC547 + Pull-Up von sagen wir 100kOhm?

goof1980
14.03.2011, 20:24
du meinst damit einfach das signal negieren? wäre ne idee, aber wieder bauteile mehr. gäbe es noch alternativen? würde das mit nem tiny funktionieren?