RS232 - Wandler und Mulitplexer in einem?

Carsten schrieb:

RS232

das=20

Hallo,

schreib mal genauer was Du willst.

Von einer seriellen Schnittstelle simultan an zwei andere zu senden w=E4r= e=20 kein Problem, da verbindet man einfach nur TxD der einen Seite mit zwei=20 RxD der anderen Seite. Es gibt Schnittstellen ICs mit zwei oder vier seriellen Schnittstellen=20 drin, da spart man sich die Multiplexer zu bauen. Du darfst so einen Multiplexer auch erst umschalten wenn das letzte Bit=20 des letzten Zeichens gesendet wurde, was mit Software etwas schwierig zu =

erkennen sein kann. Was aber machst Du beim Empfang von den zwei anderen =

wenn diese simultan antworten?

RS485 ist da besser, das hat die Multiplexerfunktion quasi mit drin,=20 aber man mu=DF selber daf=FCr sorgen das nicht simultan von mehreren=20 geantwortet wird.

Bye

Reply to
Uwe Hercksen
Loading thread data ...

Guten Morgen,

ich möchte gern über nen AVR mit einer seriellen Schnittstelle zwei RS232 ansprechen. Klar, ich könnte mit zwei MAX 232 und nen par Gattern das realisieren. Aber vieleicht gibt es ja auch nen Treiberchip, der genau das schon kann? Hat jemand ne Idee?

Idee: Ein AVR, der ne GPS-Maus ausliest und die Daten an ein Handy/Modem schickt. Das Toggeln der beiden Schnittstellen kann man ja dann über einen Pin des AVR steuern.

Danke und Gruß,

Carsten

Reply to
Carsten

Hi,

Teilproblem 1 (AVR): Entweder Du nimmst einen AVR, der zwei UARTs hat (z. B. mega161) oder Du programmierst eine Soft-UART (gibts auch fertig als Bibliotheken, wäre aber eine schöne Programmierübung mit externen und Timer-Interrupts).

Teilproblem 2 (MAX232): Wenn Du auf die Handshake-Leitungen verzichten kannst, dann reicht ein MAX232 völlig aus, denn er hat je zwei Sende- und zwei Empfangseinheiten. Ansonsten brauchst Du zwei von denen.

cu Thoralt

--
PS: Für Antworten bitte "-werbeblocker" aus der Adresse entfernen.
Reply to
Thoralt Franz

Sorry, hab mich vertan: mega162 soll es heißen.

Thoralt

--
PS: Für Antworten bitte "-werbeblocker" aus der Adresse entfernen.
Reply to
Thoralt Franz

schlagt mich jetzt bitte nicht gleich, ich kenne den AVR zu wenig... SW oder HW serielle? einfach einen Max (oder Derivat) nehmen, der eben mehr als RX und TX handeln kann, also z.B. einen mit 2...4 Transceivern... mit ein wenig SW ließe sich auch das Senden auf der AVR-Seite bequem umschalten. Aber was machst Du, wenn beide Geräte gleichzeitig Daten an den AVR schicken??? Als einzige Möglichkeit würde mir einfallen, Handshake zu verwenden (HW oder SW), um eben genau dieses Senden, währen Du auf der anderen Seite lauschst, zu unterbinden. Ist nur die Frage, ob das die verbundenen Geräte unterstützen.

ich würde die Logik natürlich auf der AVR-Seite machen, nicht auf der V24-Seite. In etwa so...

__ --------------------+ |>=|-----------+ RX |-o|1 | | | |__|---------+ | RX1 .-----------. | | +-----| | | | RX2 | |----- | +-------| |----- AVR | __ | | TX |-----------o---|>=| | MAX | | +------+ | |1 |o---| | | | __ +--|---|__| | |----- Ctrl |-o-|>=| | __ +--| |----- | | |1 |o+ +-|>=| | | | | +-|__| | |1 |o--+ '-----------' --------------------+ +----|__| (created by AACircuit v1.28.6 beta 04/19/05

formatting link

bzw mehr Transceiver, wenn HW-Handshake nötig ist...

einzig die empfangenen Zeichen müssten damit invertiert werden (NOR)

Heinz

Reply to
Heinz Liebhart

Hi!

Willst du deinem AVR von Handy aus auch noch was mitteilen? Sonst: Wozu

2 Uarts? Einfach TX_GPS an RX_AVR und TX_AVR an RX_HANDY. Wiso hängst du nicht direkt die GPS-Maus ans Handy?

Ansonsten ist ein Soft-Uart für den AVR wohl die einfachste und günstigste Möglichkeit. Der Max232 kann auch so schon 2 serielle Schnittstellen ohne Hardware Flow Control.

Softuarts:

formatting link
formatting link
(->304-306)

mfg Jan

Reply to
Jan Stumpf

Jepp, genau sowas hab ich mir vorgestellt und die Frage war, gibt es das ganze Geraffel zufällig schon in EINEM Chip um Platz auf dem Board zu sparen.

Gurß,

Carsten

Reply to
Carsten

Carsten schrieb:

Hallo,

schreib mal genauer was Du willst.

Hallo Uwe,

also Handshaking ist egal. Die GPS-Maus schickt immer wieder ihre Daten, die mich aber nur dann interessieren, wenn ich sie auslesen will. Danach "klemme" ich sie wieder ab und schicke was an die Handy-Schnittstelle.

Ich muss also nicht auf Signale von aussen reagieren.

Hintergrund: Ich möchte, sollte am Auto Alarm ausgelöst werden, dieses per SMS versenden und die GPS-Koordinaten hinzufügen. Und das in gewissen Abständen so lange, bis ich die Karre wieder hab ;-) Eventuell will ich auch darüber Alarm auslösen können, wenn sich das Fahrzeug wenn die Zündung aus ist, über eine gewisse Wegstrecke bewegt hat. Falls also zwar jemand die Anlage abgestellt hat, aber die zus. Schaltung und das Handy noch aktiv sind.

So zusagen den "Jungs" schon vor ihrere Garage auflauern können ;-)

Gruß,

Carsten

Reply to
Carsten

Ah, ok das schaue ich mir mal an!

Danke!

Reply to
Carsten

Hi!

Spricht dann was degegen einfach den einen UART zu nutzen? Du sendest nichts zum GPS-Modul und empfängst nichts vom Handy. Also wozu 2 Uarts?

mfg Jan

Reply to
Jan Stumpf

Warum nimmst Du nicht einfach einen AVR mit zwei seriellen? Einfacher gehts nicht.

Mit freundlichen Grüßen

Frank-Christian Krügel

Reply to
Frank-Christian Kruegel

Carsten schrieb:

nnen.

t:

Hallo,

dann k=F6nnte man zwar TxD nur zum Handy verbinden und RxD =FCber=20 Multiplexer (auf TTL Ebene) wahlweise an GPS oder Handy verbinden, aber=20 dann w=FCrden Zeichen beim Umschalten verst=FCmmelt und Du m=FCsstest die= =20 resultierenden Framing Errors, Breaks und Parity Errors richtig bearbeite= n. Der Datenstrom vom GPS w=FCrde nach dem Umschalten wild irgendwo in einer= =20 Zeile beginnen und Du m=FCsstest unvollst=E4ndige Zeilen erkennen und=20 verwerfen. Evtl. reicht ja schon alle Zeichen nach dem Umschalten bis=20 zum ersten empfangenen CR wegzuschmeissen. Bleibt zu hoffen das der UART sich durch unvollst=E4ndige Zeichen nicht=20 aufh=E4ngt.

Bye

Reply to
Uwe Hercksen

Hallo,

da GPS gar nicht empf=E4ngt ist die Umschaltung f=FCr TX nicht n=F6tig. Aber f=FCr RX w=E4re ein echter Multiplexer besser, damit w=E4re ein Mix = aus=20 zwei Datenstr=F6men ausgeschlossen.

Bye

Reply to
Uwe Hercksen

Hi Jan,

doch unter Unter Umständen will ich auch was vom Handy empfangen können. Nämlich bei Bedarf abfragen, ob ne SMS im Speicher liegt, in der steht: Standheizung einschalten.

Nur GPS-Seitig wäre read only.

Reply to
Carsten

Hm, stimmt, aber die mit einem UART hab ich rumliegen und für die Mega keinen Compiler. Und ich würd schon gern beim CodeVision bleiben aber nicht die kompl. Vollversion kaufen.

Gruß,

Carsten

Reply to
Carsten

Hi!

Tu dir selber einen Gefallen und verwende den avr-gcc! Der ist kostenlos , unterstützt alle Prozessoren, dank des mitgelieferten makefiles inzwischen total einfach zu bedienen und er basiert auf dem sicherlich nicht schlechten gcc Compiler. Es gibt für alle Perepherie ohne Ende Beispiele oder fertige Headerfiles direkt mitgeliefert. Vom CodeVision habe ich bis jetzt dagegen nicht viel gutes gehört! Ausserdem sind die meisten Programme in NGs und Foren für den Compiler!

Link:

formatting link

mfg Jan

Reply to
Jan Stumpf

Hallo,

noch mal ein paar Detailfragen:

  1. Viele GPS-Mäuse senden doch unaufgefordert einmal pro sekunde ihre Daten, ist das bei Deiner auch so?

  1. Die Verbindung zum anderen Endgerät muss bidirektional sein, oder reicht da nur senden aus?

Wenn beide Geräte nur unidirekttional sind, dann bietet es sich an, die Schnittstelle gar nicht zu multiplexen, sondern RX für GPS und TX für's andere Gerät zu nutzen. (gleiche übertragungsraten vorrausgesetzt) Ansonsten wurden glaube ich genügend brauchbare Lösungen genannt.

Die Lösung von Heinz, die beiden RX einfach in Hardware zu verodern scheint mir nicht so einfach zu sein, da dein Handy immer exakt in den Sendepausen des GPS senden müsste, wenn sich die Daten überschneiden, gibt's Chaos.

Daniel

--
  .~.    Daniel Schramm  Phone: +49 231 6108112   Mail:daniel.schramm@gmx.de
  /V\    Bruehlweg 36    Mobile:+49 178 8839848   ICQ: 35816985
 // \\   44379 Dortmund  Fax:   +49 231 96989961  WWW: pinguin.sauerland.de
/(   )\  Germany
 ^`~'^
Reply to
Daniel Schramm

Wofür brauchst Du einen anderen Compiler? Die AVRs sind durch die Bank codecompatibel - mal abgesehen von solchen Kleinigkeiten wie ELPM oder der Hardware Multiplikation, die die älteren Controller nicht haben. Du brauchst halt nur andere Headerfiles, weil die Peripherieregister anders belegt sind, und die kannst Du Dir notfalls auch selber bauen bzw vom gcc klauen.

Mit freundlichen Grüßen

Frank-Christian Krügel

Reply to
Frank-Christian Kruegel

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.