Forum: Mikrocontroller und Digitale Elektronik atXmega128A und Atmega32


von Daniel S. (daniel_s13)


Lesenswert?

Hallo,

Ich möchte,  das mein AtXmega128A mit meinem Atmega32 mittels UART oder 
SPI Kommuniziert.

Nun da der Atmega32 mit +5V läuft und der ATxMega128 mit nur 3.3V, 
stellt ich nun die Frage, brauch ich für sämtliche belange zwischen der 
Kommunikation einen Levelshifter von +5<->+3.3v?

Wie ist das dann wenn ich mit dem ATXmega128 versuche die DB0-DB7 eines 
LCDs anzusteuern sind das auch gemäß Datenblatt 3.3v? versteht das 
Display das dann auch ? ;)

Liebe grüße

von syn_error (Gast)


Lesenswert?

ja, es brauch eine pagelwandlung.
ab vcc+0,5volt und gnd-0,5volt leiten die internen schutzdioden.
sollte aber auch im datenblatt unter electrical characteristics stehen.

im datenblatt zum display steht ab wieviel volt es einen pegel als high 
erkennt.
z.b. beim atmega wird high ab 0.6*vcc erkannt.

von Daniel S. (daniel_s13)


Lesenswert?

Welchen IC könnte ich denn für solch eine Pegelwandlung nutzen?
Wenn möglich in DIP Form ;)

von syn_error (Gast)


Lesenswert?


von GG (Gast)


Lesenswert?

Servus,

verbinde die beiden Proz. mit eiem FT232R.

Der kann mit 5 und 3,3 Volt auf der jeweiligen Seite beschalten werden.
Da hast due einen sauberen Abschluß.

Oder noch besser- wechsle den Atmega32 gegen einen Atxmega32a4 aus.

Gruß GG

von F. V. (coors)


Lesenswert?

Gibt es denn eine generelle Empfehlung fuer 3.3V <-> 5V bidirektionale 
Pegelwandlung fuer Frequenzen bis ~40 MHz? Ich zumindest werde aus dem 
Pegelwandler Artikel nicht schlau.

Das Problem muesste doch eigentlich permanent auftreten seitdem es die 
XMegas gibt. Ich fuer meinen Teil lasse da derweil nur wegen der 
Pegelwandlung die Finger davon, da alles andere was ich an Bauteilen hab 
auf 5V ausgelegt ist.

Hoffe es bringt hier mal jemand etwas Licht ins dunkel... :)

Felix

von syn_error (Gast)


Lesenswert?

>Gibt es denn eine generelle Empfehlung fuer 3.3V <-> 5V bidirektionale
>Pegelwandlung fuer Frequenzen bis ~40 MHz?
für 3.3V -> 5V kann man z.b. den 74htc125 nehmen, der erkennt high ab 
ca. 2 volt.
ander möglichkeit ist ein transistor in basisschaltung, sollte auch mit 
40mhz funktionieren.

für 5V -> 3.3V geht z.b. ein 74lvx125, dieser hat 5 volt tolerante 
eingänge.
oder mit einem transistor als open kollektor, wobei aber 40mhz imho viel 
zu schnell ist für diese schaltung.

beide ics gibt es bei reichelt, den lvx125 aber leider nur als smd.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

GG schrieb:
> Servus,
>
> verbinde die beiden Proz. mit eiem FT232R.

Was soll den das bringen, ausser dass man noch einen USB-Host mit 
Treiber (z.B. PC) braucht?

Ein RS232-Pegelwandler waere wohl angebracht, dann eine direkte 
Kommunikation stattfinden. Ansonsten, wenn es um kurze Strecken geht, 
waere SPI vielleicht besser. Wenn Du einen Mega32L verwendest kannst den 
auch mit 3.3V laufen lassen so dass Du keine Pegelwandlung brauchst.

von F. V. (coors)


Lesenswert?

syn_error schrieb:
>>Gibt es denn eine generelle Empfehlung fuer 3.3V <-> 5V bidirektionale
>>Pegelwandlung fuer Frequenzen bis ~40 MHz?
> für 3.3V -> 5V kann man z.b. den 74htc125 nehmen, der erkennt high ab
> ca. 2 volt.
> ander möglichkeit ist ein transistor in basisschaltung, sollte auch mit
> 40mhz funktionieren.
>
> für 5V -> 3.3V geht z.b. ein 74lvx125, dieser hat 5 volt tolerante
> eingänge.
> oder mit einem transistor als open kollektor, wobei aber 40mhz imho viel
> zu schnell ist für diese schaltung.
>
> beide ics gibt es bei reichelt, den lvx125 aber leider nur als smd.

SMD ist kein Problem, allerdings sollte es bidirektional ohne Umschalter 
sein.

Bisher habe ich da nur nen Design bei Sparkfun 
(http://www.sparkfun.com/commerce/product_info.php?products_id=8745) 
gefunden, welches sich einfach nachbauen laesst.

Gibt es denn keine ICs, die man an 3.3 V ports beim XMega haengen kann, 
der einem den Portpin komplett kompatibel zu 5V AVR pins macht? Also 
bidirektional ohne Umschalter sowie belastbar bis 20 mA bei 5V.

Im Moment verstehe ich nicht was einem nen schnellerer uC mit tollen 
Sachen wie DAC und 12-bit ADC bringt wenn man automatisch Probleme hat 
seine 5V Peripherie daran zu haengen...

Felix

von Werner B. (werner-b)


Lesenswert?

F. V. schrieb:
> Im Moment verstehe ich nicht was einem nen schnellerer uC mit tollen
> Sachen wie DAC und 12-bit ADC bringt wenn man automatisch Probleme hat
> seine 5V Peripherie daran zu haengen...

Willkommen im Club  ;)

von syn_error (Gast)


Lesenswert?

>Bisher habe ich da nur nen Design bei Sparkfun
>(http://www.sparkfun.com/commerce/product_info.php?...)
>gefunden, welches sich einfach nachbauen laesst.
für die 3.3V -> 5V wird hier eine basis/gate schaltung verwendet und für 
die 5V -> 3.3V ein einfacher spannungsteiler, was auch eine bessere idee 
ist wie mit open kollektor. :)

nachdem ich noch nie bidirektional gebraucht habe kann ich leider nichts 
dazu sagen.

von F. V. (coors)


Lesenswert?

Habe ich bisher leider auch noch nicht. Ich glaube aber, dass die 
Sparkfun Variante nicht wirklich belastbar ist. Weiterhin bin ich mir 
auch nicht ganz sicher, ob das Teil auch bis 32 MHz fuer die XMegas 
taugt.

Bisher war mein Eindruck, dass der Level Shifter an sich fuer I2C 
Verbindungen so um 1-10 MHz gedacht ist.

Naja, vielleicht probiere ich mal einen der Levelshifter aus (habe mal 
nen paar bestellt)... Bisher hatte ich keine Lust drauf und hab mir 
lieber externe ADCs und DACs fuer kleines Geld an nen Mega644P gehaengt.

Felix

von syn_error (Gast)


Lesenswert?

>dass die Sparkfun Variante nicht wirklich belastbar ist. Weiterhin bin
>ich mir auch nicht ganz sicher, ob das Teil auch bis 32 MHz fuer die XMegas
>taugt.
belasten ist bei einer basisschaltung schlecht, da die stromverstärkung 
kleiner 1 ist dafür aber die spannungsverstärkung um so höher was man 
sich hier zu nutze macht.
die frequenz sollte nicht das problem sein, einsatzbereich für die 
basisschaltung sind hochfrequente sachen und da gehts erst richtig los 
bei 40mhz.

das problem liegt eher beim spannungsteiler der ist nicht schnell genug 
~10mhz.
ob da dann doch open kollektor besser wäre... weiß leider nicht die 
schaltzeiten die dort erreicht werden können.

von GG (Gast)


Lesenswert?

Servus,

Michael G schrieb:

> Was soll den das bringen, ausser dass man noch einen USB-Host mit
> Treiber (z.B. PC) braucht?

RS232-Pegelwandler war mein Gedanke, habe mich bei Bezeichnung geirrt.

Gruß GG

von Daniel S. (daniel_s13)


Lesenswert?

Muss ich denn auch beim SPI auf die Pegel Wandlung achten oder nur beim 
RS232?

Gibts auch Bi-Direktionale Pegel Wandler von 3.3V<=>5.0V ?!

von stromflo (Gast)


Lesenswert?

Ja es gibt bidirektionale Pegelwandler.

http://www.mikrocontroller.net/articles/Pegelwandler#3.3V_-.3E_5V

Einfach mal genau durchlesen :)

Gruß Flo

von Thomas R. (tinman) Benutzerseite


Lesenswert?

Daniel S. schrieb:
> Muss ich denn auch beim SPI auf die Pegel Wandlung achten oder nur beim
> RS232?
>
> Gibts auch Bi-Direktionale Pegel Wandler von 3.3V<=>5.0V ?!

es gibt einige, z.b. ADG3304, GTL2002, PCA9306 usw. wobei der ADG3304 
sieht genau richtig für deine anforderung (speed+bus)

von Daniel S. (daniel_s13)


Lesenswert?

Prima,

Weil ich hab auf meiner Platine nämlich noch andere Module drauf, wo ich 
dann nämlich diese Pegel Wandeln müsste.

Aber ein AtXMega32 will ich mir nicht zu legen, da setz ich dann leider 
auf die Pegel Wandler.

Den AtMega32L Hab ich leider hier nicht rum liegen, wäre aber auch eine 
Idee :-)

Auf jedenfall schonmal danke für eure Hilfe, der Artikel über die 
Pegelwandler ist zwar schön und gut, aber auch stellweise sehr 
verwirrend :)

Bevor ich mir da sämtliche Bauteile und Prozessoren abschieß frag ich 
lieber :)

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.