Tutorial: Can Bit Timings 62,5kbps, 83,33kbps


Wer Daten auf dem Can-Bus lesen möchte braucht neben der entsprechenden Hardware zunächst eines: Das richtige Bit Timing.
Viele Adapter haben bereits die Bit Timings der gängisten Geschwindigkeiten an Bord. Bei speziellen Can-Bus Geschwindigkeiten kann in der Regel eine aus zwei oder drei Hex-Werten (je nach Chip) bestehende Konfiguration verwendet werden.

Beispiele für (im KFZ) seltenere Can-Bus Geschwindigkeiten sind z.B. die ersten Komfort-Bus (Convenience-Bus) Implementierungen im VAG-Konzern, welche bei Passat (ab '97) und Golf (ab '98) mit 62,5kbps arbeiten.
Ein weiteres Beispiel ist (u.a.) Mercedes, wo es z.B. die Geschwindigkeit von 83,33kbps gibt.

Ich möchte hier die Theorie bei Seite lassen und mehr Praxis relevante Hinweise geben.

Ein sehr verbreiteter Chip ist der Microchip MCP2515, für diesen gibt es ein sehr praktisches Tool namens MB Time. Dieser Bit Timing Calculator hilft bei der Suche nach den entsprechenden Konfigurationswerten.


Die Startoberfläche des Programmes MB-Time

Oben rechts wurde bereits die Oszillator-Frequenz und die gewünschte Can-Bus Geschwindigkeit eingetragen (Dezimalzahlen werden mit der englischen Punktnotation eingetragen). Die Frequenz ist abhängig vom jeweiligen Can-Bus Adapter.
Mit den Pfeiltasten am oberen Rand des Programmes kann auf die nächste Seite geblättert werden, hier werden aus einer Datentabelle automatisch die in Frage kommenden Werte ausgelesen und in die Liste auf der rechten Seite kopiert.
Durch einen Doppelklick können weitere manuell hinzugefügt werden.



Im dritten Schritt können mit der Drop-Down-Box die Time Quanta (Länge eines Bit) Werte ausgewählt werden. Mit einem Klick auf "Generate Report..." öffnet sich ein Browserfenster wo die Werte für die Register angezeigt werden.


Getestete Werte für den 62,5kbps Komfort-Bus von VW:


Der Listen only Modus war dabei jeweils augeschaltet! Der Bus ist ohne Abschlusswiderstände, keine Terminierung mit 120Ohm!

Register Wert
Microchip MCP2515 (16Mhz) verbaut im SECUDUINO Industrial Brick für Arduino
Werte: Time Quanta (Tq): 8, Sync: 1Tq, Propagation Delay: 1Tq, Phase Segment 1: 3Tq, Phase Segment 2: 3Tq
BRGCON10x0F
BRGCON20x90
BRGCON30x02
Microchip ? (40Mhz) verbaut im Can-Bus Adapter von "fuchs"
Werte: Time Quanta (Tq): 8, Sync: 1Tq, Propagation Delay: 1Tq, Phase Segment 1: 3Tq, Phase Segment 2: 3Tq
BRGCON10x27
BRGCON20x90
BRGCON30x02
Microchip ? (40Mhz) verbaut im Can-Bus Adapter von "fuchs"
Werte: Time Quanta (Tq): 20, Sync: 1Tq, Propagation Delay: 3Tq, Phase Segment 1: 8Tq, Phase Segment 2: 8Tq
BRGCON10x0F
BRGCON20xBA
BRGCON30x07
Philips SJA1000 (16Mhz) verbaut im CAN-USB Adapter
Werte: Time Quanta (Tq): 8, Sync: 1Tq, Quanta before sampling point 6Tq, Quanta after sampling point: 2Tq, Sample Point: 75%
BTR00x0F
BTR10x14


Ungetestete Werte für den 83,33kbps Bus von Mercedes:


Register Wert
Microchip ? (40Mhz) verbaut im Can-Bus Adapter von "fuchs"
Werte: Time Quanta (Tq): 24, Sync: 1Tq, Propagation Delay: 7Tq, Phase Segment 1: 8Tq, Phase Segment 2: 8Tq
BRGCON10x09
BRGCON20xBE
BRGCON30x07
Microchip ? (40Mhz) verbaut im Can-Bus Adapter von "fuchs"
Werte: Time Quanta (Tq): 16, Fehler: -0,402% da 83,000kbit
BRGCON10x0E
BRGCON20xB8
BRGCON30x05
 
BTR00x83
BTR10xFE