Forum: Mikrocontroller und Digitale Elektronik Baudrate Converter für RS232


von Fredi Nüßle (Gast)


Lesenswert?

Hallo,
ich suche eine Schaltung (wenn dies überhaupt möglich ist) für eine
Baudrate Umsetzung!
Das Problem: Das sendende Module kann nur Baudrate 4800, das
empfangende kann 2400, 9600, 19200. Beide Hersteller der Module sagen,
dass sie an der Baudrate nicht ändern können. Somit habe ich das
Problem die 2 zusmmen zu bringen.
Ich weis dass ich hier nicht genau richtig bin, aber ich denke dass
hier im Microcontroller Forum jemand mir anworten kann.

Danke Fredi Nuessle

von ,,,, (Gast)


Lesenswert?

Mh mit nem µC mit zwei UARTs dürfte das doch eigenltich kein allzugroßes
Problem sein oder? Mit dem einen empfängst du, schreibst in den RAM und
schickst dann mit dem anderen wieder raus..

Oder doch nicht so einfach? Was meint ihr?

von Karl-heinz D. (kalledom)


Lesenswert?

In der Richtung 4800 Baud empfangen und mit 9600 Baud senden gibt es
wohl keine Probleme; da ist eben auf der 9600 Baud-Seite nach jedem
Byte eine kleine Pause.
Umgekehrt bei 9600 Baud empfangen und mit 4800 Baud senden kommt es auf
die Datenmenge an, ob der µC genug RAM zum Puffern hat.
Weiteres Problem ist der gemeinsame Baudrate-Generator für Senden und
Empfangen bei den meisten µC; da müßte es wahrscheinlich einer mit zwei
USARTs sein.

von A.K. (Gast)


Lesenswert?

Wenn auf einer Seite immer nur eine Richtung aktiv ist (Half-Duplex),
kann das auch ein Tiny2313 mit 1x Hardware- und 1x Software-UART
(AN304,307).

von Peter D. (peda)


Lesenswert?

@A.K.

"Wenn auf einer Seite immer nur eine Richtung aktiv ist
(Half-Duplex)"

Warum diese Einschränkung ?

Ne SW-UART geht natürlich auch in Voll-Duplex, siehe Codesammlung:

http://www.mikrocontroller.net/forum/read-4-299212.html#new


Für die schnellere Baudrate muß man dann noch einen Empfangspuffer
einrichten und die darf auch nicht ununterbrochen empfangen.
Mit dem ATTiny2313 wären etwa 100 Byte Puffer möglich, mit dem ATMega8,
etwa 1000 Byte.


Peter

von A.K. (Gast)


Lesenswert?

@PeDa: Weil ich dafür keinen Link parat hatte.

von Fredi Nüßle (Gast)


Lesenswert?

Hallo,
zuerst mal Danke für die vielen Beiträge.
Aber ich muß noch etwas beifügen das ich nicht richtig bzw. vollständig
beschreiben habe.

1. Die Übertragung findet nur in 1 Richtung statt, also nicht Duplex
2. Das Sendemodul hat feste Baudrate von 4800, der Empfänger hat die
Möglichkeit von 2400, 9600, 19200
3. Mir ist es gleich welche Übertragung am Sendemodul eingestellt wird,
da es sich um keine Anwendung handelt die zeitkritisch ist. Der
einfachste Weg ist der beste.

P.S. Sendemodule ist ein Transponder und der Empfänger ist das Parallax
Serial LCD Display mit dem ich nicht weiteres machen will als die Daten
des Transponders anzuzeigen. Vielleich hat jemand mit dem Parallax
Display schon Erfahrung

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Die Lösung dafür hat A.K. ja schon geliefert.
Wenn mehr Platz vorhanden ist, kann man auch einen Controller mit 2
USART nehmen (Mega162 und grösser).
Dazu gibt es bei Atmel auch eine schöne Tabelle ("parametric table").

von Karl H. (kbuchegg)


Lesenswert?

Mal ne blöde Frage:
Warum willst du so ein Display nehmen (Ich kenne es nicht)?

Wenn du ein stink normales LCD Display nimmst, dann fällt
der ganz Aufwand mit der 2.-ten UART weg -> du kannst also
einen AVR nehmen, der nur eine UART hat und den ein normales
Standard-LCD benutzen. Die sind nicht schwer anzusteuern.

Du baust dir quasi dein eigenes serielles Display, dass
dann die Baudraten kann, die du brauchst.

von Klaus (Gast)


Lesenswert?

Man braucht hier nichts selber bauen und selber programmieren.
Es gibt fertige "Interface Konverter RS232 Centronics" zu kaufen.

Man kauf hier zwei Stück Universalausführung.
Der erste wird eingestellt auf RS232 --> Centronics.
Der zweite auf Centronics --> RS232.

Der ersten stellt man nun auf 4800 Baud (vom Sender)
Dann hängt man über ein Zwischenkabel Centronics 2. Konverter direkt
dahinter, stellt diesen auf höhere Baudrate (9600).

Fertig.

Klar kann man auch basteln, löten, programmieren usw.
Kommt eben draufan, ob man Zeit oder Geld hat, eins fehlt ja immer.

von Fredi Nüßle (Gast)


Lesenswert?

Hallo,
ich habe mir das alles so einfach vorgestellt.
RFID Terminal gekauft mit seriellem Ausgang, dann ein Serielles Display
gekauft. Hier habe ich übersehen, dass das Display die Baudrate 4800
nicht kann. Wollte es so einfach wie möglich, und Kosten und
Lötarbeiten sparen, da es sich um einen Versuch handelt. Aber es kam
anderst.
Der Link zum Display: (für den, den es interessiert)
http://elmicro.com/files/parallax/parallax_serial_lcd.pdf

Wird wohl jetzt doch etwas teuer!! Alles besch................

von Karl H. (kbuchegg)


Lesenswert?

Von der Grundidee versteh ich dich schon (alles so einfach
wiemöglich). Du hast halt ein kleines Detail übersehen.
Wem das noch nie passiert ist, der werfe den ersten Stein :-)

Wenn du das Display schon hast, dann heist es abzuwägen:
* Die Baudrate umsetzen. Mit einem µC der 2 UART eingebaut
  hat ist das überhaupt kein Problem. Zur Not könnte man eine
  UART auch in Software realisieren. Die beiden UARTs können
  über einen gemeinsamen MAX232 geschickt werden und passt schon.
* Das Display links liegen lassen und ein neues Standard-Display
  kaufen, dass an einen µC angechlossen wird der die Umsetzung
  RS232 -> LCD macht.

Softwaretechnisch ist das eine auch nicht mehr Aufwand als das
andere. Persönlich würde ich zur 2.ten Variante greifen. Schon
alleine deshalb weil ich dann eine massgeschneiderte Anzeige-
Platine machen könnte, auf der sich halt neben dem Display
noch ein µC (zb. ein Mega8) rumtreibt. Wenn ich schon eine
eigene Platine machen muss, dann will ich das Display da auch
schon integriert haben :-)

Als Bastellösung ist das eine genausoviel Aufwand wie das
andere.

von A.K. (Gast)


Lesenswert?

Wers gern bizzar hat: Kessler hat angeblich noch par/ser ser/par Wandler
AY-3-1015 vorrätig (ich hab auch noch welche rumliegen). Damit geht's
auch. ;-)

von Dieter Werner (Gast)


Lesenswert?

Ich hab hier die Äquivalenztypen von Intersil  IM6402IPL

von Fredi Nüßle (Gast)


Lesenswert?

Hallo A.K.
Scheint mir eine gute Lösung zu sein. Habe mir kurz das Datenblatt
angeschaut.
Hat mir dazu jemand einen Schaltplan aus dem ich das nötige entnehmen
kann. Bin nicht der grosse Elektronikentwickler um so eine Lösung
funktionsfähig entwicklen kann.
Würde Ihnen auch die AY-3-1015 abkaufen, wenn sie nicht mehr benötigt
werden und nur rumliegen.
Für eine Lösung bin ich dankbar.

von A.K. (Gast)


Lesenswert?

Schaltung eines Konverters 75bd => 600/1200bd, für einen 1200/75bd
Akustikkoppler:

RDx => TDx
DAC => Inverter => DS
DS => Inverter => Inverter => RDAV
XS,SWE,RDE,TSB => GND.

74HC4060 mit Quarz 4,9152 MHz und Beschaltung wie im Datasheet, als
Baudratengenerator.

Als Inverter dienten mir damals 3 unbenutzte RS232-Receiver vom MC1489,
heute ist das nicht mehr praktikabel. 74HC könnten vielleicht zu schnell
sein, besser CD40106 verwenden. Ein weiterer Inverter daraus kann dann
hinter einem RC-Glied auch noch einen echten Power-On-Reset beisteuern.

von A.K. (Gast)


Lesenswert?

Korrektur:
DAV => Inverter => DS

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.