Forum: Mikrocontroller und Digitale Elektronik 3,3V TTL an 5V AVR


von Felix L. (flex)


Lesenswert?

Hallo,

ich habe ein kleines Problem mit einem GPS Modul, dass ich an einen AVR 
anschließen möchte. Das GPS Modul (NL-552ETTL) wird zwar mit 5V 
versorgt, hat aber einen 3,3V TTL Pegel. Mein AVR wird mit 5V versorgt. 
Gibt es dann Probleme wenn ich die Tx-Leitung des GPS mit dem Rx-Pin des 
AVR verbinde?

Gruß
Felix

von Dominic A. (neo123)


Lesenswert?

Soweit ich weiss wird das 3.3 V Signal als 1 erkannt.
Umgekehrt jedoch könnte das GPS Modul beschädigt werden.

von Thomas E. (thomase)


Lesenswert?

Felix L. schrieb:
> Gibt es dann Probleme wenn ich die Tx-Leitung des GPS mit dem Rx-Pin des
> AVR verbinde?
Nein. Der erkennt schon 0,7V als high.
Genaues findest du im Datenblatt unter DC Characteristics.

mfg.

von (prx) A. K. (prx)


Lesenswert?

Thomas Eckmann schrieb:
> Nein. Der erkennt schon 0,7V als high.

Der AVR? Aber nur bei VCC=1V. Weil 0,7*VCC.

3,3V TTL ist vom Pegel her exakt wie 5V TTL und reicht nicht für 5V 
CMOS. 74HCT125 oder jeden anderen 74HCT verwenden.

von Felix L. (flex)


Lesenswert?

Hallo,

danke für die schnellen Antworten. Das bedeuted jetzt, ich kann die 
gesendeten Daten vom GPS mit einem AVR auswerten. Aber sobald ich das 
GPS Modul mit dem AVR ansprechen möchte, benötige ich einen 
Pegelwandler? Was macht man mit "offenen" Rx-Pins (GPS Modul)?

Gruß

von Thomas E. (thomase)


Lesenswert?

A. K. schrieb:
> Der AVR? Aber nur bei VCC=1V. Weil 0,7*VCC.
Ja hast Recht.
0,7 x Vcc und nicht 0,7V.
Da bin schon mal drauf reingefallen.

mfg.

von (prx) A. K. (prx)


Lesenswert?

Felix L. schrieb:
> danke für die schnellen Antworten. Das bedeuted jetzt, ich kann die
> gesendeten Daten vom GPS mit einem AVR auswerten. Aber sobald ich das
> GPS Modul mit dem AVR ansprechen möchte, benötige ich einen
> Pegelwandler?

Die korrekte Version wäre beispielsweise
(1) GPS => AVR: 74HC125 mit VCC=5V.
(2) AVR => GPS: 74HC4050 mit VCC=3,3V.

Bei (2) geht auch ein Spannungsteiler, wenn der Eingang nur die 
TTL-Pegel braucht, nicht auch die TTL-Ströme.

von Felix L. (flex)


Lesenswert?

A. K. schrieb:
> Felix L. schrieb:
>> danke für die schnellen Antworten. Das bedeuted jetzt, ich kann die
>> gesendeten Daten vom GPS mit einem AVR auswerten. Aber sobald ich das
>> GPS Modul mit dem AVR ansprechen möchte, benötige ich einen
>> Pegelwandler?
>
> Die korrekte Version wäre beispielsweise
> (1) GPS => AVR: 74HC125 mit VCC=5V.
> (2) AVR => GPS: 74HC4050 mit VCC=3,3V.
>
> Bei (2) geht auch ein Spannungsteiler, wenn der Eingang nur die
> TTL-Pegel braucht, nicht auch die TTL-Ströme.

Das ich da noch zwei IC´s benötige habe ich gar nicht bedacht. Wenn ich 
bei (2) einen Spannungsteiler mache, dann sollte dieser aber hochohmig 
sein, dass kein zu hoher Strom fließt?

von (prx) A. K. (prx)


Lesenswert?

Felix L. schrieb:
> Das ich da noch zwei IC´s benötige habe ich gar nicht bedacht. Wenn ich
> bei (2) einen Spannungsteiler mache, dann sollte dieser aber hochohmig
> sein, dass kein zu hoher Strom fließt?

Das hängt davon ab, ob das Modul CMOS-Eingänge oder wirklich 
TTL-Eingänge hat. Bei letzteren fliesst deutlich Strom, weshalb 
Spannungsteiler nicht sinnvoll sind.

Zu hochohmig macht langsam.

von Felix L. (flex)


Lesenswert?

Ich habe mal im Datenblatt des AVR nach High-Pegel gesucht und da steht 
0,6*VCC. Da meine VCC 5V beträgt ist ein High-Pegel ab 3V. Das bedeutet 
doch, dass es eigentlich gehen sollte?

Gruß

von (prx) A. K. (prx)


Lesenswert?

Felix L. schrieb:
> Da meine VCC 5V beträgt ist ein High-Pegel ab 3V. Das bedeutet
> doch, dass es eigentlich gehen sollte?

TTL Pegel heisst Voh >= 2,4V. Und das ist zu wenig.

von Felix L. (flex)


Lesenswert?

A. K. schrieb:
> Felix L. schrieb:
>> Da meine VCC 5V beträgt ist ein High-Pegel ab 3V. Das bedeutet
>> doch, dass es eigentlich gehen sollte?
>
> TTL Pegel heisst Voh >= 2,4V. Und das ist zu wenig.

Also doch ein 74HC125 :D

A1  -> GPS Tx
Y1  -> AVR Rx
OE1 -> GND

Edit: Aber nach dieser Grafik geht es auch ohne IC:
http://www.elektronik-kompendium.de/sites/dig/0205171.htm

Oder steh ich da auf der Leitung ?

von Axel S. (a-za-z0-9)


Lesenswert?

Felix L. schrieb:

> ich habe ein kleines Problem mit einem GPS Modul, dass ich an einen AVR
> anschließen möchte. Das GPS Modul (NL-552ETTL) wird zwar mit 5V
> versorgt, hat aber einen 3,3V TTL Pegel.

So etwas gibt es nicht. Ein TTL-Ausgang liefert bei H mindestens 2.4V 
und bei L maximal 0.4V. Und TTL läuft immer mit 5V Betriebsspannung.

Ein Logikpegel aus einer mit 3.3V versorgten Schaltung ist 
typischerweise ein CMOS Pegel. Also H wenige mV unter Vcc und L wenige 
mV über GND. Zumindest ohne Last.

Also bitte erstmal korrekte Angaben machen, was aus dem Modul nun 
rauskommt und was es erwartet.


XL

von (prx) A. K. (prx)


Lesenswert?

Axel Schwenke schrieb:
> So etwas gibt es nicht. Ein TTL-Ausgang liefert bei H mindestens 2.4V
> und bei L maximal 0.4V. Und TTL läuft immer mit 5V Betriebsspannung.

Es gibt (gab?) LVTTL mit 3,3V Spannung, aber gleichen Pegels.

> Ein Logikpegel aus einer mit 3.3V versorgten Schaltung ist
> typischerweise ein CMOS Pegel.

Ja, nur steht in der Beschreibung wirklich 3,3V TTL drin. Was immer 
davon zu halten ist. Pegel stehen nämlich keine drin.
  3,3V TTL TX Level/Output
  3,3V TTL RX Level/Input

von Felix L. (flex)


Lesenswert?

Axel Schwenke schrieb:
> Also bitte erstmal korrekte Angaben machen, was aus dem Modul nun
> rauskommt und was es erwartet.

Also, im Datenblatt des GPS-Moduls steht nur: TTL Pegel 3,3V.
Hier das Datenblatt: 
http://www.sander-electronic.de/datasheet/GPS/NL550_551/NL_u-blox5_Engine_Module_Datenblatt_25112009_573.pdf

Ich bin jetzt davon ausgegangen dass High = 3,3V und Low = 0V.

Gruß

Nachtrag: Im Notfall schaue ich mir das Signal mal mit einem Oszi an und 
falls High 3,3V ist, sollte es ja ohne Pegelwandler.

von Axel S. (a-za-z0-9)


Lesenswert?

A. K. schrieb:
> Axel Schwenke schrieb:

[3.3V TTL-Pegel]

>> So etwas gibt es nicht. Ein TTL-Ausgang liefert bei H mindestens 2.4V
>> und bei L maximal 0.4V. Und TTL läuft immer mit 5V Betriebsspannung.
>
> Es gibt (gab?) LVTTL mit 3,3V Spannung, aber gleichen Pegels.

Kann schon sein. Nur ist "LVTTL" != "TTL". Und wenn die Pegel ohnehin 
gleich sind, dann kann man es ja auch gleich "TTL-Pegel" nennen. Oder?

> Ja, nur steht in der Beschreibung wirklich 3,3V TTL drin. Was immer
> davon zu halten ist. Pegel stehen nämlich keine drin.
>   3,3V TTL TX Level/Output
>   3,3V TTL RX Level/Input

Der konsequente Weg wäre, solchen ('tschulligung) Scheiß nicht zu 
kaufen. Wenn der Hersteller noch nicht mal den Pegel der Schnittstelle 
spezifizieren kann, wieso soll ich dem dann zutrauen, daß er GPS kann? 
Einen Schritt weiter gedacht könnte man dem Händler stecken was er da 
für Zeug verkauft. Und noch ein bisschen weiter dem Hersteller 
mitteilen, daß man jetzt froh ist bei der Konkurrenz zu kaufen, die (im 
Gegensatz zu ihm) ihre Produkte so spezifiziert daß man sie auch 
verwenden kann.

Als kompromißbereiter und konfliktscheuer Zeitgenosse könnte man sich 
natürlich auch auf den Standpunkt stellen, daß "TTL-Pegel" und 
CMOS-Logik @ 3.3V sowieso weitestgehend verträglich sind. Daß es ferner 
höchst unwahrscheinlich ist, daß in einen GPS-Modul tatsächlich TTL (mit 
oder ohne LV davor) werkelt. Und daß es schlußendlich wohl doch CMOS @ 
3.3V ist, man also in Richtung CMOS @ 5V im einfachsten Fall gar nix, 
notfalls ein 74HCT Gatter braucht und in der Gegenrichtung ein simpler 
Widerstand, notfalls Spannungsteiler reicht um die Schutzdiode am 
Eingang des Moduls nicht zu überfahren (bei typisch 9800bps darf das ja 
ruhig langsam sein.)

Aber konsequent ist das nicht. Oder würdet ihr ein Auto kaufen, bei dem 
der Verkäufer nicht sagen kann ob man Diesel oder Benzin tanken muß?

"Ja ähh, Diesel-Benzin halt. Von der Tanke! Kennste nich?"


XL

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

3,3V TTL ???

Hä ? Was ist das ? Wer kennt da ? Und in welchem Datenblatt ist das 
spezifiziert ?

Sobald ich TTL lese, WEISS ich, daß der Poster keine Ahnung hat !!!

von Tim S. (Firma: Germany) (timex09)


Lesenswert?

hehe... stimmt... naja... sei doch nicht so...

von M. N. (Gast)


Lesenswert?

Im Datenblatt gibt es ein Kapitel 'Typical Characteristics' mit dem 
Abschnitt 'Pin Threshold and Hysteresis'.
Beim ATmega48A(P) werden ca. >2,6V für '1' und ca. <2,2V für '0' 
erwartet. Damit kann man gut leben.

von Felix L. (flex)


Angehängte Dateien:

Lesenswert?

Bernd Rüter schrieb:
> 3,3V TTL ???
>
> Hä ? Was ist das ? Wer kennt da ? Und in welchem Datenblatt ist das
> spezifiziert ?
>
> Sobald ich TTL lese, WEISS ich, daß der Poster keine Ahnung hat !!!

Ich habe nur das geschrieben, was auch im Datenblatt (GPS-Modul) steht!

Ich habe heute Zeit mir mal das Signal des GPS-Moduls mit einem Oszi 
angeschaut (Abb1). Es sind nur 2,9V. Dann habe ich mit einem Transistor, 
2 10k Widerständen einen Pegelwandler gebaut und es hat auch geklappt 
(Abb2).

Für die Tx vom AVR zum Rx vom GPS reicht ja ein Spannungsteiler (1,8k 
und 3,3k).

Gruß

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Felix L. schrieb:
> Mein AVR wird mit 5V versorgt.

Wäre es eventuell das Einfachste, den AVR dann auch mit 3,3 V zu
versorgen?

von Felix L. (flex)


Lesenswert?

Jörg Wunsch schrieb:
> Felix L. schrieb:
>> Mein AVR wird mit 5V versorgt.
>
> Wäre es eventuell das Einfachste, den AVR dann auch mit 3,3 V zu
> versorgen?

Habe ich mir auch schon überlegt, aber das Problem ist, dass das GPS 
Modul mit 5V versorgt werden muss.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Felix L. schrieb:
> Jörg Wunsch schrieb:
>> Wäre es eventuell das Einfachste, den AVR dann auch mit 3,3 V zu
>> versorgen?
>
> Habe ich mir auch schon überlegt, aber das Problem ist, dass das GPS
> Modul mit 5V versorgt werden muss.

Macht ja nichts. Die Gesamtschaltung (einschließlich GPS-Modul) mit 5 
Volt versorgen und die Betriebsspannung für den AVR auf 3,3 Volt 
runtersetzen. Irgendeinen Low-Drop-Spannungsregler verwenden.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Felix L. schrieb:

> Habe ich mir auch schon überlegt, aber das Problem ist, dass das GPS
> Modul mit 5V versorgt werden muss.

Erstens könntest du natürlich trotzdem noch einen Regler vor den
AVR hängen.  Zweitens, da das GPS-Modul ja intern offenbar mit
3,3 V arbeitet, wird es einen eigenen Regler besitzen.  Vielleicht
kannst du den ja für die paar mA, die der AVR zieht, mit anzapfen?

Insgesamt fände ich eine derartige Lösung (wenn keine anderen Gründe
dagegen sprechen) jedenfalls einfacher als die Pegelwandler.

von Felix L. (flex)


Lesenswert?

Stimmt, dass könnte ich auch machen. Aber es ist ja schließlich egal, 
hauptsache es funktioniert :D

von Ulrich (Gast)


Lesenswert?

Wenn nur 1 Kanal benötigt wird, kann man den Pegelwandler (3 V -> 5 V) 
auch mit einem einzelnen N-Kanal MOSFET und einem Widerstand (für 9600 
Baud könnte auch der AVR interne Pullup reichen) aufbauen. Wenn der 
Threshhold beim FET über 2 V liegt, darf sogar das Gate an 5 V und man 
braucht da keinen extra Teiler mehr.

von HildeK (Gast)


Lesenswert?

A. K. schrieb:
> Die korrekte Version wäre beispielsweise
> (1) GPS => AVR: 74HC125 mit VCC=5V.

Ich habe jetzt nicht alle nachfolgenden Beiträge genau verfolgt, aber 
für (1) sollte dann schon ein 74HCTxxx verwendet werden. Das 'T' ist 
wichtig!
Die HCT-Familie hat Eingänge, die ab 2.4V HIGH erkennen, die HC-Familie 
sieht erst bei 0,7*VCC HIGH, also erst bei 3.5V, wenn mit 5V versorgt.

Wenn der TO für die Gegenrichtung keinen Spannungsteiler mit z.B. 1k und 
1k5 verwenden will (das würde ich auf jeden Fall tun), dann käme ein 
Baustein aus der LVT-Serie in Frage (LVT125 z.B.), da in dieser Serie 
die Eingänge (alle ?) bis 5,5V ausgesteuert werden können.
Die LVT125 gibts auch als Single-Gate-Elemente, wenn der TO SMD-Bauteile 
aktzeptiert.

von (prx) A. K. (prx)


Lesenswert?

HildeK schrieb:
> Ich habe jetzt nicht alle nachfolgenden Beiträge genau verfolgt, aber
> für (1) sollte dann schon ein 74HCTxxx verwendet werden. Das 'T' ist
> wichtig!

Ja, das war ein Lapsus meinerseits. Gemeint war 74HCT.

von Werner (Gast)


Lesenswert?

A. K. schrieb:
> Ja, nur steht in der Beschreibung wirklich 3,3V TTL drin. Was immer
> davon zu halten ist. Pegel stehen nämlich keine drin.

Dann muss man vielleicht in das aktuelle Datenblatt vom NL-552ETTL des 
Herstellers gucken. Der sollte es schließlich am besten wissen.
http://www.navilock.de/files/16985.download
http://www.navilock.de/produkte/G_60721/merkmale.html

von (prx) A. K. (prx)


Lesenswert?

In diesem Datasheet stehen die Eingangspegel, nicht die Ausgangspegel.

So verrückt es klingt, die oben gemessenen 2,9V erinnern tatsächlich 
eher an TTL als an CMOS. Es sei denn es war eine deutliche Last gegen 
GND auf der Leitung.

von Felix L. (flex)


Lesenswert?

Werner schrieb:
> A. K. schrieb:
>> Ja, nur steht in der Beschreibung wirklich 3,3V TTL drin. Was immer
>> davon zu halten ist. Pegel stehen nämlich keine drin.
>
> Dann muss man vielleicht in das aktuelle Datenblatt vom NL-552ETTL des
> Herstellers gucken. Der sollte es schließlich am besten wissen.
> http://www.navilock.de/files/16985.download
> http://www.navilock.de/produkte/G_60721/merkmale.html

Tatsächlich, da hat dann ELV ein altes Datenblatt auf der Seite.

A. K. schrieb:
> In diesem Datasheet stehen die Eingangspegel, nicht die Ausgangspegel.
>
> So verrückt es klingt, die oben gemessenen 2,9V erinnern tatsächlich
> eher an TTL als an CMOS. Es sei denn es war eine deutliche Last gegen
> GND auf der Leitung.

Der Ausgang war unbeschaltet.

von Stefan (Gast)


Lesenswert?

Wie hast Du den Pegelwandler gebaut? Falls es ein NPN oder PNP 
Transistor ist, invertiert er das Signal, und das funktioniert dann 
nicht.

Mit einem kleinen MOSFET könnte es klappen.

von Ulrich (Gast)


Lesenswert?

Einen nicht invertierenden Pegelwandler kann man mit einem N-Kanal FET 
(wie etwa BS170) in Gate Schaltung oder einen NPN-Transistor in 
Basisschaltung bauen:

Der Eingang ist Source bzw. der Emitter. Der Ausgang ist Drain bzw. der 
Kollektor und hat einen Pullup auf 5V oder was immer da für einen 
Spannung sein soll. Am Gate liegt eine Spannung von etwa 3-5 V an, je 
nach Schwelle des MOSFETs, halt so, dass der FET beim High Pegel am 
Eingang sicher sperrt und bei Low leitet. Mit dem NPN Transistor kommt 
an die Basis ein Spannungteiler auf etwa 2 V (etwa 1 V mehr als die 
Mitte zwischen H und L) in dem Beispiel also etwa 10 K und 15 K oder 
auch 2 mal 10 K.

von Jobst M. (jobstens-de)


Lesenswert?

Bernd Rüter schrieb:
> 3,3V TTL ???
>
> Hä ? Was ist das ? Wer kennt da ? Und in welchem Datenblatt ist das
> spezifiziert ?

http://de.wikipedia.org/wiki/Transistor-Transistor-Logik#Varianten

Und wenn man nach LVTTL googlet, gibt es da einige Datenblätter von TI, 
Onsemi, ...


@TO: Verbinde das GPS-Modul einfach mit Rx vom ATmega. Sollte eigentlich 
zuverlässig klappen.



Gruß

Jobst

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.