www.mikrocontroller.net

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


Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Maximilian K. (laplace)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.