Hallo, Ich möchte mit MCP23017 Status von 8 Taster auslesen. ich habe 2 Stromkreise 3.3V und 5V. 1) Darf ich MCP23017 mit der Spannng 3.3V betreiben (VSS/RESET), aber als Prüfung ob Taster aktiviert ist 5V vom den anderen Stromkreis an die GP Ports anlegen? 2) Oder besser MCP23017 mit der Spannung 5V betreiben, 5V geht durch die Taster an GB Ports? Man muss aber beachten, dass MCP23017 als Slave Befehle von einem anderen Gerät (STM32F103 - I2C Kommunikation), der wieder nur 3.3V betrieben werden kann. Geht die I2C 3.3V <-> 5.5V Kommunikation? Bin leider nicht so erfahren im Lesen von Datenblätter. Gibt es eine gute Einführung um alle Begriffe zu verstehen? Danke im Vorraus.
Hallo, die Angaben, die Du suchst sind meist in einer Tabelle im Datenblatt. Dabei muss man zwischen - "Absolut Maximum Ratings" : Sachen, die das Bauteil überlebt, ohne Rücksicht darauf, was es währenddessen tut oder was man machen muss, damit es sich wieder wie beschrieben verhält. - "Operating Conditions" : Das Bauteil funktioniert wie beschrieben. unterscheiden. Wir suchen also nach Eingangspegel für Low und High.... Low 0...0,2*VDD High 0,8*VDD...VDD Die Adresseingänge für I2C spielen ja gerade keine Rolle, da die vermutlich auf feste Pegel gelegt werden. Beim Takt, gibt es noch eine Kleinigkeit in der Tabelle : bei 3,3 V ist nicht der volle Takt möglich, sondern nur 400 kHz. Also mit 5V betreiben und 3,3 V Signale auswerten : sogar ohne worst-case-Betrachtung der Toleranzen kommt das Eingangssignal nicht über die 4 Volt, die für eine sichere Erkennung des High-Pegels gefordert werden. Mit 3,3 V betreiben und 5 V Signale direkt auswerten : geht auch nicht, weil Maximalwert für High ist VDD. Mit 3,3 V betreiben, Pullups nach 3,3 V an den Eingängen und Dioden von Eingang nach Signal (mit Anode zum Eingang hin) : geht auch nicht, da selbst wenn Signal bis 0 Volt runter geht für Low, über die Diode so ca. 0,7 Volt am Eingangspin übrig bleiben. Und das ist mehr als die 0,66 Volt, die ein Low maximal haben sollte. Mit 3,3 V betreiben, Pullups nach 3,3 Volt und Open-Collector-Ausgänge eines vorgeschalteten ICs kann funktionieren. Mit 5 V betreiben, Pegelwandlung auf I2C Seite : nicht ganz so einfach, weil die I2C Signale bidirektional sind. Es gibt da eine Schaltung mit Transistoren, die ich jetzt nicht im Kopf habe. Vorteil wäre, dass nur 2 Signale angepasst werden müssen und das IC den vollen Takt könnte (wenn die Transistoren hinterher kommen).
Die I2C-Pins des STM32F103 sind 5V-tolerant. Du kannst also den MCP23017 mit 5V betreiben, und die I2C-Pullups auf 5V legen. Vorausgesetzt, alle anderen Slaves an dem Bus werden ebenfalls mit 5V betrieben oder es ist nur der MCP23017 angeschlossen.
allgemein schrieb: > 1) Darf ich MCP23017 mit der Spannng 3.3V betreiben (VSS/RESET), aber > als Prüfung ob Taster aktiviert ist 5V vom den anderen Stromkreis an die > GP Ports anlegen? Nicht direkt. Aber mit einem Spannungsteiler, der die 5V auf 3.3V transformiert, gehts problemlos.
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.