PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 1-Wire RS232 half-duplex mit 115200 Baud??



m@rkus33
31.10.2007, 23:22
Hallo zusammen,

ich habe eine Fremdaplikation die eine Schnittstelle hat wie hier beschrieben und die ich mit einem Mega verbinden soll.

"1-Wire open collector bus, RS232 Protokoll, half-duplex, bi-direktional 3,3V Pull-up, 115200 Baud. Our CPU issues function calls on the bus and the appropriate device ID responses with the requested data."


Der Anschlußstecker ist mit Signal, Vcc und GND belegt.

Nur wie sieht hier die Beschaltung aus, damit ich RX und TX auf eine Leitung bekomme und das ganze dann auch noch bi-direktional funktioniert? :-k

Habe keine Ahnung wie das aussehen soll.

Merci!!

linux_80
01.11.2007, 10:26
Hallo,

mal ne Idee:
auf der AVR-Seite kann man bei UART den RX und TX Pin getrennt aktivieren, so könnte man diese eine Leitung mit beiden Pins verbinden, und nur nach Anforderung den einen oder anderen aktivieren.
Evtl. noch einen Widerstand dazwischen, damit es keinen kurzen zwischen RX-TX gibt. Die beiden Pins in DDRx Register auf Eingang stellen, damit das Signal nicht beeinflusst wird.
:-k

m@rkus33
01.11.2007, 12:39
Hallo Linux_80,

ok, Hardware also so:



RX TX
I I
I - R - I
\ /
\ /
I
I
Signal


Wie groß sollte Deiner Meinung nach der Widerstand sein?

Frage 2: Da ich mit Bascom progge frage ich mich wie ich die beide HW- UART Pins auf Eingang stellen und TX nach Bedarf auf Senden schalten kann? Ich möchte gerne die HW- UART verwenden.
OK ist eigentlich das falsche Forum, aber evtl. hast ja nen Tip.

linux_80
01.11.2007, 13:52
Hallo,

Ich bin in elektrischen Sachen nicht so der, der jetzt die wahnsinns Ahnung hat :-k
aber so nutzt der Widerstand natürlich wenig :-)
http://tbn0.google.com/images?q=tbn:4Unx2Wrq99-MpM:http://twoday.tuwien.ac.at/static/pjwagner/images/widerstand.gif

es muss mM. auf beiden Seiten einer hin (kann sein das es auf einer Seite auch reicht), und ans andre Ende die Leitung von diesem 1wire.

Sollte eher so ausschaun:

RX TX
I I
I I
\ /
R R
\ /
I
I
Signal

Die grösse kann man sich ausrechnen ;-)
mal zwischen 500-1k probieren, evtl. auch ein wenige kleiner.
Aber da sollte mal ein richtiger Elektroniker drüberschaun ;-)


Die Pins werden zB. beim M8 im Register UCSRB, Bit RXEN und TXEN geschalten.
Vor dem Senden TXEN =1 und RXEN = 0, vor dem Empfang andersrum.
Vor dem umschalten immer warten das das letzte Byte auch fertig übertragen ist !

hacker
01.11.2007, 14:48
Das passt so. Ich hab auch schon eine gemeinsame Datenleitung DIO an RxD und TxD angeschlossen, exakt nach dem oben genannten Prinzip. Hatte noch nie Probleme damit.

m@rkus33
02.11.2007, 15:15
voll daneben ;) was ich mit dem R geschrieben habe.... tsts hätte ich auch sehen sollen , schäm.... aber so wie linux_80 geschrieben hat meinte ich es auch... Danke!