Forum: Mikrocontroller und Digitale Elektronik UART als Bus verwenden


von Erik S. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,
wollte das gute Thema mit dem RS232-Bus mal wieder aus der Versenkung 
holen :)
Habe mir dazu ein paar Gedanken gemacht und ein Schaltplan angefügt.
Hier die Punkte wie ich es mir gedacht hatte:

- 1 Master, Slaves über DIP-Schalter oder Software addressierbar.
- Operationsverstärker um die TX Leitung nicht durch Busteilnehmer zu 
belasten und als Schmitt-Trigger beschaltet für saubere Signale.
- Slaves dürfen nur auf Anfrage und  wenn sich die RX Leitung im 
Ruhezustand befindet schreiben.
- Es sollen nur kleine Datenmengen (4 Byte pro Slave) übertragen werden, 
Adresse, Daten und Prüfsumme
-Die Daten vom Slave zum Master würden mit der jeweiligen Adresse vom 
Slave beginnen, dann die Daten und Prüfsumme

Würde gerne eure Meinung wissen ob dies so umsetzbar ist und ob euch 
noch etwas auffällt.
Bis jetzt steht kein Projekt dahinter, es ist rein aus Interesse ob so 
ein Bus machbar ist.

Vielen Dank schonmal
Erik

von XXX (Gast)


Lesenswert?

Hallo

Wie weit sind die Teile denn auseinander. Habe (vor Jahrzehnten) mal
was mit 8031 gebaut. Einer Master -> TXD auf alle RXD.
Die TXD der Slaves über Dioden geodert an RXD des Master.
Jeder hatte seine eigene Europlatine. Diese waren auf eine
Buskarte in einem 19Zoll-System gesteckt.

Hat auch funktioniert, schwätzen durfte immer nur einer.

Gruß
Joachim

von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

Sollte gehen.

Auch wenn man das ohne die OAs und Optokoppler macht.

von Frank K. (fchk)


Lesenswert?

Erik S. schrieb:

> Würde gerne eure Meinung wissen ob dies so umsetzbar ist und ob euch
> noch etwas auffällt.

So wird das nichts. Es darf immer nur ein Slave den Bus treiben, alle 
anderen Slaves müssen hochohmig sein. Das ist bei Dir nicht der Fall, 
alle OPs treiben immer die Leitung, und wenn einer eine 0 ausgibt und 
einer eine 1, gibts quasi einen Kurzschluss und damit Datenmüll auf der 
Leitung.

Warum das Rad neu erfinden? RS485 macht genau das, auch über lange 
Strecken, und funktioniert seit vielen Jahrzehnten. DU kannst das 
nicht besser machen.

fchk

von Falk B. (falk)


Lesenswert?

@  Erik S. (Gast)

>Habe mir dazu ein paar Gedanken gemacht und ein Schaltplan angefügt.

Schon mal über das Thema Bildformate nachgedacht? 150dpi reichen für 
einen Schaltplan.

>- 1 Master, Slaves über DIP-Schalter oder Software addressierbar.

OK.

>- Operationsverstärker um die TX Leitung nicht durch Busteilnehmer zu
>belasten und als Schmitt-Trigger beschaltet für saubere Signale.

Alles Käse. Ersten haben die AVRs schon Schmitt-Trigger, zweites 
zeigt I2C, wie es sehr einfach geht. Zauberwort Open Drain. Man braucht 
nur EINE Leitung mit EINEM Pull-Up-Widerstand, sagen wir 4k7 oder so. 
Alle RX Pins gehen dort direkt dran, sind ja Eingänge. Alle TX-Pins über 
eine Diode ala BAT54, Kathode an den AVR, Anode an den Bus. Fertig ist 
der One-Wire UART.

>- Slaves dürfen nur auf Anfrage und  wenn sich die RX Leitung im
>Ruhezustand befindet schreiben.

Logisch.

>- Es sollen nur kleine Datenmengen (4 Byte pro Slave) übertragen werden,
>Adresse, Daten und Prüfsumme

Warum kein I2C? Ist was etabliertes.

>-Die Daten vom Slave zum Master würden mit der jeweiligen Adresse vom
>Slave beginnen, dann die Daten und Prüfsumme

Kann man so machen.

von Erik S. (Gast)


Lesenswert?

@Falk Brunner

>Schon mal über das Thema Bildformate nachgedacht? 150dpi reichen für
>einen Schaltplan.

Oh nein, die Welt geht unter...

>Warum kein I2C? Ist was etabliertes.

Hab nicht nach Alternativen gefragt. Es ist wie gesagt nur eine 
Überlegung.


@Frank
>So wird das nichts. Es darf immer nur ein Slave den Bus treiben, alle
>anderen Slaves müssen hochohmig sein. Das ist bei Dir nicht der Fall,
>alle OPs treiben immer die Leitung, und wenn einer eine 0 ausgibt und
>einer eine 1, gibts quasi einen Kurzschluss und damit Datenmüll auf der
>Leitung.

Sinnvoll und logisch, danke, muss ich mir was überlegen.

>Warum das Rad neu erfinden? RS485 macht genau das, auch über lange
>Strecken, und funktioniert seit vielen Jahrzehnten. DU kannst das
>nicht besser machen.

Danke für den Hinweis, hab wie gesagt nicht nach Alternative gefragt. Es 
ist nur eine Überlegung gewesen, es existiert keine Hardware und noch 
überhaupt kein Anwendungsbeispiel.


@Joachim
Sollte über längere Strecke (25m) gehen. Danke für dein Beitrag.

von Falk B. (falk)


Lesenswert?

@  Erik S. (Gast)

>>Schon mal über das Thema Bildformate nachgedacht? 150dpi reichen für
>>einen Schaltplan.

>Oh nein, die Welt geht unter...

Vielleicht solltest du auch mal über Netiquette was lesen und, so 
Gott will, beherzigen . . .

von Erik S. (Gast)


Lesenswert?

Falk Brunner schrieb:
> @  Erik S. (Gast)
>
>>>Schon mal über das Thema Bildformate nachgedacht? 150dpi reichen für
>>>einen Schaltplan.
>
>>Oh nein, die Welt geht unter...
>
> Vielleicht solltest du auch mal über Netiquette was lesen und, so
> Gott will, beherzigen . . .

Werds mir mal durchlesen, wüsste aber nicht warum man sich daran halten 
soll. Ist nichts verbindliches...

von Udo S. (urschmitt)


Lesenswert?

Erik S. schrieb:
>>Warum kein I2C? Ist was etabliertes.
>
> Hab nicht nach Alternativen gefragt. Es ist wie gesagt nur eine
> Überlegung.

Tja und hast trotzdem kostenlos und ohne selbst die Idee haben zu müssen 
einen besseren Vorschlag erhalten.
Das zeichnet ein tolles Forum aus, dass die Antwortenden weiter denken 
wie der Fragende.

von Udo S. (urschmitt)


Lesenswert?

Erik S. schrieb:
> wüsste aber nicht warum man sich daran halten soll. Ist nichts
> verbindliches...
Nett...

von Erik S. (Gast)


Lesenswert?

Udo Schmitt schrieb:
> Tja und hast trotzdem kostenlos und ohne selbst die Idee haben zu müssen
> einen besseren Vorschlag erhalten.

Ich weiß das diese Alternativen existieren und nochmal... Es ist nur 
eine Überlegung gewesen, es gibt wie gesagt nichts greifbares an 
Hardware die damit getrieben werden soll! Wird sowas nicht kapiert, ist 
ja nett das ihr weiter denkt, aber die Frage war konkret genug und hätte 
ich nach andere Möglichkeiten gesucht, hätte ich auch gefragt.

von Erik S. (Gast)


Lesenswert?

Udo Schmitt schrieb:
>> wüsste aber nicht warum man sich daran halten soll. Ist nichts
>> verbindliches...
> Nett...

Mir wurde kein Schreiben vorgelegt beim Vertragsabschluss mit meinem 
Internetprovider wo gesagt wurde wie ich mich zu verhalten hab.

Mal davon abgesehen. Fasst euch selbst an die Nase, denn Antworten wie
"DU kannst das nicht besser machen." sind auch nicht grade freundlich.

von spess53 (Gast)


Lesenswert?

Hi

>Mal davon abgesehen. Fasst euch selbst an die Nase, denn Antworten wie
>"DU kannst das nicht besser machen." sind auch nicht grade freundlich.

Ist aber die Wahrheit. Warum baust du dein BE-Grab nicht einfach auf und 
testest es.

MfG Spess

von Erik S. (Gast)


Lesenswert?

Na, was hab ich denn gefragt? Ob jemanden was auffällt, nicht mehr, 
nicht weniger, keine Alternative BUS-Systeme, kein "Du kannst es eh 
nicht besser".

Von daher war das hier...

>So wird das nichts. Es darf immer nur ein Slave den Bus treiben, alle
>anderen Slaves müssen hochohmig sein. Das ist bei Dir nicht der Fall,
>alle OPs treiben immer die Leitung, und wenn einer eine 0 ausgibt und
>einer eine 1, gibts quasi einen Kurzschluss und damit Datenmüll auf der
>Leitung.

und das hier

>Alles Käse. Ersten haben die AVRs schon Schmitt-Trigger, zweites
>zeigt I2C, wie es sehr einfach geht. Zauberwort Open Drain. Man braucht
>nur EINE Leitung mit EINEM Pull-Up-Widerstand, sagen wir 4k7 oder so.
>Alle RX Pins gehen dort direkt dran, sind ja Eingänge. Alle TX-Pins über
>eine Diode ala BAT54, Kathode an den AVR, Anode an den Bus. Fertig ist
>der One-Wire UART.

... die einzigen Beträge die mit der Frage zu tun hatten.

von Udo S. (urschmitt)


Lesenswert?

Erik S. schrieb:
> Na, was hab ich denn gefragt? Ob jemanden was auffällt, nicht mehr,
> nicht weniger,

Mir ist was aufgefallen.

von temp (Gast)


Lesenswert?

Na ja, wenn einer sich so einen Bauelementehaufen einfallen lässt für 
eine so triviale Aufgabe und dann noch solche Patzer wie das 
Zusammenschalten der OPV-Ausgänge macht, dann suggeriert er den anderen 
Forumsteilnehmern folgendes:

- hier hat sich einer um etwas Gedanken gemacht für das es schon viele 
erprobte Lösungen gibt
- die Lösung die er aufgemalt hat verrät, dass es hier mit den 
Kenntnissen nicht besonders weit her ist

Und wenn man merkt dass einer nicht viel Ahnung hat, muss man halt 
tiefer ausholen. Wenn dieser eine dann bockig und arrogant zurück 
kontert, dann sind wieder alle Vorurteile bestätigt und die die wirklich 
helfen wollen fühlen sich vera....

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Erik S. schrieb:
> Mir wurde kein Schreiben vorgelegt beim Vertragsabschluss mit meinem
> Internetprovider wo gesagt wurde wie ich mich zu verhalten hab.

Die Netiquette bittet Dich aber auch darum, Dein Anliegen möglichst 
detailliert zu beschreiben. Die Information, dass Du mit Deinem Bus ca. 
25m zurücklegen willst, hast Du erst viel viel später nachgelegt. 
Ausserdem ist der Titel des Threads irreführend: Du schreibst von einem 
UART Bus und nicht von RS232.

Bei UART denkt man an TTL-Pegel und deshalb erstmal an kleine 
Entfernungen. So kommen dann Tipps zustande, die man, wenn man die 
25m-Info direkt gehabt hätte, erst gar nicht gegeben hätte. Du hast also 
die Zeit anderer Leute verschwendet. Man könnte Dir dies als 
rücksichtslos auslegen. Daher hat die Netiquette schon ihren Sinn.

Zum Thema:

Leider hast Du verschwiegen, welche Datenrate Du angedacht hast, Du hast 
nur von Datenmengen gesprochen. 25 Meter sind auch bei RS232 u.U. schon 
eine Hausnummer, die bei höheren Datenraten zu Übertragungsfehlern 
führen können.

Ich halte daher genau NICHTS von Deinem Vorhaben. Dein Konzept ist 
schlecht und viel zu aufwendig.

Jetzt darfst Du nicht mehr weiterlesen, der Rest meines Schreibens ist 
nur für die sonstige Leserschaft gedacht - nicht für Dich:

Mit RS485 reduziert sich jeder Transmitter auf ein 75 Cent Bauteil. 
Entfernungen von mehreren hundert Metern sind kein Problem. Die 
Gedankengänge des TO zum Protokoll sind 1:1 auf RS485 adaptierbar - also 
auch machbar.

von Osche R. (Gast)


Lesenswert?

Erik S. schrieb:

> Würde gerne eure Meinung wissen ob dies so umsetzbar ist und ob euch
> noch etwas auffällt.

Nimm doch fertige LIN (ISO K-Line) Transceiver. Die kosten nicht mehr 
als OpAmps, aber Du brauchst das ganze Geraffel drumherum nicht.

High ist dann 12V, low 0V. Wenn zwei Teilnehmer gleichzeitig senden, 
versteht man zwar nichts, aber es geht auch nichts kaputt. Ebenso bei 
Kurzschluss gegen Plus oder Masse.

Das wäre z.B. ATA6663, TLE7259-2 oder TJA1021.

von Jobst M. (jobstens-de)


Lesenswert?

Erik S. schrieb:
> Mir wurde kein Schreiben vorgelegt beim Vertragsabschluss mit meinem
> Internetprovider wo gesagt wurde wie ich mich zu verhalten hab.

Naja, es gibt Leute, die es mit aller Gewalt darauf anlegen, daß man das 
irgendwann in Zukunft unterschreiben muß.


> Mal davon abgesehen. Fasst euch selbst an die Nase, denn Antworten wie
> "DU kannst das nicht besser machen." sind auch nicht grade freundlich.

Ich denke, die Aussage war recht emotionsfrei gemeint und ehrlich.
Und so solltest Du es auch verstehen.

Und 'Ich darf das, weil der das auch gemacht hat' ist kein Argument.


Gruß

Jobst

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.