Forum: Mikrocontroller und Digitale Elektronik 2x CAN auf eine Treiberstufe


von CAN (Gast)


Lesenswert?

HI an alle,

ich habe 2 verschiedene stecker, auf denen je 1x CAN-Bus kommen soll. 
Allerdings wollte ich Sie an einen Treiber anschließen.

Geht das einfach, wenn ich LOW mit LOW und HIGH mit HIGH verbinde oder 
muss ich da noch mehr beachten?

MfG

von OnkelOtto (Gast)


Lesenswert?

Klar geht das. Deshalb heisst es ja "Bus".

von eProfi (Gast)


Lesenswert?

> Geht das einfach, wenn ich LOW mit LOW und HIGH mit HIGH verbinde
> oder muss ich da noch mehr beachten?
Can-Gnd sollte auch verbunden werden.

von Martin L. (maveric00)


Lesenswert?

Hallo,

sicherheitshalber nachgefragt (wegen gemeinsam auf Treiber): Du hast 
zwei vollwertige Busse (also nach dem Tranceiver), die Du gerne 
zusammenschalten möchtest um dann ein weiteren CAN-Knoten (Deinen 
Treiber - was meinst Du damit eigentlich genau?) damit zu verbinden?

Oder hast Du zwei CAN-Controler/Mikrocontroller mit CAN, die Du 
gemeinsam auf einen Tranceiver (Treiber) schalten möchtest?

Im ersten Fall geht es, wenn man High/Low/Gnd miteinander verbindet und 
die Nachrichten der beiden Busse keine gleichen IDs haben. Aufpassen 
muss man dann noch mit der Terminierung, da dann vermutlich zwei 
Terminierungen überflüssig geworden sind.

Der zweite Fall ist schwieriger (dann wäre es aber auch RX/TX und nicht 
High/Low), ginge aber auch mit einer entsprechenden Logikschaltung.

Schöne Grüße,
Martin

von Rolf M. (rmagnus)


Lesenswert?

OnkelOtto schrieb:
> Klar geht das. Deshalb heisst es ja "Bus".

Das ist aber nicht bei jedem Bus so. Bei USB geht das z.B. nicht.

Martin L. schrieb:
> Der zweite Fall ist schwieriger (dann wäre es aber auch RX/TX und nicht
> High/Low), ginge aber auch mit einer entsprechenden Logikschaltung.

Und passender Software, denn die beiden Controller dürften ja dann nicht 
gleichzeitig zugreifen, und auch dürfe es nur einer 
initialisieren/konfigurieren. Das wäre generell ein wenig sinnvolles 
Unterfangen.

von Martin L. (maveric00)


Lesenswert?

Hallo,

nein, passende Software ist nicht notwendig, da die Tranceiver 
tatsächlich nur die Bustreiber sind (und zumindest in der Basisversion 
auch höchstens durch einen Rate-Limiter-Widerstand konfiguriert werden) 
und die Kollisionserkennung- und behandlung dann weiterhin in den beiden 
CAN-Controllern stattfinden würde.

Ich glaube den Fall den Du im Kopf hattest wären zwei µC die auf einen 
gemeinsamen CAN-Controller zugreifen (z.B. seriell). Da würde ich Dir 
allerdings zustimmen, dass das gar keinen Sinn macht.

Schöne Grüße,
Martin

von Steffen R. (steffen_rose)


Lesenswert?

Naja, man muss zumindest sicherstellen, dass bei Zusammenschalten der 
beiden CAN-TX Pins bei gleichzeitigem Dominanten und Rezessive Pegel der 
Dominante Pegel anliegt.

Da zusätzlich auch ein Transceiver im Einsatz ist, entfällt die Sorge um 
die Rückführung des CAN-TX Signals auf den CAN-RX Pin. Hier wäre noch 
eine Beschaltung notwendig, wenn man ganz auf den Transceiver im 
Netzwerk verzichtet.

von Rolf M. (rmagnus)


Lesenswert?

Steffen Rose schrieb:
> Naja, man muss zumindest sicherstellen, dass bei Zusammenschalten der
> beiden CAN-TX Pins bei gleichzeitigem Dominanten und Rezessive Pegel der
> Dominante Pegel anliegt.

Auf der Seite gibt es eigentlich noch keine dominanten oder rezessiven 
Pegel. Das ist ja eines der Dinge, die der Transceiver erst macht.
Ich hab grad mal im Datenblatt des SJA-1000 geschaut, und da ist es 
einstellbar, wie die TX-Pins sich verhalten sollen. Je nach Einstellung 
gibt's halt nen Kurzschluss, wenn der eine High sendet und der andere 
Low. Ich weiß nicht, wie's bei anderen CAN-Controllern ist.

von Soul E. (Gast)


Lesenswert?

Dann mach halt Dioden in die Tx-Leitungen und sieh einen gemeinsamen 
Pullup vor. Das nennt man "wired or".

von OnkelOtto (Gast)


Lesenswert?

@ rmagnus
USB ist keine Busstruktur sondern eine Baumstruktur.
Der Name ist da völlig irreführend. Es müsste eigentlich "Universal 
Serial Baum" heissen.

@diverse andere
Thema verfehlt.
Der OP möchte Low mit Low verbinden und High mit High, nicht Tx mit Tx 
und Rx mit Rx.

Den GND noch mit zu verbinden macht das ganze natürlich hübscher.

von Martin (Gast)


Lesenswert?

Bei 2 vershiedenen Steckern mit je einem CAN-Bus stellen sich eigentlich 
ertst einmal ein paar Fragen:

Wie hoch ist die Auslastung der Busse?
Welche Baudrate verwenden die Busse, oder kommen alle Teilnehmer mit 
Mischbetrieb zurecht?
Gibt es IDs die auf beiden Bussen verwendet werden?

von Rolf M. (rmagnus)


Lesenswert?

OnkelOtto schrieb:
> @ rmagnus
> USB ist keine Busstruktur sondern eine Baumstruktur.
> Der Name ist da völlig irreführend. Es müsste eigentlich "Universal
> Serial Baum" heissen.

Wie kommst du darauf, daß ein Bus nur dann einer ist, wenn alle 
Teilnehmer elektrisch parallel geschaltet sind? Bei PCI express gibt's 
auch separate Lanes für jeden Teilnehmer, und man spricht von einem Bus.
Oder wie es die Wikipedia sagt:
"Early computer buses were parallel electrical wires with multiple 
connections, but the term is now used for any physical arrangement that 
provides the same logical functionality as a parallel electrical bus. 
Modern computer buses can use both parallel and bit serial connections, 
and can be wired in either a multidrop (electrical parallel) or daisy 
chain topology, or connected by switched hubs, as in the case of USB."

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.