Forum: Mikrocontroller und Digitale Elektronik I2C I/O Expander mit festgelegten Reset Werten


von Jonathan (johnson123)


Lesenswert?

Hallo zusammen,

ich bin auf der Suche nach einem I2C I/O Expander mit Reset Funktion, 
bei welchem man die default Werte welche der I/O Expander durch den 
Reset annimmt selbst festlegen kann. Alle I/O Expander welche ich bis 
jetzt gefunden habe, haben einen festen default Wert (11111111). Gibt es 
so einen I/O Expander oder muss ich mir eine externe Schaltung 
überlegen?

von Max M. (jens2001)


Lesenswert?

Jonathan schrieb:
> default Werte

Von Was?

Jonathan schrieb:
> default Wert (11111111)

Von Was?

Nach dem Reset sind alle I/Os auf Eingang gesetzt.
Wen du definierte Pegel haben willst musst du mit Pulup/-down arbeiten.

von Clemens L. (c_l)


Lesenswert?

Expander wie der PCA9534 haben keine internen Pullup-Widerstände; du 
kannst die Pins extern hoch oder runter ziehen.

Wenn du mit "Wert" den Inhalt des Konfigurations-Registers meinst: so 
etwas gibt es nicht; dafür bräuchte man einen Chip mit EEPROM oder 
Flash. Du könntest ein Mikrocontroller entsprechend programmieren.

von Carsten-Peter C. (carsten-p)


Lesenswert?

Moin,
wie schon oben erwähnt, würde ich einen ATtiny z.B. den 4313 als 
Expander nehmen. Der ist mit wenigen Zeilen so programmiert, wie Du ihn 
brauchst. Der I2C Treiber PowerMCU hat mir da gute Dienste erwiesen (in 
ASM).
Gruß Carsten

von Jonathan (johnson123)


Lesenswert?

Danke für eure Antworten ich hab mich etwas dumm ausgedrückt. Aber ja 
ich habe gemeint, dass alle I/Os immer als Eingang gesetzt sind nach 
einem Reset, bzw. die entsprechenden Register auf 1111 1111. Das mit dem 
Mikrocontroller behalte ich mal im Hinterkopf, falls die Zustände vor 
dem Reset doch noch gespeichert werden sollen macht das auf jeden Fall 
Sinn aber ich glaube ich werde erstmal bei dem I/O Expander bleiben. Ich 
denke die Wahl wird auf den PCA9538 fallen, den hatte ich mir auch schon 
angeschaut.
Mit dem I/O Expander sollen Spannungsversorgungen für andere Geräte 
geschaltet werden. Da ist momentan auch noch die Frage ob ich ein 
externes Netzteil mit einem Relais schalte oder direkt auf der Platine 
eigene DC/DC Wandler mit ON/OFF Eingang verwende.
Ich wollte ursprünglich die Relais direkt über den I/O Expander schalten 
und bin deswegen gar nicht auf die Idee mit den Pullup/down-Widerständen 
gekommen. Wenn ich jetzt aber noch einen passenden Treiber Baustein für 
das Relais finde oder einen Transistor zum ansteuern verwende sollte ja 
eure Vorgeschlagene Lösung mit den Pullup/-down Widerständen 
funktionieren.

von Bauform B. (bauformb)


Lesenswert?

Clemens L. schrieb:
> Wenn du mit "Wert" den Inhalt des Konfigurations-Registers meinst: so
> etwas gibt es nicht; dafür bräuchte man einen Chip mit EEPROM oder
> Flash. Du könntest ein Mikrocontroller entsprechend programmieren.

Genau das hat Cypress gemacht und jetzt kann man es bei Digikey und 
Mouser kaufen: CY8C95x0A -- EEPROM, PWM, 20, 40 oder 60 I/O-Pins, bis zu 
sieben I2C-Adress-Pins -> erweiterbar bis über 6000 I/O.
1
The system master writes to the I/O configuration registers through
2
the I2C bus. Configuration and output register settings are storable
3
as user defaults in a dedicated section of the EEPROM.
4
If user defaults were stored in EEPROM, they are restored to the
5
ports at power up.

https://www.infineon.com/cms/de/product/microcontroller/legacy-microcontroller/legacy-8-bit-16-bit-microcontroller/psoc-1/cy8c95xx/

von Jonathan (johnson123)


Lesenswert?

Bauform B. schrieb:
> 
https://www.infineon.com/cms/de/product/microcontroller/legacy-microcontroller/legacy-8-bit-16-bit-microcontroller/psoc-1/cy8c95xx/

Danke habs mir mal angeschaut und sieht eigentlich genau nach dem aus 
was ich gesucht habe. Ich werde aber dann vermutlich doch bei der 
Pullup/down Lösung bleiben, dass sollte für meine Anforderungen reichen 
und ist weniger kompliziert.

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.