Forum: Mikrocontroller und Digitale Elektronik Suche Bussystem


von Jaakko (Gast)


Lesenswert?

Hi,

ich bin auf der Suche nach einem geeigneten Bussystem für die
Verbindung zweier uC's. Mein Problem ist, dass ich jeweils nur einen
Draht für Tx und Rx habe. Und dabei muss das System eine
Geschwindigkeit von ca. 2,5Mbit machen und die Reichweite sollte
mindestens 100m sein. Kann man da irgendwas mit RS485 machen?
Normalerweise würde man ja D+ und D- brauchen. Allerdings geht RS485 ja
auf Spannungsdifferenzen. Was wäre, wenn man jetzt z.B. D- auf Masse
halten würde, dann hätte man ja D+ als Spannungsdifferenz zu Masse.
Damit müsste doch eigendlich die Verbindung klappen, oder?

Als uC's sollen die Neuen 168'er von Atmel eingesetzt werden, wenn
man die irgendwo kaufen könnte....

Danke für eure Hilfe schonmal!

von Jens123 (Gast)


Lesenswert?

Ethernet???
ist nur etwas aufwendig..
RS232 sicher zu lanngsam..
LWL ??? sicher schnell genug
musst nur gucken, wie du die daten am besten darauf bekommst
aber 2,5MBit ist schon recht heftig...

MFG Jens

von Michael (Gast)


Lesenswert?

"Neuen 168'er von Atmel ..."

Sind das die Typen mit DMA-Controller und 32k internem RAM ? Wenn
nicht, wie sollen denn die 2,5MBit 'verschoben' werden ?

von Jaakko (Gast)


Lesenswert?

Ethernet ist mir eigendlich zu aufwändig. Das Problem bei LWL wäre, dass
ich einen Hauptsender, und ein paar Empfänger habe. Wenn ich dann in
Reihe schalte, dann müsste ich ja immer LWL erst wieder auf Draht
bringen, und dann wieder in LWL. Ich weiß nicht, wieviel Verzögerung
dann da rein käme. Ansonsten wäre es mal ein interessanter Ansatz. Am
liebsten wäre mir sowas wie RS485, weil es die Bandbreite kann, und
auch die Entfernung. Ich weiß halt nur nich, wie ich das über einen
Draht realisieren soll. Hat dafür vielleicht ne Idee? Von mir aus auch
gerne LWL, allerdings sollte das Ganze möglichst Verzögerungsfrei
laufen.

Danke für eure Hilfe nochmal!

P.S.: Falls es hilft: Ich brauche nur vom Hauptsender die hohe
Geschwindigkeit, die Antworten der Empfänger können lahme Krücken
dagegen sein.

von Rahul (Gast)


Lesenswert?

schon über CAN-Bus nachgedacht?
Hat Ähnlichkeit mit RS485 (auch differentiell) und multimasterfähig.
Durch externen CAN-Controller braucht man sich nicht ums Protokoll etc
kümmern. Einziger Nachteil ist, dass man nur pro Paket 8 Byte
verschicken kann, dafür aber irre schnell
Gruß Rahul

von Jaakko (Gast)


Lesenswert?

Hi,

hast du genauere Infos dazu? Also wie das Ganze genau funktioniert, und
welche ICs man braucht? Nen Datenblatt wäre auch toll!

von Philipp Sªsse (Gast)


Lesenswert?

Läuft auf dieselbe Frage hinaus wie RS-485, nämlich ob die Übertragung
klappt, wenn eine Leitung auf Masse liegt. Physikalisch ist CAN ja auch
nichts anderes als RS-485 und die Vorteile kann es nur ausspielen, wenn
Du mehr als zwei Teilnehmer auf dem Bus hast. Und an Bandbreite und
Buslänge tut sich m.W. auch nichts.

Aber mein dringender Verdacht lautet: mit einem Draht plus Masse geht
es nicht. Du denkst offenbar daran, statt 0v/5V und 5V/0V das eine
Potential festzuhalten und 0V/5V und 0V/-5V zu übertragen,
differentiell also dasselbe. Das wären aber ja RS-232-Pegel, die aus
irgendwelchen HF-technischen Symmetriegründen weder für die
Leitungslänge noch für die Übertragungsgeschwindigkeit geeignet sind.

Und warum willst Du überhaupt eine Masseverbindung? Vermutlich, weil Du
auch eine Versorgung darüber abwickeln willst und sobald Du auch noch
einen Laststrom auf der einen Ader Deiner Datenleitung hast, hat sich
das Thema sowieso erledigt.

Frage Dich doch einmal als erstes, ob es wirklich so schlimm ist, statt
eines Drahtes ein verdrilltes Pärchen zu nehmen.

von Andreas (Gast)


Lesenswert?

hallo jaako,

nimm can! hab ich bei mir auch gemacht.
bei 100m handelst du dir mit nur einer leitung alles mögliche an
störsignalen ein (reflexionen, aufmodulierung von anderem zeug). da
kannst du abschirmen wie du willst, es klappt nicht. nur mit diff-lines
bekommst du das hin.

grüße
andreas

von Michael (Gast)


Lesenswert?

@Andreas:
Welchen Takt verwendest Du, um den CAN-Bus auf 2,5MBit zu bringen ?
Ist das Ganze vielleicht CAN3.0 ?

von Andreas (Gast)


Lesenswert?

@michael:

ich verwende can (hier den pca82c250) für die physische übertragung,
weil die diff-leitung so robust gegen aussenstörungen ist.
alles weitere an beschaltung ist dann ohne can-controller o.ä., da habe
ich mein eigenes zeug gebaut. ich benutze nur die rx und tx leitung ,
die von 250er kommt.


grüße
andreas

von Philipp Sªsse (Gast)


Lesenswert?

Er will 2 ("zwei") µC miteinander verbinden. Welchen Vorteil soll da
CAN gegenüber RS-485 haben außer mehr Aufwand?

von OldBug (Gast)


Lesenswert?

>Das Problem bei LWL wäre, dass
>ich einen Hauptsender, und ein paar Empfänger habe.

Wo siehst Du da bitte eine 2 ("Zwei")?
2,5mBit wird man nicht so ohne weiteres auf 100m oder mehr Erreichen!
CAN schafft bei ca. 120m noch 100kBaud.
Und CAN ist schon verdammt schwer zu stören!

von Jens123 (Gast)


Lesenswert?

Im Topic stand 2 ("zwei")....

*ich bin auf der Suche nach einem geeigneten Bussystem für die
Verbindung zweier uC's.*

....::....

von Rufus T. Firefly (Gast)


Lesenswert?

Die zwei ("2") sieht jeder, der den Anfang des Threads liest:

"ich bin auf der Suche nach einem geeigneten Bussystem für die
Verbindung zweier uC's."

Das widerspricht sich zwar inhaltlich ein wenig (Bus für eine
Punkt-zu-Punkt-Verbindung?), aber wer so eigenartige* Pluralformen
bildet, muss es ja nicht unbedingt besser wissen.


*) in welcher Sprache wird bitte der Plural durch Anhängen eines
Apostroph-S gebildet? NFBL-Deutsch?

von Jens123 (Gast)


Lesenswert?

nixblick

Aber ein BUS kann auch eien Punk zu Punkt verbindung sein mit 8
Leitungen meinetwegen

Sprich sender (8 Leitungen = BUS) empfaennger

das ist meines wissens nach ein BUS

der SCSI Bus zB. da hab ich eine SCSI Karte (ein geraet) und eine
Festplatte (2tes geraet)

;)

von Andreas (Gast)


Lesenswert?

@Jaakko:
Du brauchst tatsächlich nur 3-adrigen Bimmeldraht (mit GND) und vorn
und hinten an CANH und CANL einen Termi-R, das war's.

@Philipp:
CAN macht eigentlich keinen Aufwand, wenn nicht noch so eine
Paketzentrale wie der SAJ... dazukommt.

Grüße
Andreas

von Philipp Sªsse (Gast)


Lesenswert?

@Andreas:
Vergleiche einen CAN-Controller mit dem eingebauten UART eines µC, an
den Du nur noch einen RS-485-Bustreiber hängen mußt (der sogar ohne
externe Beschaltung auskommt und damit noch weniger Aufwand als ein
RS-232 bedeutet).

Aufwendig wird RS-485, wenn Du Dich um Protokoll mit
Kollisionsdetektion  kümmern mußt; dann übersteigt der Aufwand
tatsächlich bald den einer CAN-Lösung. Aber wenn nur zwei am Bus
hängen, ist ein kollisionsfreies Protokoll ja trotz Halbduplex
"geschenkt".

@Jens123:
An einen SCSI-Bus kannst Du (je nach Standard) mindestens 7
Busteilnehmer hängen. Ich weiß, es gibt kaputte Controller (haben im
letzten Jahrtausend bei manchem Scanner dabeigelegen), die das nicht
bringen, aber die erfüllen dann nicht die Spezifikation. Von einem
"Bus" spricht man wirklich erst, wenn mehr als zwei dranhängen
können. Natürlich bleiben SCSI, RS-485 und andere auch ein Bus, wenn
nur zwei Teilnehmer dranhängen. Im Prinzip auch, wenn gar keiner
dranhängt ... (-;

von Jens123 (Gast)


Lesenswert?

;)
schon klar
kommt immer darauf an.. wie man bus definiert
ob es heissr melr als eine datenleitung oder ehr als ein gerät
datenbus / gerätebus

von Andreas (Gast)


Lesenswert?

@Phillips:
jo! ich habe bei mir in der anwendung eben was gesucht, was mir einen
seriellen strom von ~100kbaud robust zu mehreren teilnehmern schickt.
und siehe da: maxim-ic hat da coole samples von can-transceivern
gehabt, da habe ich zugeschlagen...

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.