SPI - Port-Expander (viele)

Gast #4994215
Lesenswert?
• ▲
▼
Hallo, ich habe folgendes Problem:

Ich habe einen ATmega µC, der viele SPI-Port-Expander ansprechen muss 
(so zwischen 18 und 20 Stück der Sorte MCP23S08).
Jetzt braucht jeder sein eigenes Chip-Select....aber ich kann nicht 
jedem CS einen eigenen µC-Pin geben. Weil ich auch noch ein paar freie 
Pins brauche.

Jetzt dachte ich zuerst, dass ich einfach die jeweiligen CS-Pins selbst 
mit einem übergeordneten SPI-Portexpander anspreche....D.h. vom µC aus 
gehe ich in einen "übergeordneten" Portexpander mittels SPI und CS , und 
dieser Portexpander steuert wiederrum die CS-Pins der 8 
"untergeordneten" Portexpander an....

Das einzige Problem was hierbei wäre, ist, dass sobald ich einen 
Portexpander der untersten Ebene auswähle somit der übergeordnete 
Expander, der ja die untergeordneten Expander ausgewählt hat, auch aktiv 
ist. Somit hängen 2 SPI-Slaves auf demselben Bus, was ja eigentlich 
nicht sein darf....

Oder kann ich das vernachlässigen, weil ich ja eigentlich nichts vom 
übergeordneten Portexpander auslesen will (also nichts von dem über MISO 
an den µC geschickt wird), und somit eh nur Daten vom Untergeordneten 
Expander an den µC gehen (wo Taster dranhängen, deren Status ich 
auslesen will, und ein paar LED´s die ich ansteuern will).

Danke schon mal im Voraus,
LG
#4994266
Lesenswert?
• ▲
▼
D'oh! schrieb:
> Kaum zu glauben aber solche SPI-Slaves kann man hintereinander in Reihe
> schalten.

Schieberegister (74HC595, 74HC165) ja, aber solche komplexen SPI-Slaves 
eher nicht.
Es muß explizit im Datenblatt stehen, wie z.B. beim MAX7219.

Hier steht nur, daß 4 Chips am selben /CS hängen können.
Man könnte mit einem 74HC138 aus 3 IO-Pins 7 * /CS erzeugen, also bis zu 
28 * MCP23S08 ansteuern.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.