Schaltplan ok? - piHat basierend auf Atmega 328p für Raspberry Pi Zero

Hallo zusammen,

ich entwerfe gerade meine aller erste Platine basierend auf dem Arduino Uno (ATmega 328p). Zum Schluss soll es ein "Hut" für einen Raspberry Pi Zero mitsamt Kamera werden. Ich nutze noch einen UPS-PiHat von PiJuice für die Stromversorgung. Also habe ich stabile 5V und 3.3V.
Das ganze soll mit Pin-Headern zusammengesteckt werden.
Ein Breadboard-Prototyp funktioniert schon wie gewünscht.

Bevor ich groß anfange Platinen zu entwerfen, wollte ich mal jemanden mit mehr Ahnung über meinen Schaltplan schauen lassen. Vor allem, weil ich im Prototypen vorgefertigte Module nutze, die ich selbst "nachbauen" will und ich außerdem andere Levelshifter einbauen möchte.
Beim erstellen habe ich mich an den Beispielschaltungen in den Datenblättern orientiert.

Seht ihr irgendwelche Fehler oder Mankos in meinem Schaltplan? Ich bin noch ziemlicher Neuling :o

Folgende ICs habe ich:
Atmega 328p: - Mikrocontroller (bisher als Modul) datasheet 328p
DS3231: - Echtzeituhr (bisher als Modul) datasheet DS3231
MPU6050: - Gyro/Accelorameter (bisher als Modul) datasheet MPU050
Txs0104: - Levelshifter mit internen PullUps (noch nicht im Prototypen) datasheet TXS0104
PCA9517A: - Levelshifter speziell für 400Hz I2C (noch nicht im Prototypen) datasheet PCA9517A

Und eine Frage wäre da noch: Wenn ich das Datenblatt des PCA9517A richtig interpretiere, hat mein speziell für 400Hz I2C ausgelegter Levelshifter einen internen PullUp gegen VCCA am ENABLE-Pin. Das würde ja heißen, nur wenn ich den IC ausschalten wollen würde, müsste ich den Pin gegen GND ziehen und andernfalls wäre der IC sowieso an. Deswegen habe ich den Pin einfach nicht verbunden?

Angehängt habe ich das Schaltbild als PDF und Eagle-Datei .

Ich bin für jederlei Hilfe und Kritik sehr dankbar.

Grüße
Philipp

Schema.pdf (35.2 KB)

Schema_Eagle.zip (77.7 KB)

Hallo,

der TXS0104 sollte die 400kHz auch schaffen.
Beim PCA9517 würde ich den Enablepin auch bei Nichtbenutzung fest auf High legen.
Am µC selbst fehlt der Abblockkondi.

Bist du dir sicher, dass dein I2C-Bus für 400 Hz ausgelegt ist.
Ich vermute mal, das ist ein Tippfehler und du meinst 400kHz und das schafft auch ein normaler Level-Shifter.

Ich meinte natürlich 400kHz.
Wenn der TXS die 400kHz auch schafft, werde ich den extra I2C-Levelshifter raus lassen.
Danke für den Hinweis mit dem Abblockkondensator.
Ich update das Schema und lade es hoch, sobald es fertig ist.
Vielen Dank!

Hallo zusammen,

so sieht das ganze jetzt überarbeitet aus.

Ich habe den extra Kondensator für den ATmega eingesetzt und den obsoleten I2C Levelshifter ausgetauscht. Dafür kam jetzt der Txs0108, anstatt des Txs0104 rein, da mir die Eingänge ausgegangen sind. Die Pull-Ups für I2C sind rausgefallen, weil der Txs interne "autosensing" Widerstände hat.

Schema_2.pdf (34 KB)

Schema2_Eagle.zip (74 KB)