Forum: Mikrocontroller und Digitale Elektronik Atmega 644 an RFM12BP Pegelwandlung?


von Dennis H. (t1w2i3s4t5e6r)


Lesenswert?

Hallo!

Ich möchte gern einen Atmega 644 mit einem RFM12BP kommunizieren lassen. 
Da ich den Atmega gern mit 20MHz betreiben würde muss ich diesen mit 5V 
betreiben. Das RFM Modul läuft aber nur mit 3.3V. Als Schnittstelle 
benötigt man da SPI. Als ich nun nach langen suchen den Unterschied 
zwischen bidirektional und unidirektional gefunden habe, weis ich, das 
SPI nur unidirektional ist. Jetzt sage ich mir also, es sollte doch 
reichen, wenn die Ausgänge des Atmega über einen einfachen 
Spannungsteiler ans RFM Board anschließe. Und der Miso-Anschluss kann 
doch direkt vom RFM Modul an den Atmega angeschlossen werden. Laut 
DAtenblatt sollte der Atmega 3.3V als High-Pegel erkennen(0.6 x VCC = 
0.6 x 5V = 3V). Also in der Theorie funktioniert das schon, nur wollte 
ich gern wissen, ob das in der Praxis dann auch klappt, oder ob es da 
noch andere Probleme gibt, an die ich jetzt nicht denke.

Ich danke euch schonmal im Voraus für eure Antworten


MfG Dennis

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Türlich klappt das.
Beim Spannungsteiler kannste den SPI dann nur nicht auf 10MHz laufen 
lassen.
Für die Kommunikation zum RFM12 reichen eh <1MHz locker aus

von Dennis H. (t1w2i3s4t5e6r)


Lesenswert?

Martin Wende schrieb:
> Beim Spannungsteiler kannste den SPI dann nur nicht auf 10MHz laufen
> lassen.

Naja, kommt sicher darauf an, wie ich ihn dimensioniere, oder? Aber ich 
kann mir gerade nicht vorstellen, warum Widerstände die 10MHz nicht 
möglich machen sollten, ich hab das nicht vor, das ganze so schnell zu 
betreiben, aber mich würde einfach noch interessieren, warum es über 
einen Spannungsteiler nicht so schnell geht.


MfG dennis

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Weil ein CMOS Eingang eine Kapazität darstellt die umgeladen werden 
muss.
Der Spannungsteiler stellt also nen RC Tiefpass dar.
Bei höheren Frequenzen verschleifts dann die Flanken und das Signal wird 
nicht erkannt.
Der Widerling muss da dann schon recht niederohmig sein ;)

Der RFM12 hat 2pF am Eingang.
Bei 10MHz isn Bit in 100ns übern Draht gehuscht -> Flanken müssen recht 
steil sein.

von Mike J. (emjey)


Lesenswert?

> Da ich den Atmega gern mit 20MHz betreiben würde muss ich diesen mit 5V
betreiben.

Musst du nicht. Meiner läuft mit 26MHz und ab 2.8V stabil.
Dabei betreibe ich ihn mit 3.0V, bei deinen 3.3V läuft der sicher.

Jetzt sagen wieder einige dass er dann außerhalb der Spezifikationen 
läuft und mindestens 4.5V bei 20MHz brauchst.

von Dennis H. (t1w2i3s4t5e6r)


Lesenswert?

@Mike J.

Naja, mag schon sein, das der Atmega dann trotzdem läuft, aber wenn ich 
die Pegelwandlung über ein paar Widerstände hinbekomme, kann ich den 
Mega doch in seinen Spezifikationen betreiben. Wenn die Pegelwandlung 
jetzt ein IC werden müsste, der mehrere Euros kostet, würde ich darüber 
nachdenken, aber nicht bei ein paar Widerständen, die mich 5cent kosten.

@Martin Wende

Danke für die gute Erklärung. Heißt also für mich, der Spannungsteiler 
sollte so niederohmig wie möglich sein, also was eben der Mega hergibt, 
um ein ordentliches Ergebnis zu bekommen. Also theoretisch nen 
Spannungsteiler aus 85 Ohm und 165 Ohm :)


MfG Dennis

von Mike J. (emjey)


Lesenswert?

Du kannst es auch mit einem 74HC4050 (high to low level shifter) machen, 
dann sparst du Energie und dein Signal ist immer noch rechteckig.

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.