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
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.
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?
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.
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=eb28f0e0-9fc5-4d11-b30f-f7c5c54ebffd 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?
Der arbeitet vielleich asynchron, aber möglicherweise nicht mit RS232-Pegeln, sondern mit dem was man sonst "TTL" nennt, also ohne MAX232.
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?
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!
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
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)?
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
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.
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
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.
@ 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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.