Forum: Mikrocontroller und Digitale Elektronik Alternative MCP23S08


von Sebbi (Gast)


Lesenswert?

Hallo,

gibt es eine ähnlich preiswerte Lösung wie den MCP23S08? Mich stört, 
dass dieser leider nur 4 Adressen pro SS/CS haben kann. Der MCP23S17 ist 
mir zu groß, bzw. meine erweiterungen brauchen idR nur 8Datenleitungen.

Der Baustein sollte mit VCC 3V3 - 5V betrieben werden. Einstellungen ob 
ein Pin als Ausgang oder Eingang genutzt wird sollte dem MCP 
nachempfunden sein.

von Peter P. (Gast)


Lesenswert?

Warum spendierst du den nächsten 4 Chips nicht einfach
ein eigenes CS-Signal?

von Joe F. (easylife)


Lesenswert?

üblicherweise benutzt man schrottbillige schieberegister als günstige 
i/o expander.

von user (Gast)


Lesenswert?

Wie wäre es mit max7301

von Sebbi (Gast)


Lesenswert?

Hallo Peter,
weitere IOs für CS sind Mangelware.

Hallo Joe,
ja das hab ich vor. Die MCPs sind verhältnismäßig recht günstig, hätte 
das IC nur halt gerne mit einem größeren Adressbereich.

Hallo user,
der MAX ist leider recht teuer. (~5EUR).

von Joe F. (easylife)


Lesenswert?

Sebbi schrieb:
> Hallo Joe,
> ja das hab ich vor. Die MCPs sind verhältnismäßig recht günstig,

naja, 1$ so ungefähr, oder?

> hätte
> das IC nur halt gerne mit einem größeren Adressbereich.

Warum denn, wenn du vor hast sie durch Schieberegister (74HC595, 
74HC165, 0,10$) zu ersetzen?

https://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI

von Sebbi (Gast)


Lesenswert?

Hallo Joe,

mit den Schieberegistern habe ich schon einige Male gearbeitet. Meist 
aber getrennt.

Das Problem ist aber, dass ich hier nicht beliebig die 
DDR-Funktionalität habe. Ich baue mir ein EvalBoard auf, bei denen immer 
8 Pins zu einem Port zusammengefasst werden. Die Erweiterungen habe aber 
unterschiedliche anforderungen. Mal werden mit DO als DI gebraucht, bzw. 
umgekehrt.

von Joe F. (easylife)


Lesenswert?

Das 74xx595 hat einen output enable pin. Damit kann man die Ausgänge 
wahlweise treiben oder tri-staten.
Wenn man die Pins jetzt sowohl an ein 74xx595 und ein 74xx165 hängt, 
kann man diese 8-er Gruppe umschaltbar als Inputs oder Output verwenden.

Je 8 Output-Enables passen wiederum an ein 74xx595.

D.h. mit 9 74xx595 und 8 74xx165 kann man einen 64 Pin I/O Expander, in 
8er Gruppen zwischen Input und Output umschaltbar, realisieren.
Kosten ca. $1.70.

Bei 64 I/Os ist natürlich noch lange nicht Ende...
Und am Mikrokontroller benötigst du lediglich 4 Pins (3 Outputs, 1 
Input)

: Bearbeitet durch User
von Sebbi (Gast)


Lesenswert?

Gibt es dazu einen Schaltplan, wie das ganze aufgebaut wird?

von Sebbi (Gast)


Lesenswert?

Edit:

Jetzt habe ich glaub verstanden, wie du das meinst. Ist aber leider 
nicht das, was bei mir gewünscht ist. Damit könnte ich nur entscheiden, 
ob jeweils 8Pin In oder Outputs sind. Und das ist das, was ich oben 
bereits angemerkt habe.

Z.B.
Port0
5DI
3DO

Port1
1DI
7DO

..

Das ganze variert.

von Peter P. (Gast)


Lesenswert?

Wie wichtig ist dir eigentlich die Geschwindigkeit deiner IO-Ports?
Du könntest auch mehrere MCP23S08 hinten einen MCP23S08 hängen.
Dann musst du aber die SPI Übertragung selbst Bit für Bit,
Signal für Signal steuern/erzeugen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.