mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CMOS Pegel, UART


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe einen Sensor, der mit CMOS Pegeln arbeitet (CMOS compatible: 
low state: 0.0…0.4V; high state: 0.7…3.3V). Die serielle Ausgabe dieses 
Sensors will ich nun auslesen. Wenn ich den Sensor direkt an einen 
MAX232 anschliesse kommen keine Daten raus. Benötige ich einen weiteren 
Pegelwandler?

Grüße

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann dir nur der Weihnachtsmann sagen.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du mal die untere Grenze für HIGH gemessen, ob die tatsächlich 0.7V 
beträgt? Mir erscheint der Wert ziemlich abartig.

Statt dem normalen +5V RS232-Pegelwandler MAX232 könnte eine 
Low-Voltage Version wie z.B. ein MAX3232 oder ADM3202/ADM3222/ADM1385 
helfen. Näheres im Datenblatt.

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit min. 0.7 V für High sind das keine CMOS-Pegel.  Und wenn es sich 
tatsächlich um die Daten für einen CMOS-*Ausgang* handelt, auch keine 
CMOS-kompatible Pegel.  Nach dem Begleittext geht es Dir um einen 
Ausgang.  Kann es sein, dass Du die Daten eines Eingangs aus dem 
Datenblatt abgeschrieben hast?  Wie soll dann eine vernünftige Antwort 
zustande kommen?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verwendest du einen MAX232? Falls ja, dann benötigt dieser 5V 
Betriebsspannung. Die Daten in Richtung Sensor musst du dann selbst auf 
3,3V Pegel bringen. Alternativ: MAX3232, der läuft auch mit 3,3V.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die Daten beziehen sich auf alle Eingänge und Ausgänge.
Hier ist das Datenblatt des Sensors:
http://www.fastraxgps.com/showfile.cfm?guid=eb28f0...

Kann man nicht einen Pegelwandler verwenden, der aus diesen 3.3v Pegeln 
"normale" 5v Pegel baut?

Würde ein µC mit den niedrigen Pegeln zurecht kommen?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der arbeitet vielleich asynchron, aber möglicherweise nicht mit 
RS232-Pegeln, sondern mit dem was man sonst "TTL" nennt, also ohne 
MAX232.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann leider den Beitrag nicht bearbeiten:

Benedikt: Ja ich verwende einen MAX232. Sprich ich bräuchte einen 
Pegelwandler, um auf die Pegel des Sensors zu kommen. Gibt es Wandler, 
die mit 5v laufen und diese niedrigen Pegel umsetzen können?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du den Fastrax UP500 oder den UP500R? Der UP500R hat den 
CMOS-to-RS232-Pegelwandler bereits eingebaut.

Ansonsten: Sicher kann man Pegelwandler benutzen (Fastrax Ltd. zeigt 
es ja). Man muss nur den Richtigen finden und die 0.7V für die untere 
Schwelle von HIGH ist hier die Herausforderung.

Bsp. aus dem Datenblatt des MAX3232:
VIL Driver low-level input voltage max. 0,8V

d.h. ein MAX3232 würde ein 0,7V HIGH des Fastrax UP500 noch als LOW 
erkennen! Theoretisch unbrauchbar, praktisch: Messen!

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe den UP500, also ohne den Pegelwandler.
Ich habe leider kein Oszilloskop, also konnte ich nur mit dem Multimeter 
messen. Der Pegel am TX des Sensors springt immer zwischen 0.2v und ca 
0.8v, zwischenzeitlich sind aber schon mal Peaks über 1v dabei. Ich weiß 
nur nicht, wie aussagekräftig so eine Messung ist.

Was könnte man denn noch machen, wenn es mit dem MAX3232 nicht 
funktioniert? Kann man die Pegel nicht von "Hand" hochziehen?

Alex

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin da mangels Übersicht an Bauteilen ratlos und müsste heftig 
suchen.

Vielleicht ergänzt du noch deine Frage: Geht es um eine 
Serienproduktion, d.h. brauchst du eine nachbausichere Lösung für 1234 
Stück oder ist es ein einmaliges Heimprojekt, so dass auch eine 
Bastellösung in Frage kommt? Willst du nur GPS Daten empfangen, d.h. nur 
CMOS-TX müsste auf RS232-TX umgesetzt werden? Oder willst/musst du auch 
Daten zum GPS senden (TX und RX müssen umgesetzt werden)?

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

also es müssten sowohl RX als auch TX Daten umgesetzt werden, da der 
Sensor ggf über NMEA umprogrammiert werden muss.
Es geht um keine Serienproduktion, sondern um ein kleines Hobbyprojekt 
zuhause.

Noch eine Frage, die etwas untergegangen ist:
Kommt ein µC mit den Pegeln dieses Sensors klar, oder müssten die auch 
für den umgesetzt werden? (Atmega644P).

Alex

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann es drehen und wenden - es passt IMHO nicht, wenn der UP500 
sendet.

Datenblatt Atmega644P
VIL Input Low Voltage
VCC = 1.8V - 2.4V                     max. 0.2VCC V
VCC = 2.4V - 5.5V                     max. 0.3VCC V

?VIH Input High Voltage
VCC = 1.8V - 2.4V       min. 0.7VCC   max. VCC+0.5 V
VCC = 2.4V - 5.5V   min. 0.6VCC   max. VCC+0.5 V

Dein UP500
low state:  0.0…0.4V (Messung ca. 0.2V)
high state: 0.7…3.3V (Messung ca. 0.8V)

Berechnungen
RX Eingang des Atmega644P bei Vcc=3,3V
low state:  0,0…1V (=0,3*3,3)
high state: 2…3,3+0,5V (=0,6*3,3...)
=> UP500-HIGH liegt innerhalb µC-LOW!
Gleicher Fall wie Beitrag "Re: CMOS Pegel, UART"

RX Eingang des Atmega644P bei Vcc=1,8V (Minimale Vcc des Atmega644P)
low state:  0,0…0,4V (=0,2*1,8)
high state: 1,3…1,8+0,5V (=0,7*1,8...)
=> UP500-HIGH liegt über µC-LOW, aber erreicht sicheres µC-HIGH noch 
nicht

Wenn UP500 empfangen soll, ist das nicht kritisch, der Atmega644 könnte 
die Pegel ausgeben und die etwas zu hohen VOL des µC könnte man ohne 
Nachteile für VOH mit Spannungsteiler in den 0,0..0,4V Bereich zwingen.

Für ein Hobbyprojekt würde ich (Vorischt Laie!!!) überlegen, die 
UP500-TX mit einem nicht-invertierenden Verstärker 
(Operationsverstärker-Grundschaltungen) um den Faktor ca. 2,5 
(realer Wert ausprobieren) zu verstärken, um auf die Eingangspegel eines 
mit 3,3V betriebenen MAX3232 oder µC zu kommen. Kann man auch für 
Zielbereich 5V Logik machen. Ausprobieren deshalb, weil es keine 
einheitliche Verstärkung gibt, die für oberes LOW und unteres HIGH 
gleichzeitig exakt in den Zielbereich abbildet.

Vielleicht / hoffentlich helfen dir noch ein paar Experten weiter.

Autor: Valentin Buck (nitnelav) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es mit Mosfets mit extrem hohem Pulldown?
Die Dinger verstärken ja auch mal 1mV zu 5V, warum sollten da 0,7V ein 
Problem sein.
Sonst wie schon gesagt OpAmp oder vielleicht Darlington-Transistoren.

Der Chip scheint echt merkwürdig zu sein, wenn er selber meint, dass 
0,7V High sind. Der nächste Trend scheint sich abzuzeichnen: Low 
Voltage!
Valentin

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es mit einem einfachen Transistor? Hochohmig im Kollektorkreis 
beschaltet wird der ab ca. 0.6V leitend. Eine zweite Stufe dahinter und 
du hast wieder nichtinvertierte Daten.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Stefan B. (stefan) Benutzerseite

>low state:  0.0…0.4V (Messung ca. 0.2V)
>high state: 0.7…3.3V (Messung ca. 0.8V)

Glaub ich irgendwie nicht. Kann es sein, dass das Ding einen Open Drain 
Ausgang hat und einfach ein Pull-Up von sagen wir 10K nach 3,3V fehlt?

>UP500-TX mit einem nicht-invertierenden Verstärker
>(Operationsverstärker-Grundschaltungen) um den Faktor ca. 2,5
>(realer Wert ausprobieren) zu verstärken, um auf die Eingangspegel eines
>mit 3,3V betriebenen MAX3232 oder µC zu kommen.

Wenn das Ding WIRKLICH nur 0,7V ausspuckt, was ich nicht wirklich 
glauben kann, nimmt man einen Pegelwandler mittels Komparator. Beim 
AVR einfacherweise den eingebauten Analogkomparator.

MFG
Falk

Autor: Stefan B. (Fedora 12) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.avr-praxis.de/forum/showthread.php?p=9363
Ähnliches Problem, aber andere Messwerte: 0.5 und 2V (mit denen wir 
bereits happy wären)

http://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=474271
Gleicher Fragesteller wie im 1. Link. Noch andere Messwerte: 0.9 und 
1.45V
Da ist auch eine Lösung von Suggarman angegeben (2 Transen wie HildeK 
auch vorgeschlagen hat). Unterschiede in den Messwerten vermutlich durch 
Messmethode (Multimeter) bedingt.

IMHO: Case closed.

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.