Forum: Mikrocontroller und Digitale Elektronik RX und TX auf einer Leitung


von Harry U. (harryup)


Lesenswert?

hi,
wäre es 'ohne großen aufstand' möglich, RX und TX auf einer leitung zu 
handlen? also bidirektional, solange TX was von sich gibt, müsste RX 
einfach mal 'weghören', nach kurzer wartezeit oder einem TX-ende signal 
dürfte dann RX lauschen. geht mir jetzt dabei nicht um die sprache, 
compiler oder sonstwas, einfach nur um das prinzip.
grüssens & dank, harry

von HildeK (Gast)


Lesenswert?

Gibt es unter den Stichworten I2C, One-Wire, gBit-Ethernet und bestimmt 
noch öfter.

von Harry U. (harryup)


Lesenswert?

danke, hab ich mich mal wieder nicht deutlich ausgedrückt.
ich meine schon die serielle schnittstelle rs232, also 'normale' 
kommunikation mit pc. onewire erfordert ein explizit dafür geschriebenes 
protokoll soweit ich das sehe, i2c kommt mit takt- und datenleitung 
daher, ergo 2 strippen.
grüssens, harry

von Severino R. (severino)


Lesenswert?

Wenn Du es schaffst, für die Senderichtung nur linksdrehende (Left-Spin) 
und für die Empfangsrichtung rechtsdrehende (Right-Spin) Elektronen zu 
selekteren, dürfte das gehen ;-)

SCNR

von Jadeclaw D. (jadeclaw)


Lesenswert?

@HarryUp:
Sicher geht das. Es muß nur durch eine Umschaltlogik sichergestellt 
sein, daß die Sendeausgänge nie aufeinander geklemmt werden. Alternativ 
die Sendeausgänge über einen extra Transistor oder einen 7407-Treiber 
als OpenCollector ausführen. Da ist es dann egal, da der High-Pegel über 
einen Widerstand realisiert wird und ob ein Ausgang oder beide die 
Leitung nach Masse ziehen, ist dann egal.
Mit den üblichen RS232-Treiber-ICs ist das nicht möglich.

Gruß
Jadeclaw.

von R. M. (rmax)


Lesenswert?

Mit RS323 geht das nicht ohne weiteres, weil sich die Ausgänge der 
beiden TX-Leitungen gegenseitig kurzschließen würden, wenn der eine 
High- und der andere Low-Pegel sendet.

Dazu müßtest Du schon Pegelkonverter haben, bei denen sich die Ausgänge 
der Sender hochohmig schalten lassen, solange nicht gesendet wird und 
das verwendete Protokoll müßte sicherstellen, daß immer nur ein Sender 
aktiv sein kann.

von Ede (Gast)


Lesenswert?

Token Ring

MB

von R. M. (rmax)


Lesenswert?

Ede wrote:
> Token Ring

Hat getrennte Sende- und Empfangsleitungen.

von dl7avf (Gast)


Lesenswert?

Hallo Harry,

am einfachsten geht das mit zwei Modems.

Schöne Grüsse,

Franz

von Fritz (Gast)


Lesenswert?

An TX mit einer Diode auf die Leitung gehen und einen Widerstand von der 
Leitung auf -10V (pull down).

Gruß Fritz

von dani (Gast)


Angehängte Dateien:

Lesenswert?

Nimm den 33290 IC. (single wire)

Der ist eigentlich aus dem KFZ Bereich uns steuert dort die K-Line.
Die RX / TX Leitungen werden auf eine Leitung umgesetzt.

Dani

von Harry U. (harryup)


Lesenswert?

wow, links- und rechtsdrehende elektronen sind jetzt voll hipp, muss ich 
mal versuchen, denen den richtigen drall beizubringen.
ok, die pegelwandler sind sicher eine hürde, aber die könnte mit bissl 
aufwand genommen werden. token ring erfordert wieder spezielle 
protokolle, das will ich ja gerne umgehen. grundidee ist die, ich 
versende zyklisch - alle sekunde mal - daten an den pc. jetzt wäre es 
doch schick, in den sendepausen daten empfangen zu können - aud 
derselben (im moment arbeitslosen) strippe. klar muss sichergestellt 
sein, dass die beiden tx'ens nicht gegeneinander senden, aber das sollte 
in solchen 'dicken pausen' ja möglich sein.
grüssens, harry

von Harry U. (harryup)


Lesenswert?

@dani, thanks, das trifft die sache doch schon sehr, sieht small and 
friendly aus, netter lösungsansatz und das noch heut' abend, klasse.
grüssens, harry

von dani (Gast)


Lesenswert?

Ähm,

du benötigst zwei 33290.

Einer auf der Senderseite, einer auf der Empfangsseite.
Auf beiden Seiten werden die RX/TX Leitungen angeschlossen.
Die beiden IC's werden nur über eine Leitung (ISO Anschlus) verbunden 
...
"Single wire" ist ein spezielles Übertragungsprotokoll, hat aber in 
diesem Fall nichts damit zu tun ...

von R. M. (rmax)


Lesenswert?

Harry Up wrote:

> grundidee ist die, ich versende zyklisch - alle sekunde mal -
> daten an den pc.

Und in dem Kabel ist wirklich keine Ader mehr frei und es gibt auch 
keine Möglichkeit, es durch eines mit noch einer zusätzlichen Ader zu 
ersetzen?

von R. M. (rmax)


Lesenswert?

dani wrote:

> du benötigst zwei 33290.

... und zumindest auf der PC-Seite auch noch einen Level-Shifter 
zwischen RS232- und 5V-Pegel, zumindest wenn kein Lötkolben an die 
serielle Schnittstelle angelegt werden soll.

> Einer auf der Senderseite, einer auf der Empfangsseite.

Ich dachte, das Ganze ist bidirektional? ;)

von Harry U. (harryup)


Lesenswert?

hi,
@dani: schon klar, kein problem mit den 2en. einer hat ja platz ohne 
ende.
im kabel selbst wäre schon noch luft für 'ne ader, aber im stecker 
nicht. das ganze soll in einem sensor verpackt sein, der stecker ist 
standard bei uns für alle sensoren, da käme eine neue variante nicht 
gut. der hat halt 4 anschlüsse, gag dabei ist IP67, dass ist muss, 
günstig ist das teil auch, aber eben in erster linie schon richtig 
verbreitet. 3 anschlüsse gehen für spannung, gnd und signal drauf, 
bleibt halt nur noch eine. im regelfall wird darauf nur gesendet, aber 
es wäre halt richtig lässig, dem controller z.b. eine kalibriertabelle 
übergeben zu können. insofern steht für die übertragung schon zeit zur 
verfügung, leider aber nur eben eine leitung.
grüssens, harry

von Peter D. (peda)


Lesenswert?

Harry Up wrote:
> hi,
> wäre es 'ohne großen aufstand' möglich, RX und TX auf einer leitung zu
> handlen?

Na klar, überhaupt kein Problem.

Mache ich z.B. in meinem Bootloader:

http://www.mikrocontroller.net/attachment/29691/fboot18.zip


Peter

von Harry U. (harryup)


Lesenswert?

auch dir vielen dank, peter, werd' mich mal 'durchkämpfen', ohne 
spezielle hardware wird das ganze dann richtig charmant.
grüssens, harry

p.s. abgesehen von den manchmal nervigen oberlehrern, echt ein super 
forum.
vielen dank @ all

von Ralph (Gast)


Lesenswert?

such mal nach dem Schlüsselwort "KLINE"
findest du im Bereich Auto OBD

von Bensch (Gast)


Lesenswert?

Ausser nach K-LINE könnte man natürlich auch nach LIN-Bus suchen. Der 
hat zwar ein etwas anspruchsvolleres Protokoll, dass man aber nicht 
unbedingt benutzen muss. IC dafür z.B. Atmel ATA6662.

von Hauke S. (hauke)


Lesenswert?

Hi Harry up
Das was du Basteln willst gibt es schon.
Es nennt sich SDI12 (Sensor Data Interface 12V)
Dort werden Wechselweise Daten über eine Leitung übertragen.
Die Übertragungsrate ist glaub ich 1200Baud 8n1 .
Vieleicht erübrigt es sich damit für euch ein PC seitiges 
Sensorinterface zu entwickeln.

cu
Hauke

von Harry U. (harryup)


Lesenswert?

hi,
danke für die anregungen, k-line wurde schon von dani vorgeschlagen, der 
ic 33290 macht das, vllt gibt es noch andere.
peters vorschlag führt im moment das 'lösungs'feld, der SDI12wirkt wie 
ein wunder aus den 50ern. die meisten sensoren arbeiten mit spannungen 
im bereich 8-30v, so auch unsere, da käme eine 12v versorgung schon 
recht ungelegen. und 1200 baud? mehr wäre zwar nicht nötig, aber 
irgendwo haben sich doch die 'langweiligen' 9600,8,1,n so etwas wie 
standardisiert.
also einen ic kaufen müssen, der das tempo kastriert und dabei noch 
spezielle spannung benötigt find' ich wenig marktgängig.
dennoch danke, grüssens, harry

von Wasser (Gast)


Lesenswert?

Man könnte Rx über Wireless und Tx dann über Leitung.

ok ok war ein blöder witz.

von Marko (Gast)


Lesenswert?

Was sind das denn fuer bloede Kommentare? Die Frage war sinnvoll und 
berechtigt. Man braucht nur Open-Collector Treiber und muss sich auf ein 
entsprechendes Protokoll einigen. Allerdings waere es sinnvoll hier 
gleich was bestehendes zu verwenden, z.B. Onewire.

von juppi (Gast)


Lesenswert?

hallo

>Autor: Fritz (Gast)
>Datum: 14.03.2008 18:13
------------------------------------------------------------------------ 
--------
>An TX mit einer Diode auf die Leitung gehen und einen Widerstand von der
>Leitung auf -10V (pull down).

auf beiden seiten R+D wurde schon einmal beantwortet.

das einfachste wird nicht akzeptiert

MfG

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.