Forum: Mikrocontroller und Digitale Elektronik CAN-Bus Leitungspegel


von squall (Gast)


Lesenswert?

Da ich trotz ausführlicher Google Nachforschungen noch immer nicht 
dahinter gekommen bin wie es sich mit den Pegeln auf den CAN Leitungen 
verhält, will ich es mal hier versuchen. Mein Problem ist, dass ich 
trotz dem Blockschaltbild des CAN Controllers (z.B. PCA82C250) mir die 
Pegel auf den Leitungen nicht vorstellen kann.

Wenn ich nun einmal vom einfachsten Fall mit lediglich 2 Geräten am Bus 
ausgehe.Wenn zu Anfang sich beide im High Impedance Zustand befinden, 
welche Pegel habe ich dann auf CAN-L und auf CAN-H? Müssen irgendwelche 
Pullup bzw. Pulldown Widerstände am Bus angebracht werden damit die 
Sache funktioniert oder wo steckt das Geheimnis?

Danke schonmal für die Hilfe!

von A.K. (Gast)


Lesenswert?

Ohne Abschluss geht es nicht. Und es zählt die Differenz zwischen CANH 
und CAHL, nicht der absolute Pegel. Jedenfalls solange sich das in 
Grenzen hält.

Recessive: Alle Treiber offen, d.h. CANH=CANL, Differenz 0.
Dominant: CANH=high, CANL=low, Differenz entsprechend gross.

von A.K. (Gast)


Lesenswert?

PS: Es ist der Abschluss, der bei "recessive" für den ausgeglichenen 
Pegel sorgt. Pullup/down sind deshalb weder sinnvoll noch zulässig.

von squall (Gast)


Lesenswert?

Danke erstmal für die schnelle Antwort!

Das es um die Differenz der Pegel geht weis ich, nur konnte ich mit der 
Tabelle auf

http://www.me-systeme.de/canbus.html

nur nichts Anfangen. Laut dieser ist im Dominanten Zustand CANL auf Low 
und CANH floating da der Transistor gegen VCC geöffnet sein soll. Aber 
mit deiner Erklärung is es sonnenklar. ^^

Damit brauche ich lediglich den Abschlusswiderstand und keine Pullup 
bzw. Pulldown Widerstände, sehe ich das richtig?

von Obelix (Gast)


Lesenswert?

Pullup/-down entsprechen nicht der Bosch-Spezifikation, ABER es ist sehr 
wohl sinnvoll. Man kann damit den Signalpegel abstand vergrößern. Nicht 
umsonst wird im VW-Konzern mit Pullup/-down Widerständen in den 
CAN-Leitungen gearbeitet.

von A.K. (Gast)


Lesenswert?

> Damit brauche ich lediglich den Abschlusswiderstand und keine Pullup
> bzw. Pulldown Widerstände, sehe ich das richtig?

Korrekt. Im Unterschied zu RS485 ist der ausgeglichene Ruhepegel bei CAN 
ein sauber definierter Zustand.

Obelix mag recht haben, dass etwas "Gegenspannung" per Pullup/down den 
Störabstand vergrössern kann, d.h. bei "recessive" ist dann CANH<CANL. 
Aber vergiss das. Sowas wird erst interessant, wenn du in stark 
versauter Umgebung arbeitest.

von squall (Gast)


Lesenswert?

Wie werden diese denn dann eingeschaltet? Ein Pullup auf CANH und ein 
Pulldown auf CANL würde ja zu einer Differenzspannung im Recessive 
Zustand führen. Oder wird nur z.B. ein Pullup auf CANH verwendet?

Bei den Abschlusswiderständen ist es ja klar, dass sie an den 
Leitungsenden gebraucht werden. Wo würden diese Pullup/-down Widerstände 
angebracht werden?

von squall (Gast)


Lesenswert?

ok, war zu langsam, hast meine Frage schon beantwortet

thx

von A.K. (Gast)


Lesenswert?

Empfehlung: Application Note 228 von Microchip.

von Obelix (Gast)


Angehängte Dateien:

Lesenswert?

Das sieht dann so wie im Bild aus. Es wird dann kein Terminator 
eingesetzt.

von A.K. (Gast)


Lesenswert?

Damit liegt man allerdings bei PCA82C25x und MCP2551 ausserhalb der 
Spezifikation, denn die definieren CANH-CANL nur innerhalb von 
-1,0V..+5,0V, hier aber sind es -5,0V.

von squall (Gast)


Lesenswert?

Habe mir jetzt die Application Note 228 etwas angesehen es sieht so aus, 
als ob das ziemlich genau das ist, was ich gesucht habe. Werde es mir 
morgen nocheinmal genau ansehen. Danke auf jedenfall für eure Hilfe.

von Obelix (Gast)


Lesenswert?

@A.K.

Wie kommst du auf -5V ??? Wo sollen die denn her kommen?
Bei den Maximal zulässigen Spannungen an den Pins wird die Spannung 
gegen Masse gemessen und nicht differenziel.

von A.K. (Gast)


Lesenswert?

Die Differenzspannung CANH-CANL. Siehe Datasheet PCA82C250, S.6, 
Vdiff(r).

von Obelix (Gast)


Lesenswert?

Nach dem Datenblatt hast du wohl recht. Was setzt den der VW-Konzern für 
CAN-Tranciever ein?

Oder ... Das im Datenblatt ist so zu interpretieren, dass der PCA82C250 
ab diesen Pegeln Recessive bzw. dominant erkennt.
Wenn man sich beispielsweise nur zum Vergleich mal VIL anschaut, dann 
steht da ja -0,3V bis 0,3Vcc. Das ist der Bereich wo der Chip sicher 
Low-Pegel erkennt. Der Chip geht deswegen aber nicht über 0,3Vcc kaput. 
Dazu gibt es ja die Limiting Valus auf Seite 5. Da taucht Vdiff aber 
nicht mehr auf. Auch nach Bild 11 sehe ich keinen Grund, warum der Chip 
das nicht verkraften sollte.

Naja, ist auch egal, ich habe das so im Einsatz und es funktioniert seid 
Jahren wunderbar.

von A.K. (Gast)


Lesenswert?

> Was setzt den der VW-Konzern für CAN-Tranciever ein?

Dein Bild zeigt eben den PCA82C250.

Sicher, kaputt geht er ausserhalb davon nicht, und es ist auch kaum 
anzunehmen, dass die Pegelerkennung plötzlich umkippt. Es wird wohl eher 
so sein, dass diese Range so aus der CAN Spezifikation abgeschrieben 
wurde.

von Obelix (Gast)


Lesenswert?

Was in meinem Schaltplan ist weis ich wohl :-), aber was setzt VW ein?

von Michael (Gast)


Lesenswert?

TJA1054 oder TLE6245.

von Michael (Gast)


Lesenswert?

Terminierung 560Ohm

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.