
Ein nützlicher kleiner Helfer für die Berechnung der CAN-Bit-Timing-Register von Mikrocontrollern folgender Hersteller:
| Hersteller | Produkte / Produktfamilien |
| Analog Device |
|
| Infineon |
|
| Microchip |
|
| NXP |
|
| Renesas |
|
| ST |
|
Unterstützt „Classical CAN“- und „CAN-FD“-Derivate. Für die Bitraten können Toleranzen spezifiziert werden. Es ist möglich, eine Liste von „CAN Peripherie Clock“-Frequenzen anzulegen. Sample-Point“, „Synchronization Jump Width“ (SJW) und weitere Parameter lassen sich konfigurieren. Bei CAN-FD ist das „Time-Quantum“ entscheidend: je kleiner dieser Wert, desto besser. BitCalc versucht hier, anhand der verfügbaren „Peripherie Clock“-Frequenzen und unter Einbeziehung aller Parameter-Vorgaben (Sample-Point, …) die optimalen Werte zu ermitteln. Diese werden dann sortiert im Tabellen-Format ausgegeben. Lauffähig ab Windows XP oder unter Linux mit Wine.
![]() |
BitCalc.ZIP ZIP Archiv |
![]() |
BitCalcInstall.EXE Install Executable |

Wählen Sie zunächst auf der Startseite des „Bit Timing Calculators“ 1 „Select by Controller“, der graue hinterlegte Bereich zum Controller-Setup wird jetzt aktiv. Als Nächstes erfolgt die Auswahl des Herstellers 2 und der Serie 3 . In unserem Beispiel der Hersteller ST mit der „STM32G0, STM32G4, …“-Serie.

4 Zeigt die Liste der verwendeten „CAN Peripherie Clock“-Frequenzen. Mit 5 „Clock Setup“ lässt sich diese Liste ändern. Bei der ausgewählten Controller-Serie handelt es sich um einen CAN-FD Controller. Unter 6 können Sie die Berechnung der CAN-FD (Data Phase Bitrate) deaktivieren. Klicken Sie nun auf 7 „Next“, um die eigentliche Bitraten-Konfiguration vorzunehmen.

Über die Auswahllisten 1 und 7 für CAN-FD stehen die CAN-Standard-Bitraten zur Verfügung. Zum Berechnen von benutzerdefinierten CAN- und CAN-FD-Bitraten wird die Bitrate in das entsprechende Textfeld eingetragen. Es werden die Präfixe „k“ und „M“ unterstützt. Die Nachkommastellen müssen mit einem Punkt angegeben werden. Hier ein Beispiel für 33,3 kBit/s.

2 ( 8 für CAN-FD) gibt den erlaubten Toleranzwert in % an, um den die eingegebene Bitrate abweichen darf. Im Normalfall sollte dieser Wert auf „0.0%“ belassen werden, nur bei benutzerdefinierten Bitraten empfiehlt es sich, eine Toleranz anzugeben. Bei 3 und 10 für CAN-FD wird das Verfahren ausgewählt, mit dem der „Sampling Point“ festgelegt wird:
Bei der Auswahl 1 und 2 wird ein fixer Wert festgelegt, zu dem eine erlaubte Toleranz 4 und 11 für CAN-FD angegeben wird. Bei der Sortierung der berechneten Bitraten-Tabellen haben die Werte mit der geringsten Toleranz Vorrang. Bei der Auswahl 3 wird ein erlaubter Bereich für den „Sampling Point“ festgelegt.

Bei dieser Einstellung hat der „Sampling Point“ keinen Einfluss auf die Sortierung. Mit 5 ( 12 für CAN-FD) „enabled“ wird der „Synchronization Jump Width (SJW)“ automatisch auf den größtmöglichen Wert gesetzt, mit „disabled“ wird der Wert manuell eingestellt.

6 und 13 sind – abhängig vom Controller – als Features in den BTR-Registern entweder enthalten oder nicht. Weitere Informationen finden Sie in den entsprechenden Datenblättern der Controller. Unter 9 wird festgelegt, ob für die CAN- und CAN-FD-Bitrate der gleiche Vorteiler verwendet wird. Diese Einstellung wird empfohlen und sollte nur in Ausnahmefällen deaktiviert werden. Ist alles fertig konfiguriert, drücken Sie auf „Press to calculate bit rates“ 14 , um die Berechnung der Bitraten-Register auszuführen. Als Nächstes sehen Sie die Ergebnisse für das CAN-Bitraten-Register in der Tabelle „Nominal bit rate“. Wird hier ein Eintrag markiert, erscheinen in der 2. Tabelle „CAN-FD data bit rate“ die dazugehörigen Ergebnisse für das CAN-FD-Bitraten-Register.

Beide Tabellen sind sortiert, und die besten Ergebnisse werden zuerst dargestellt. Zusätzlich werden die Einträge farblich hervorgehoben:
| GRÜN | Toleranz für Bitrate und „Sampling Point“ = 0% |
| GELB | Toleranz für Bitrate = 0%, „Samling Point > 0% |
| ORANGE | Toleranz für Bitrate > 0%, „Sampling Point“ = 0% |
| ROT | Toleranz für Bitrate und „Sampling Point“ > 0% |
Markieren Sie nun noch den gewünschten Eintrag für die CAN-FD-Bitrate. Mit „Copy to Clipboard“ kopieren Sie das Ergebnis in die Zwischenablage. Von dort aus lässt es sich dann direkt in den „C“-Quellcode einfügen.
//** Nominal bitrate ** |