www.mikrocontroller.net

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


Autor: Fredi Nüßle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ,,,, (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Karl-heinz Domnick (kalledom)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@PeDa: Weil ich dafür keinen Link parat hatte.

Autor: Fredi Nüßle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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").

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fredi Nüßle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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................

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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. ;-)

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab hier die Äquivalenztypen von Intersil  IM6402IPL

Autor: Fredi Nüßle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrektur:
DAV => Inverter => DS

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.