Hy! Ich muss mit einem mit 5V betriebenen IC per SPI mit einem mit 3.3V Betriebenen IC kommunizieren. Es sollte doch funktionieren wenn ich den SPI bus per Pull up auf die 3.3V Versorgung hänge, und die internen Pull-Up des AVR ausschalte, oder? vielen dank im vorraus Andreas
@ Andreas (Gast) >Ich muss mit einem mit 5V betriebenen IC per SPI mit einem mit 3.3V >Betriebenen IC kommunizieren. Dazu braucht man einen Pegelwandler. > Es sollte doch funktionieren wenn ich den >SPI bus per Pull up auf die 3.3V Versorgung hänge, und die internen >Pull-Up des AVR ausschalte, oder? Nein. MFG Falk
Also bei I2C geht das Problemlos. Da hab ich 4k Pullups. Warum dann nicht bei SPI? Schau dir mal das Datenblatt deines ICs an. Ich mach das erfolgreich mit einem 5V ATmega32 und einem 3.3V I2C-Slave. Funktioniert 1A.
Mit I2C geht das so einfach, weil dort ausschliesslich Widerstände als Pullups dienen, somit nie mehr als 3,3V anliegen. Einzige Einschränkung ist, dass auch die 5V-ICs die 3,3V als High-Level erkennen müssen, was zwar nicht zwingend gewährleistet ist (AVR: nom 0,7*Vcc, also 3,5V), aber in der Praxis meist trotzdem funktioniert. Es kann allerdings sein, dass die maximale Geschwindigkeit beeinträchtigt ist, weil es deutlich länger dauert bis ein 5V-Empfänger diesen High-Pegel als solchen erkennt. Bei SPI ist die Sachlage komplizierter, weil bei einem 5V-Master und 3,3V-Slaves der Master die Eingänge des Slaves mit 5V bedient, oder umgekehrt der 3,3V-Master die 5V-Daten des Slaves verdauen muss. Da muss man also etwas tun, siehe eben Pegelwandler.
Hy! Ich hatte bei uns in der Schule noch Level Shifter vom Typ SN74CB3Q3305, kann ich die benutzen? (also mit 3.3V versorgt) mfg Andreas
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.