mikrocontroller.net

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


Autor: Harry Up (harryup)
Datum:

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

Autor: HildeK (Gast)
Datum:

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

Autor: Harry Up (harryup)
Datum:

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

Autor: Severino R. (severino)
Datum:

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

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

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

Autor: R. Max (rmax)
Datum:

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

Autor: Ede (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Token Ring

MB

Autor: R. Max (rmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ede wrote:
> Token Ring

Hat getrennte Sende- und Empfangsleitungen.

Autor: dl7avf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Harry,

am einfachsten geht das mit zwei Modems.

Schöne Grüsse,

Franz

Autor: Fritz (Gast)
Datum:

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

Gruß Fritz

Autor: dani (Gast)
Datum:
Angehängte Dateien:

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

Autor: Harry Up (harryup)
Datum:

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

Autor: Harry Up (harryup)
Datum:

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

Autor: dani (Gast)
Datum:

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

Autor: R. Max (rmax)
Datum:

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

Autor: R. Max (rmax)
Datum:

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

Autor: Harry Up (harryup)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

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

Autor: Harry Up (harryup)
Datum:

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

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
such mal nach dem Schlüsselwort "KLINE"
findest du im Bereich Auto OBD

Autor: Bensch (Gast)
Datum:

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

Autor: Hauke Sattler (hauke)
Datum:

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

Autor: Harry Up (harryup)
Datum:

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

Autor: Wasser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte Rx über Wireless und Tx dann über Leitung.

ok ok war ein blöder witz.

Autor: Marko (Gast)
Datum:

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

Autor: juppi (Gast)
Datum:

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

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.