Pegelwandlung an SPI

OP #561884
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
Gast #561907
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.
OP #561918
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 ?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren