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.
Warum spendierst du den nächsten 4 Chips nicht einfach ein eigenes CS-Signal?
üblicherweise benutzt man schrottbillige schieberegister als günstige i/o expander.
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).
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
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.