Forum: Mikrocontroller und Digitale Elektronik 3.3V IC per SPI an 5V AVR per Pull-Up auf 3.3V möglich


von Andreas (Gast)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

@ 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

von Maximilian K. (laplace)


Lesenswert?

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.

von Andreas K. (a-k)


Lesenswert?

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.

von Andreas (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.