Forum: Mikrocontroller und Digitale Elektronik Wozu RS232-TTL-Umsetzer


von John (Gast)


Lesenswert?

Hi bin neu in der Branche....


Wollte Fragen wozu ein RS232-TTL-Umsetzer Baustein gut ist...

Mein Board hat eine USART Schnittstelle.
Ich wollte mein Board mit einem anderen kommunizieren lassen das keine 
USART-Schnittstelle hat. Und da habe ich gehört das so ein 
RS232-TTL-Umsetzer zum Einsatz kommt.

Wie integriert man das ?

Welche der Zwei Möglichkeiten kommt hier in Frage ?
1)
Mein Board PIN RX-TX->(RX-TX-PINS)RS232-TTL-Umsetzer->(USART 
EINGANG)RS232-TTL-Umsetzer-> Null Modem Kabel(Beide Seiten männlich) 
->(USART EINGANG) RS232-TTL-Umsetzer -> (PINS RX-TX)RS232-TTL-Umsetzer 
-> Anderer Board RX-TX

2)
Mein Board USART->(USART 
EINGANG)RS232-TTL-Umsetzer->(RX-TX-PINS)RS232-TTL-Umsetzer-> Kabel 
->Anderer Board RX-TX

von (prx) A. K. (prx)


Lesenswert?

John schrieb:
> Wollte Fragen wozu ein RS232-TTL-Umsetzer Baustein gut ist...

Um eine Schnittstelle mit Pegelns nach RS232/V.24, wie etwa die vom PC, 
mit einem Controller zu verbinden, dessen eingebaute Schnittstelle 
zunächst nur TTL/CMOS-Pegel verdaut.

Zwei Controller kann man auch direkt verbinden, wenn die Entfernung 
gering ist.

: Bearbeitet durch User
von Max H. (hartl192)


Lesenswert?

Das Bauteil ist ein Pegelwandler. Er wandelt das TTL (0 5V) in Rs232 
(-15 15V) und da VonRS233 nach TTL in die andere Richtung.

Ich würde den MAX233 verwenden.

: Bearbeitet durch User
von Dietrich L. (dietrichl)


Lesenswert?

John schrieb:
> Ich wollte mein Board mit einem anderen kommunizieren lassen das keine
> USART-Schnittstelle hat.

Und wie willst Du dann kommunizieren?

> Und da habe ich gehört das so ein
> RS232-TTL-Umsetzer zum Einsatz kommt.

So ein Umsetzer setzt nur die Pegel (Spannungen) um. Die seriellen 
Daten werden dadurch nicht beeinflusst.

Wenn das Board keinen USART hat, kann man das höchstens per Software 
nachbilden (mit begrenzter Geschwindigkeit, denn die SW muss ja die Bits
einzeln abtasten bzw. senden).

Deine Beschreibung der beiden Möglichkeiten habe ich nicht verstanden... 
da kommt so oft "RS232-TTL-Umsetzer" drin vor. Wie wäre es mit einem 
Blockschaltbild mit Angabe der Pegel an den Übergabepunkten?

Gruß Dietrich

von Norbert M. (Gast)


Lesenswert?

John schrieb:
> Hi bin neu in der Branche....

Na dann, willkommen :-)

> Wollte Fragen wozu ein RS232-TTL-Umsetzer Baustein gut ist...

RS-232 ist eine Schnittstelle, bei der eine logische 1 durch eine 
Spannung zwischen -3 und -15 und eine Null durch +3 bis +15V dargestellt 
wird. Mit diesen Spannungen kann man allerdings meistens nicht sehr 
vfiel anfangen, in der Digitalelektronik kommen meisten Spannungen 
zwischen 0 und +5 Vold vor - deswegen gibt's Umsetzer.

Es gibt diese RS232 Transceiver von vielen diversen Herstellern, aber 
der bekannteste dürfte der MAX232 von Maxim sein.

> Ich wollte mein Board mit einem anderen kommunizieren lassen das keine
> USART-Schnittstelle hat. Und da habe ich gehört das so ein
> RS232-TTL-Umsetzer zum Einsatz kommt.

Welche Boards sind es denn? Im übrigen zwingt Dich (hoffentlich) ja 
niemand, die Verbindung über RS232 zu führen. Man könnte sich den Umweg 
über RS232 auch sparen und direkt UART mit UART verbinden (beim zweiten 
Board ohne eben einen externen UART dranflanschen). Ist halt alles eine 
Frage der Entfernung, Störsicherheit, etc...

LG, N0R

von John (Gast)


Lesenswert?

Naja ich habe zwei von diesen Bausteinen:
http://www.elv.de/elv-ttl-nach-rs-232-umsetzer-komplettbausatz.html

Hier die Frage muss ich die Pins vom Baustein mit meinem Board verbinden

oder

Die verbindung geht über die UART vom Baustein mit meinem UART am 
Microcontroller

von Wolfgang (Gast)


Lesenswert?

John schrieb:
> Hier die Frage muss ich die Pins vom Baustein mit meinem Board verbinden

Wenn die Stecke nicht so lang ist, kannst du dir beide 
TTL-RS232-Bausteine sparen. Was "nicht so lang" ist, hängt von den 
Störungen in deiner Umgebung und der Übertragunsgeschwindigkeit ab.

von Dietrich L. (dietrichl)


Lesenswert?

John schrieb:
> Hier die Frage muss ich die Pins vom Baustein mit meinem Board verbinden
1
Board     Umsetzer "Lötösen"  
2
  Rx            Rx
3
  Tx            Tx
4
 GND           GND    
5
 +5V           +5V
Dies gilt für beide Boards. Zwischen den beiden Umsetzern kommt an die 
SUB-D-Stecker dann ein Nullmodenkabel (Pin 2 und 3 gekreuzt, Pin 5 
direkt verbunden). Die anderen Signale/Anschlüsse sind erstmal egal.

> oder
>
> Die verbindung geht über die UART vom Baustein mit meinem UART am
> Microcontroller

Wenn beide Boards einen gemeinsamen GND haben (bzw. die GNDs verbunden 
werden dürfen und die Leitung nicht so lang ist (Störeinkopplung!) geht 
auch:
1
Board 1       Board 2
2
  Rx            Tx
3
  Tx            Rx
4
 GND           GND
Hier gibt es allerdings ein Risiko: Wenn ein Board versorgt ist und das 
andere nicht, können Ausgleichsströme über die Leitungen Rx / Tx das 
nicht versorgte Board zerstören. Das ist bei RS232 (1. Version) 
ausgeschlossen.

Gruß Dietrich

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Dietrich L. schrieb:
> Hier gibt es allerdings ein Risiko: Wenn ein Board versorgt ist und das
> andere nicht, können Ausgleichsströme über die Leitungen Rx / Tx das
> nicht versorgte Board zerstören.

Mit Schutzwiderständen in den Datenleitungen (z.B. 2,2kΩ) läßt sich 
dieses Risiko ausschalten. Dafür sinkt die max. mögliche 
Übertragungsrate.

von Walter (Gast)


Lesenswert?

John schrieb:
> Hier die Frage muss ich die Pins vom Baustein mit meinem Board verbinden
>
> oder
>
> Die verbindung geht über die UART vom Baustein mit meinem UART am
> Microcontroller

Versteht das jemand?

von Karl H. (kbuchegg)


Lesenswert?

Walter schrieb:
> John schrieb:
>> Hier die Frage muss ich die Pins vom Baustein mit meinem Board verbinden
>>
>> oder
>>
>> Die verbindung geht über die UART vom Baustein mit meinem UART am
>> Microcontroller
>
> Versteht das jemand?

Man muss ein bisschen um die Ecke denken, dann kann man wohl erraten, wo 
der Schuh drückt.

Alles hängt wohl davon ab, was man hier drunter
> Mein Board hat eine USART Schnittstelle.
zu verstehen hat.

Ist das eine 5V-TTL USART, oder ist das eine echte 12V RS232

Das ...
> Und da habe ich gehört ...
... ist wohl wieder mal das Hauptproblem. Kein Basiswissen wie die Dinge 
grundsätzlich funktionieren und als Ausgleich arbeiten nach Hörensagen.

: Bearbeitet durch User
von Dietrich L. (dietrichl)


Lesenswert?

Walter schrieb:
>> Die verbindung geht über die UART vom Baustein mit meinem UART am
>> Microcontroller
>
> Versteht das jemand?

Ich habe das mal so interpretiert: UART vom Board ...

Aber Du hast recht: John ist da noch etwas "ungenau" und sollte 
vielleicht mal klar sagen, was für Boards er da verbinden will.

Denn wie ich ja schon sagte, ist das:

John schrieb:
> Ich wollte mein Board mit einem anderen kommunizieren lassen das keine
> USART-Schnittstelle hat.

irgendwie Unsinn, oder zumindest komisch ...

Gruß Dietrich

von Karl H. (kbuchegg)


Lesenswert?

Dietrich L. schrieb:

> Denn wie ich ja schon sagte, ist das:
>
> John schrieb:
>> Ich wollte mein Board mit einem anderen kommunizieren lassen das keine
>> USART-Schnittstelle hat.
>
> irgendwie Unsinn, oder zumindest komisch ...

Das hab ich mir auch gedacht.

Meine aus dem Bauch heraus Erklärung dafür lautet:
Der TO denkt, dass er diesen Umsetzer braucht, um auf dem anderen Board 
eine USART nachzurüsten. Nun, dem ist nicht so. Das andere Board braucht 
eine eigene USART. Hat es die nicht, dann bringt ihm auch der Umsetzer 
nichts.

von Wolfgang (Gast)


Lesenswert?

Karl Heinz schrieb:
> Ist das eine 5V-TTL USART, oder ist das eine echte 12V RS232

Was hat USART mit 12V/RS232 zu tun.
Universal Asynchronous Receiver Transmitter ist schlicht und einfach die 
Baugruppe, die dafür sorgt, dass die Bits seriell über die Leitung 
purzeln und ihren kleinen Datenrahmen bekommen, bzw. umgekehrt wieder 
eingesammelt werden und als Byte zur Verfügung stehen. Folglich hat so 
ein USART die gleiche Spannung, wie alle anderen IO-Signale des µC.

von Karl H. (kbuchegg)


Lesenswert?

Wolfgang schrieb:
> Karl Heinz schrieb:
>> Ist das eine 5V-TTL USART, oder ist das eine echte 12V RS232
>
> Was hat USART mit 12V/RS232 zu tun.
> Universal Asynchronous Receiver Transmitter ist schlicht und einfach die
> Baugruppe  ....


Das weißt du, das weiß ich und das wissen die meisten hier.

Sieh dir die Anfrage an. Traust du dem Fragesteller wirklich zu, dass er 
sich darüber bewusst ist?
Ich nicht.

: Bearbeitet durch User
von Wilhelm F. (Gast)


Lesenswert?

Manchmal spart man sich den Pegelumsetzer MAX232 auch, und setzt nur 
einen TTL-Inverter zwischen µC und PC. Allerdings ist da der Störabstand 
gering, mit niedrigen Baudraten z.B. 4800 und nicht zu langem Kabel geht 
es aber. Die Empfangsseite am µC hat eine Diode mit Vorwiderstand, um 
den Pegel zu begrenzen, und auch wieder einen TTL-Inverter.

Auf diese Art habe ich noch ein altes Elektor-Compuboard für 8031, 
welches genau so an den PC angebunden ist.

In industriellen Geräten sah ich das auch schon, um den MAX-Baustein zu 
sparen, z.B. ein Handprogrammiergerät mit einem Meter Kabel dran für 
eine Anlage.

Also bei 5V Betriebsspannung geht das, bei den modernen 3,3V-Schaltungen 
wohl nicht mehr oder kaum noch.


Wenn man einfach nur zwei µC miteinander verbinden will, und kurze 
Entfernung, geht es direkt über die µC-Pins. Dort braucht man dann auch 
nicht unbedingt eine Standardbaudrate zu wählen, sondern beliebig krumme 
Werte. Die MAX-Bausteine haben ja auch eine maximale Baudrate, die 
einfachen MAX232 glaube ich 19200, die man bei einer Direktverbindung µC 
zu µC aber gerne mal weit überschreitet, z.B. ein Megabaud. Mit dem ganz 
alten Standard-8051 schafft man so ohne Baudratenquarz ein Megabaud, 
anders auch wegen der bescheidenen Standardbaudratenwahl eher kaum diese 
Geschwindigkeit.

von greg (Gast)


Lesenswert?

Wieviel bringt es auf längere Entfernungen denn eigentlich, die 
RS232-Levels zu fahren? Natürlich wenn man davon ausgeht, dass beide 
Teilnehmer auf TTL-Level zugeschnitten sind, wenn man die mit Inverter 
an einen RS232-Port am PC legt und das funktioniert, ist man jenseits 
jeglicher Spezifikation...

von Wilhelm F. (Gast)


Lesenswert?

greg schrieb:

> Wieviel bringt es auf längere Entfernungen denn eigentlich, die
> RS232-Levels zu fahren? Natürlich wenn man davon ausgeht, dass beide
> Teilnehmer auf TTL-Level zugeschnitten sind, wenn man die mit Inverter
> an einen RS232-Port am PC legt und das funktioniert, ist man jenseits
> jeglicher Spezifikation...

Nun ja, man braucht nicht überall strenge Spezifikationen. Elektor 
schrieb damals zum Compuboard, daß die Verbindung zum PC auf die 
einfache Art auch ausreichend funktionieren würde. Ein Bastelboard ist 
keine sicherheitskritische ausfallsichere Anlage.

von greg (Gast)


Lesenswert?

Wilhelm F. schrieb:
> Nun ja, man braucht nicht überall strenge Spezifikationen. Elektor
> schrieb damals zum Compuboard, daß die Verbindung zum PC auf die
> einfache Art auch ausreichend funktionieren würde.

So einen "Pegelwandler" (ganz einfach diskret mit Transistoren 
aufgebaut) hab ich hier auch noch herumfliegen, aber mittlerweile setze 
ich den nicht mehr ein, da der je nach Mondphase, Horoskop und 
verwendetem RS232-Port entweder zuverlässig funktioniert oder auch 
nicht.

Mittlerweile ist es wohl am besten, einfach die billigen 
USB-UART-Adapter vom Chinesen zu verwenden.

von Wilhelm F. (Gast)


Lesenswert?

greg schrieb:

> So einen "Pegelwandler" (ganz einfach diskret mit Transistoren
> aufgebaut) hab ich hier auch noch herumfliegen,

Ja, stimmt, einfach mit Transistoren ging es auch. Auf dem Compuboard 
waren noch unbenutzte Gatter in Gatterbausteinen frei, und dann nimmt 
man diese halt.

Wenn man auf einem µC-Board irgendwo noch zufällig Spannungen von +/-15V 
hat, kann man sich den MAX-Baustein prinzipiell auch wiederum sparen.

> aber mittlerweile setze
> ich den nicht mehr ein, da der je nach Mondphase, Horoskop und
> verwendetem RS232-Port entweder zuverlässig funktioniert oder auch
> nicht.

Gelegentlich hatte ich mit den einfachen TTL-Pegeln auch 
Übertragungsfehler, trotz nur 4800BAUD. Das sah man aber am Terminal, 
und startete dann einfach den Programmdownload neu. Im Hobby geht das.

Auf einigen Boards habe ich den MAX232, der aber laut Datenblatt nur 
eine Höchstbaudrate von 19200 macht. Das war mir zu langsam. Bei kleinen 
Assemblerprogrammen ging die Downloadzeit von ein paar Sekunden noch, 
aber eine Minute warten für einen Output eines größeren C-Programmes war 
mir zu lang. Dann schraubte ich die Baudrate auf 57600 hoch, also das 
Dreifache des erlaubten Wertes. Ich war nie mit dem Oszi dran, aber das 
Ding machte so noch nie Fehler.

> Mittlerweile ist es wohl am besten, einfach die billigen
> USB-UART-Adapter vom Chinesen zu verwenden.

Fürs Notebook habe ich einen Umsetzer USB zu RS232 von Delock, weil es 
keine eingebaute RS232 hat. Der Delock arbeitet auch völlig fehlerfrei, 
aber die RS232-Pegel hat man immer noch, wie an der echten RS232, kein 
TTL-Pegel.

Für die Kabellänge an der RS232 gibts eine grobe Faustformel, in der die 
Baudrate umgekehrt proportional zur Kabellänge ist. Nix kompliziertes, 
aber immerhin zur groben Abschätzung. Dort kommen eigentlich nur drei 
Werte drin vor: Baudrate, Länge, und eine Konstante ähnlich der 
Lichtgeschwindigkeit.

von greg (Gast)


Lesenswert?

Wilhelm F. schrieb:
>> aber mittlerweile setze
>> ich den nicht mehr ein, da der je nach Mondphase, Horoskop und
>> verwendetem RS232-Port entweder zuverlässig funktioniert oder auch
>> nicht.
>
> Gelegentlich hatte ich mit den einfachen TTL-Pegeln auch
> Übertragungsfehler, trotz nur 4800BAUD. Das sah man aber am Terminal,
> und startete dann einfach den Programmdownload neu. Im Hobby geht das.
>

Naja...

> Auf einigen Boards habe ich den MAX232, der aber laut Datenblatt nur
> eine Höchstbaudrate von 19200 macht. Das war mir zu langsam. Bei kleinen
> Assemblerprogrammen ging die Downloadzeit von ein paar Sekunden noch,
> aber eine Minute warten für einen Output eines größeren C-Programmes war
> mir zu lang. Dann schraubte ich die Baudrate auf 57600 hoch, also das
> Dreifache des erlaubten Wertes. Ich war nie mit dem Oszi dran, aber das
> Ding machte so noch nie Fehler.
>

Der MAX232 macht bei mir 115200, und funktioniert auch bei nur 3.3V 
problemlos. Ist natürlich alles außerhalb der Specs, aber immer noch 
deutlich näher dran als gar keine richtige Pegelwandlung. Und bei mir 
gab es damit überhaupt keine Übertragungsfehler o.ä.

>> Mittlerweile ist es wohl am besten, einfach die billigen
>> USB-UART-Adapter vom Chinesen zu verwenden.
>
> Fürs Notebook habe ich einen Umsetzer USB zu RS232 von Delock, weil es
> keine eingebaute RS232 hat. Der Delock arbeitet auch völlig fehlerfrei,
> aber die RS232-Pegel hat man immer noch, wie an der echten RS232, kein
> TTL-Pegel.
>

Die Chinadinger liefern direkt TTL-Level, und man spart sich das 
redundante Pegelwechseln (denn in deinem Delock-Teil steckt auch ein 
MAX232 oder vergleichbares). Spottbillig sind sie obendrein. ;)

von Wilhelm F. (Gast)


Lesenswert?

greg schrieb:

> Die Chinadinger liefern direkt TTL-Level, und man spart sich das
> redundante Pegelwechseln (denn in deinem Delock-Teil steckt auch ein
> MAX232 oder vergleichbares). Spottbillig sind sie obendrein. ;)

USB zu TTL, das kannte ich noch gar nicht. Aber man lernt ja nie aus. 
;-)

von Wolfgang (Gast)


Lesenswert?

Wilhelm F. schrieb:
> USB zu TTL, das kannte ich noch gar nicht.

Ebay macht's möglich (121236470609)

von chombe (Gast)


Lesenswert?

hallo an alle,

kann jemand von euch mir eine kurze Erklärung geben?
So, ich möchte wissen, wie funktioniert die TTL->RS232 Pegelanpassung.

TTL: HIGH(+5V), LOW(0V)
RS-232: HIGH(-15V),LOW(+15V)

Wenn ich ttl zum RS-232 anpassen will, soll ich dann die Pegel 
invertieren?
Z.B. in einer Schaltung kommt ein TTL-Signal am Ausgang, und wenn ich 
dieses Signal weiter über ein uC verarbeiten will, dann soll ich rs232 
Signal erzeugen(z.B. MAX232 Pegelwandler). MAX232 invertiert schon das 
Signal.

Der uC erwartet die Pegel anderer Polarität?

Grüß,

chombe

von Dietrich L. (dietrichl)


Lesenswert?

chombe schrieb:
> Der uC erwartet die Pegel anderer Polarität?

Meistens passt die Polarität bei Verwendung einen MAX232 direkt ohne 
weitere Invertierung. Ob das bei dem µC passt, sagt Dir sein 
Datenblatt und http://de.wikipedia.org/wiki/RS232#Definition :
"Für die Datenleitungen (TxD und RxD) wird eine negative Logik 
verwendet, wobei eine Spannung zwischen −3 V und −15 V 
(ANSI/EIA/TIA-232-F-1997) eine logische Eins und eine Spannung zwischen 
+3 V und +15 V eine logische Null darstellt. "

Gruß Dietrich

von Michael L. (michaelx)


Lesenswert?

chombe schrieb:
> kann jemand von euch mir eine kurze Erklärung geben?
> ...
> Wenn ich ttl zum RS-232 anpassen will, soll ich dann die Pegel
> invertieren?

Nein, du steckst auf der einen Seite ein "TTL-High" rein, der 
RS-232-Sender konervertiert es auf "RS-232-High", und der 
RS-232-Empfänger macht daraus wieder ein "TTL-High".

Das ist eine Schnittstelle, keine Zauberei. Versuche also nicht Probleme 
zu lösen, die nicht existieren.

Oder frei nach Einstein: Mach es so kompliziert wie nötig, aber nicht 
komplizierter.

;-)

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.