mach den I2C Bus frei und häng daran die entsprechenden IO Bausteine.
Es ist ein Bus warum die Pins als einfache IOs verwenden wenn du nicht genug hast.
Genau für einen solchen Fall hat man den Bus doch implementiert.
Das ist wie wenn man am Auto die die Wahl hat für die Fahräder einen Dach- oder einen Heck-Fahradträger zu nehmen, sich für den Heckträger entscheidet und sich dann wundert das man den Anhänger nicht dranbekommt weil die Fahrräder im Weg sind.
Da käme auch niemand auf die Idee wie bastel ich mir eine neue Anhängerkupplung die um den Fahradträger drumrum geht.
(Ok es hat bestimmt schon jemand dran gedacht, aber zum Glück gibts da ja den TÜV)
Du kannst dir natürlich auch jetzt 4 Pins als Adressen nehmen einen Pin als Schiebetakt und einen Pin als Signal und mit zwei hoch 4 Schieberegister = 16 Stück eine Seriell zu Parallel umsetzung basteln und dir so 128 digitale IOs generieren.
Für das Signal "Ready" bedarf es keinen IO Pin sondern einen externen Zähler der bis 144 zählt und ein 17 fach UND Glied.
das den Überlauf des Zählers und die Überläufe der Schieberegister verunded.
Dun sendest also immer eine 1 und dann die 8 Zustände der IOs. an das jeweilig adressierte Schieberegister.
So gehen nach und nach alle 16 Überläufe auf eins.
Nach dem diese 16 mal 9 Bit gleich 144 Bit gesendet wurden, braucht es nur noch einen zusätzlichen Takt damit der Zähler auch überläuft. und schon haben wir uns ein ready Signal generiert.
So werden die Signale dann immer nur nach außen geändert wenn auch wirklich alle Werte korrekt anstehen.
Um die Zustände nach außen jeweils für einen Zyklus zu halten bedarf es noch 128 Flipflops mit Takteingang.
So ähnlich hat man früher übrigens auch die hunderte IOs von SPS Steuerungen realisiert.
Da du nur Ausgänge brauchst, lasse ich mal das realisieren von Eingängen weg.
Lesezeichen