Geräte-Bus

#230707
Lesenswert?

Hallo!

Man stelle sich vor: Ich habe ein gehäuse, in das Euro-Karten
eingesteckt werden, welche dann über eine Busplatine verbunden werden.

Welches Bus-System würdet ihr verwenden, um die einzelnen eingesteckten
Platinen (alle haben gemeinsame VCC und GND) über 1-2 Leitungen mit
einem gemeinsamen Multimaster-Bus zu verbinden?
Das Bussystem sollte später auch außerhalb des Gehäuses erweitert
werden und dabei ca. 5 bis 10m ausgedehnt werden.

Habe dabei zuerst an CAN gedacht,aber geht das überhaupt?
#230711
Lesenswert?

CAN ist eine sehr gute Wahl.

Die Software ist extrem einfacher als bei RS485, da ja ein Großteil
schon die Hardware macht.

Wir benutzen auch CAN in unseren Geräten. Für die Verbindung der Geräte
untereinander und zum PC benutzen wir aber einen 2. CAN-Bus, damit der
ganze interne Traffic nicht außen die Performance senkt.

Außerdem ist so die Adressierung einfacher, jedes Gerät kann Module mit
gleichem Identifier beinhalten und hat nach außen nur einen Identifier.

Falls der µC keine 2 CAN-Busse hat, gibts ja den MCP2515 oder SJA1000.


Peter
#230715
Lesenswert?

>> Wenn mehr gefordert wird, dann ist CAN die bessere Lösung.

Also vorerst würde das Reichen, da nur einzelne kurze Informationen
(Fehlermeldungen, ....) übertragen werden.

In späteren Erweiterungen sollte sich das aber ändern,....

Also: eher CAN.

Aber gibt es da mit Abzweigungen vom Bus Probleme?
Gast #230716
Lesenswert?

Der CAN-Bus verträgt normalerweise kurze Stichleitungen (ein paar cm).
Sie sind zwar nicht konform der Spezifikation bereiten aber im
allgemeinen  keine Probleme. Ich habe dies selbst schon öfters im Auto
getestet. Denke bitte daran, dass der Bus an beiden Enden mit 120Ohm
abgeschlossen ist. Es muß mindestens ein Abschlußwiderstand vorhanden
sein, damit der Bus funktioniert (eigene leidvolle Erfahrung :-)!

Gruß

Timo
Gast #230719
Lesenswert?

> RS485 hat ja kein festgelegtes Protokoll, wenn man sich was
> passendes zusammenstrickt sollte Multimaster kein Problem sein.

Das große Problem bei Multimaster ist doch die Kollisionserkennung und
Reaktion darauf oder deren Vermeidung. Wie macht man das bei RS485?
Gast #230721
Lesenswert?

Ja so sieht die prinzipielle Topologie aus. Im Allgemeinen integriert
man die Abschlußwiderstände in den äußersten Steuergeräten,
Sensoren,...
Ebenso gibt es noch diverse zusätzliche Schutzbeschaltungen
(Überspannung, Symmetrierung, Kompensationsdrossel,...) die je nach
Einsatzort in jedes Gerät integriert werden kann. Da sind sich aber
noch nicht einmal die Automobilhersteller einig, was notwendig ist und
was nicht.
Stichleitungen von <10cm stellen meiner Erfahrung nach keinerlei
Probleme dar (20cm sollten eigentlich auch noch in Ordnung sein). Dies
ist aber immer von der Taktrate, Layout und Buskapazität abhängig. Ich
kenne die Werte in der Spek von Bosch/Motorola nicht mehr auswendig.
#230722
Lesenswert?

OK Danke!

Ich habe jetzt mal CAN eingebaut. Die Abschlusswiderstände sind in der
hinteren Bußplatine links und rechts außen eingebaut. Die längste
Stichleitung ist ca. 22cm lang.

Da nicht allzuvieles über den Buß übertragen wird, sollte das also auch
kein Problem sein, hoffe ich.

danke euch.

gruß
AiM
Gast #230723
Lesenswert?

>Das große Problem bei Multimaster ist doch die Kollisionserkennung
>und
>Reaktion darauf oder deren Vermeidung. Wie macht man das bei RS485?

Könnte man vielleicht so wie bei Ethernet (X25) machen: Alle Teilnehmer
haben einen Verzögerungszähler. Der Verzögerungszähler wird  z.B. per
Zufallsgenerator gesetzt. Ähnlich macht man's z.B. auch beim AX25
Protokoll (Packet Radio), wo viele Datentransceiver auf einer
gemeinsamen Frequenz kommunizieren.

Stefan
Gast #230724
Lesenswert?

Die normalen RS485-Treiber sind nicht kurzschlußfest, d.h. wenn zwei
Teilnehmer gleichzeitig unterschiedlichen Pegel treiben knallts - da
hilft keine noch so clevere Strategie.
Das Problem könnten CAN-Transceiver lösen. Dann könnte man in Software
eine geschickte Busarbitrierung machen. Naja, dann ist der Weg zu CAN
aber auch nicht mehr weit... und man spart sich ne Menge Arbeit und
Probleme.
Man könnte sich eine Strategie mit fest zugeteilten Zeitschlitzen pro
Master vorstellen. Dabei steigt aber wieder der Aufwand...
Aber das wußte Rolf natürlich alles, als er seine (rhetorische) Frage
stellte. ;-)

----, (QuadDash).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren