www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bus mit nur einem Kabel


Autor: Michael B. (gm8816)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich möchte ein Bussystem mit einem Kabel realisieren. Es soll ein Master 
vorhanden sein und nicht mehr als 10 Slaves. Dabei sollen alle 
untereinander kommunizieren können. Das protokoll werde ich selbst 
entwickeln, da mir sowas nicht schwer fällt. Mir geht es eher um die 
Hardware. Gibt es ür diesen Einsatzzweck fertige IC's oder auch eine 
Schaltung?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kabel?

wieviel adern?

Autor: Michael B. (gm8816)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die mangelhafte Formulierung tut mir leid. Es soll nur einen Datenkanal 
geben, welcher nur über eine Ader übertragen wird.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
10-MHz-Ethernet ist ein Beispiel für so einen Bus.

Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das ganze für einen Microcontroller sein soll, dann würde ich als 
hardware die Pinelektronik des controllers verwenden. Damit lassen sich 
die Signalpegel wunderbar erzeugen...

Allerdings wird das mit einer Ader nix, du wirst noch eine zweite für 
Signalmasse benötigen...

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Geoffrey M.,

wie wäre es mit einem LIN-Transceiver tja1020.
Der braucht nur noch 1 Widerstand und 1 Diode.....

Gruss Otto

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei "1 Ader" gehe ich von 1 Ader + Masse aus...

Gruss Otto

Autor: Michael B. (gm8816)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit der Masse ist mir klar. Ohne gemeinsame Masse läuft ja nichts. 
Das mit der Elektonik des Controllers Verstehe ich nicht. Ich kann doch 
nicht einfach die Datenader an einen Pin von jedem Controller 
Anschließen? Oder doch?

Autor: Michel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nö, der Pin bzw. der Port muss tristate fähig sein und die Pegel müssen 
passen... ;)

Autor: Michael B. (gm8816)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wie ich es im Datenblatt vom ATtiny lesen kann sind die Ports 
Tristate fähig. Also einfach alle Verbinden und ich kann loslegen?

Autor: Lanius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
such mal nach 1-wire, zB:

http://de.wikipedia.org/wiki/1-Wire

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ohne gemeinsame Masse läuft ja nichts.

FALSCH.

Stichwort : Differenzieller Bus

Autor: Dirk S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Ohne gemeinsame Masse läuft ja nichts.

> FALSCH.

> Stichwort : Differenzieller Bus

Auch FALSCH.

Auch bei differentieller Übertragung muss die Masse mitgegeben werden um 
den erlaubten Gleichtaktspannungsbereich garantieren zu können.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei differenzieller Übertragung braucht man keine gemeinsame Masse, aber 
man braucht trotzdem zwei Leitungen, somit gewinnt man in der Hinsicht 
nichts. Man käme aber auch mit einer Leitung aus, denn sonst wären 
Funkübertragungen nicht möglich.

> Es soll ein Master vorhanden sein und nicht mehr als 10 Slaves. Dabei
> sollen alle untereinander kommunizieren können.

Ja was denn nun? Master/Slave oder gleichberechtige Teilnehme?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Auch bei differentieller Übertragung muss die Masse mitgegeben werden um
> den erlaubten Gleichtaktspannungsbereich garantieren zu können.

Wenn beide Seiten potentialgetrennt sind ist es nützlich aber zumindest 
bei RS485 nicht erforderlich - dank der Charakteristik der Transceiver 
stellt sich das automatisch ein. Und ohne Potentialtrennung ist das 
entweder schon gegeben oder die Masse nützt nicht viel (evtl. 
Ausgleichsströme).

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
da man so viele verschiedene Ansichten bezüglich Masse oder nicht bei 
differenzieller Übertragung liest, möchte ich auf ein sehr interessantes 
Dokument von Maxim verweisen - welches die Notwendigkeit der 
Masseleitung erläutert( wobei die Potentialtrennung keinen Einfluss hat; 
Ziel ist es ja den Bus absolut zu isolieren).

~ andi

http://www.maxim-ic.com/appnotes.cfm/appnote_number/2045/

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auswahl eines Busssystems hängt von vielen Rahmenbedingungen ab, da 
musst du schon mal etwas näher spezifizieren, was du willst. Es macht 
z.B. einen Unterschied, ob du 1GBit oder 200 Byte pro Sekunde übertragen 
willst. Weiterhin wichtig sind maximale Buslänge, galvanische 
Entkopplung, Datenmenge, die geschaufelt werden soll, Pollzeit für die 
Slaves, u.v.m.

Mach dir doch einfach mal ein paar Gedanken darüber und poste mal, was 
du dir da vorstellst. Wenn du den konkreten Anwendungsfall beschreibst, 
kann man auch besser verstehen, was du brauchst.

1Wire, wie obiger Link, ist z.B. schon eine sehr interessante 
Angelegenheit, die dein Vorhaben treffen könnte.

Schlussendlich hängt es auch davon ab, ob du ein Produkt verkaufen 
willst und dann so Sachen wie Copyrights und Patente beachten musst (wie 
bei 1-Wire).

Autor: Michael B. (gm8816)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gepollt werden soll alle 10ms oder auch mehr. Es ist in erster Linie 
keine Zeitkritische Anwendung. Die Buslänge muss nicht mehr als 100m 
betragen. Was muss ich denn für Rechte beachten wenn ich das Protokoll 
komplett selbst entwickel?

Autor: ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was muss ich denn für Rechte beachten wenn ich das Protokoll
> komplett selbst entwickel?

Fremde! ... Welche? ... das ist davon abhängig was Du da entwickelst ...

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
junge junge, mach einfach! Du kannst zwei AVR Port pins problemlos 
zusammenpopeln und damit auch 100 meter erreichen... siehe hier, da 
wurde genau das implementiert was du brauchst (vermute ich mal...): 
Beitrag "1-Drahtbidirektionalbus über große Distanz mit AVR"

Da wirst du sicherlich keine Patente oder so beachten müssen...

Autor: Nullpointer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fuer einen 100m langen Bus, der alle 10ms gepollt wird, dh, die 
Datenrate ist  einiges oberhalb 9600 baud, scheint mir RS485 das Minimum 
zu sein. Mit GND, Data+, Data-, also 3 Draehten. Auf externe Erden 
wuerde ich mich nicht verlassen.
Zu den Rechten : Wenn du nicht offensichtlich irgendwo abschreibst, 
sollten keine Probleme auftreten. Die erste Frage ist nun, sind alle 
Meldungen gleich lang? Falls nicht, enthaelt jede Meldung eine 
Laengen-Feld, oder die Meldungen sind fest vorgegeben und in einer 
Statusmaschine verdrahtet.

Autor: Michael B. (gm8816)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe gerade den PCA82C250 entdeckt. Das könnte doch was für meine 
Zwecke sein. Im Datenblatt steht zwar, dass er für einen Can Bus ist 
aber ich muss ihn ja nicht als solches benutzen.

Autor: Nullpointer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein CAN Bus ist ein RS485 plus die Hardware fuer 6 byte Meldungen. Wenn 
man laengere Meldungen als 6 bytes haben moechte, schaut CAN schlecht 
aus.

Autor: Michael B. (gm8816)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
6 Bytes Reiches mir völlig aus. Ich möchte nur wissen ob ich mit dem 
Controller auch ein anderes Protokoll benutzen kann. So wie ich das sehe 
macht der nichts anderes als Daten senden und empfangen.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Fuer einen 100m langen Bus, der alle 10ms gepollt wird, dh, die
> Datenrate ist  einiges oberhalb 9600 baud,

Ich weiß ja nicht genau, was "alle 10ms gepollt" heißen soll, aber wenn 
da alle 10 ms ein Bit eintrudelt, kommt man lange nicht auf 9600 Baud. 
Selbst wenn mit "gepollt" die gesamte Logik zum Lesen eines kompletten 
Byte gemeint ist, ist man noch weit von 9600 Baud entfernt.

@Nullpointer:
CAN-Botschaften haben bis zu 8 Bytes Nutzdaten, nicht 6.

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.