Forum: Mikrocontroller und Digitale Elektronik CAN als Backplane-Bus?


von Bauform B. (bauformb)


Lesenswert?

Guten Morgen,

ein CAN-Bus darf nicht zu lang sein, das versteht jeder. Stichleitungen 
sollen möglichst kurz sein, auch gut. Aber unter welchen Umständen muss 
man einen Mindestabstand bis zu 1 Meter zwischen zwei Nodes einhalten?

In den meisten Anwendungen sind die Kabel von Natur aus länger. Auf 
einer Backplane für Europakarten ist der natürliche Abstand 20mm, mit 
Leiterbahnen in Schlangenlinien könnte man vielleicht 50mm erreichen. 
Ist CAN für den Zweck ungeeignet? Oder muss man nur dann Abstand halten, 
wenn der Bus insgesamt mehrere Meter lang ist?

Die Terminierung ist auch nicht so offensichtlich wie bei Kabeln. 
Reflexionen dürften bei max. 300mm Länge und mit langsamen Treibern kaum 
ein Problem sein. 4-Layer mit Impedanzkontrolle mag niemand bezahlen, 
also gibt es 2 Leiterbahnen 1.5mm über einer Massefläche. Immerhin ist 
dafür sehr viel Platz, besonders definiert wird es trotzdem nicht. Strom 
und Bauteile sparen ist immer gut, also, wie hochohmig könnte der eine 
Widerstand an einem Ende werden?

von Nils (Gast)


Lesenswert?

Wo hast Du denn das mit dem Mindestabstand gelesen?

von Georg S. (randy)


Lesenswert?

>  2 Leiterbahnen 1.5mm über einer Massefläche.

Das mit der Impedanz geht schon. Mach die Leitungen ungefähr je 70 Ohm 
gegen Masse, also ca. 1-2mm Breit (weil 50 Ohm wäre fast 3mm Breit das 
ist zu viel Platzverbrauch). Und mit nur 0,5mm Abstand zwischen den 
Leitungen, dann ist das zumindest im Ansatz ein differentielles Paar. 
Das muss nur ungefähr passen. Vor allem weil dein Backplane Bus 
sicherlich relativ kurz sein wird.

: Bearbeitet durch User
von Thomas F. (igel)


Lesenswert?

Bauform B. schrieb:
> Reflexionen dürften bei max. 300mm Länge und mit langsamen Treibern kaum
> ein Problem sein.

Bei max. 300mm Buslänge hätte ich keine Sorge einen Bus mit 1MBit/s zu 
benutzen. Und was sind langsame Treiber? Niedrige Baudrate oder langsame 
Anstiegszeit der Signalpegel?

Wenn ich einen neuen Bus auf CAN-Basis entwerfen würde so würde ich 
gleich komplett auf CAN FD mit SIC setzen.
https://www.can-cia.org/news/press-releases-german/view/?tx_news_pi1%5Bnews%5D=570&tx_news_pi1%5Bday%5D=26&tx_news_pi1%5Bmonth%5D=8&tx_news_pi1%5Byear%5D=2019&cHash=c9cc60cdb9ec6464b19c9800e006ddbe

: Bearbeitet durch User
von Bauform B. (bauformb)


Lesenswert?

Nils schrieb:
> Wo hast Du denn das mit dem Mindestabstand gelesen?

https://www.ti.com/lit/an/slla279a/slla279a.pdf

Georg S. schrieb:
> Das mit der Impedanz geht schon. Mach die Leitungen ungefähr je 70 Ohm
> gegen Masse, also ca. 1-2mm Breit (weil 50 Ohm wäre fast 3mm Breit das
> ist zu viel Platzverbrauch).

Danke, so hab' ich mir das vorgestellt. Die Treiber selbst brauchen 
keine bestimmte Impedanz und sonst hängt nichts weiter dran, vor allem 
kein Kabel.


Thomas F. schrieb:
> Bei max. 300mm Buslänge hätte ich keine Sorge einen Bus mit 1MBit/s zu
> benutzen.

Sehr schön, danke! 125k wäre auch schon ganz gut.

> Und was sind langsame Treiber? Niedrige Baudrate oder langsame
> Anstiegszeit der Signalpegel?

Vor allem langsame Anstiegszeiten, dann sieht man schon, wieviel Baud 
noch geht und notfalls muss der Benutzer eben warten ;)

> Wenn ich einen neuen Bus auf CAN-Basis entwerfen würde so würde ich
> gleich komplett auf CAN FD mit SIC setzen.

Lieber nicht. Das wäre etwas überdimensioniert und es gibt noch weniger 
Chips, die das können.


Falls jemand darüber stolpert: ich hab' so eine Frage vor 2 Jahren schon 
mal gestellt. Daran sieht man, dass mir CAN total suspekt ist. Vor allem 
müsste ich 100% sicher sein, dass es funktioniert. Sonst baue ich 
mehrere Platinen auf der Grundlage und stelle zum Schluss fest, dass es 
mit CAN nicht geht.

: Bearbeitet durch User
von Anja (Gast)


Lesenswert?

Bauform B. schrieb:
> Strom
> und Bauteile sparen ist immer gut, also, wie hochohmig könnte der eine
> Widerstand an einem Ende werden?

Das hängt von der gesamten Kapazitiven Last ab (Empfänger, 
Durchkontaktierungen, Steckerpins, Leitungsbelag).
Die 60 Ohm (2 * 120 Ohm) sind für bis zu 5 nF Gesamtkapazität ausgelegt 
um den rezessiven Pegel einzustellen.

Gruß Anja

von Jens R. (tmaniac)


Lesenswert?

Der CAN ist eigentlich richtig robust. Die ganzen "Vorschriften" die es 
gibt, sind dazu da dass man den Bus auch ausreizen kann.

Wenn du relativ niedrige Baudraten oder gar niedrige Datenmengen hast, 
musst du dir gar keine Gedanken drüber machen.

Während der Softwareentwicklung habe ich den CAN hier mit 
unterschiedlichsten Kabeln (von losen Drähten über Flachband bis 
verdrillt) und Steckern wild zusammen gestöpselt am Laufen. Teilweise 
einnmal terminiert, manchmal zweimal oder wenn es wild wird auch 
dreimal. Das zeigt schön wie breit das Spektrum mit der Impedanz sein 
kann. Dabei laufen die Kabel auch mal über ein Schaltnetzteil oder 
sonstigen EMV Störern.



Ich überlege gerade ob der alte Tesaufbau den wir mal in der Firma 
hatten auch den CAN über die Backplane laufen lassen hat. 🤔
Da war jedenfalls als "Mainboard" ein Eurokarteneinschub mit C166 
Controller drin.

von Bauform B. (bauformb)


Lesenswert?

Anja schrieb:
> Die 60 Ohm (2 * 120 Ohm) sind für bis zu 5 nF Gesamtkapazität ausgelegt
> um den rezessiven Pegel einzustellen.

Inzwischen hab' ich eine Zillion Seiten CAN gelesen, aber das ist mir 
nie begegnet, vielen Dank!

Auch Danke für alle anderen Beiträge, das Dickicht hat sich ein wenig 
gelichtet. Zum Abschluss der neueste Scherz: Bei den EFM32TG11 im QFP-48 
könnte ich CAN (ausgerechnet CAN!) nicht debuggen. CAN-RX und SWCLOCK 
teilen sich einen Pin :)

von Frank (Gast)


Lesenswert?

Ich hab das schon mit CAN-2.0B bei 500kBaut gemacht.

Gesteuert wurden diverse Schaltnetzteile und Messstationen in einem 19" 
Einschub eines Testsystems.
Die Terminierung (Split-Term) lag auf der Backplane und alle Einschübe 
hatten hochohmig eine Stub-Node Terminierung.
Das ganze würde über eine 8 Lagen Leiterplatte verteilt ohne Impedanz 
geprüfter Leiterplatte.

Ich habe von vorn herein CAN wegen seiner Robustheit und der 
Bustopologie gewählt. So konnte ich das System mit minimalen Aufwand auf 
jeden Anwendungsfall anpassen.

Sechs Netzteile und zwei Messeknoten oder zehn Netzteile und drei 
Messeknoten - das war nur noch eine Sache der Software weil die Hardware 
einfach gut lief. Zum Schluss (chronologisch gewachsen über Jahre) 
hatten wir unterschiedliche Nodes in unterschiedlichen 
Implementierungen. MCUs von Atmel, NXP und Ti und diverse verschiedene 
Transceiver. Ging alles per  Plug'n'Play.

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.