www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pegelwandlung an SPI


Autor: Manuel Sahm (ela1983)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Habe einen Atmel AT90USB1287 µC, den ich mit 5V um 16 MHz betreibe; 
leider sind meine I/O Port jetzt auch mit 0V bzw. 5V beschaltet...

Ich schließe jedoch ein ReaderIC über die SPI Schnittstelle an, welches 
nur 3,3V Pegel verträgt...

Jetzt muss ich die Pegel umschalten...

Die CLK und DATEN (Richtung ReaderIc) Leitung müssen von 5V auf 3,3V und 
die DATEN (zum µC hin) Leitung muss von 3,3V auf 5V angehoben werden.


Ich habe es mit MOSFETs versucht, aber ich glaube bei einem Takt von 8 
MHz (SPI BusTakt) klappt das so nicht mehr...


Hat kemand eine IDEE ???

Danke

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier im Forum nach "Pegelwandler" und "Pegelwandlung" suchen, da kommen 
ettliche Vorschläge für ICs etc bei raus.

/Ernst

Autor: Ray (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verwende zum Wandeln der Signalpegel doch einfach einen 74HC4050 
(nichtinvertierender CMOS-Buffer), den du mit 3,3V betreibst. So 
verwende ich z.B. eine MMC-Karte an der i2c Schnittstelle meines 
atmega32 bei 16 MHz Takt. In der Richtung von 3,3V -> 5V dürfte keine 
Wandlung nötig sein, da 3,3V vom µC als high interpretiert werden. (Mit 
einem CD4050 konnte ich die Karte nur bei niedrigerer Taktung 
ansprechen, der 74HC... verträgt da schon höhere Taktraten)
Ich hoffe, dass dir das weiterhilft.

Autor: Manuel Sahm (ela1983)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja das mit den 3,3V Pegeln ist das Problem:

Laut Datenblatt erkennt der Atmel  HIGH Pegel ab 0.7 * VCC

und VCC ist in meinem Fall 5V -> somit ergibt sich 3,5V...

Deswegen muss ich von 3,3V auf 5V hoch und das ganze bei einem Takt von 
8 MHz (SPI)

Das ist die schwierige Richtung...

Hat jemand ne Idee ?

Autor: Berti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MAX3000 oder ähnlich (siehe DB)

Autor: Thorsten Schmidt (cuban8)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manuel,

bist Du mit den 0.7*Vcc sicher? Mein Atmega32 sagt im Datenblatt 0.6*Vcc 
für alle Pins ausser RESET und XTAL1. Das macht dann 3V und funktioniert 
prima.

Gruss,
Thorsten

Autor: Manuel Sahm (ela1983)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh richtig 0,6 * VCC; das wären dann 3V,

Aber das ist ne ganz schön knappe Sache mit den 3V...

Bin mir nämlich nicht sicher, ob ich immer einen Pegel von 3,3V 
bekomme...
bei 2,9 hätte ich schon Pech gehabt...

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.