CAN Bus Bit Timing Calculator

Use the calculator below (requires JavaScript) to calculate all possible sets of CAN bus parameters for a given input frequency and a given bus speed.

The input frequency is the frequency you are feeding the CAN controller with. For example, if you are using a standalone CAN controller and a 16 MHz oscillator, you would enter ’16’ in the field below. Most, if not all, CAN controllers, standalone or built-in, will then divide that frequency by 2 before actually using it.

  • (MHz)
  • (kbit/s)
  • 0% 0.5% 1.5%

Results

T1 T2 BTQ SP% SJW BIT RATE ERR% CNF1 CNF2 CNF3
88165012500019a07
88165022500419a07
88165032500819a07
88165042500c19a07
971656.2512500019b06
971656.2522500419b06
971656.2532500819b06
971656.2542500c19b06
1061662.51250001a305
1061662.52250041a305
1061662.53250081a305
1061662.542500c1a305
1151668.751250001a404
1151668.752250041a404
1151668.753250081a404
1151668.7542500c1a404
12416751250001ac03
12416752250041ac03
12416753250081ac03
124167542500c1ac03
1331681.251250001ad02
1331681.252250041ad02
1331681.253250081ad02
1331681.2542500c1ad02
1421687.51250001b501
1421687.52250041b501
1421687.53250081b501
1421687.542500c1b501
4485012500038803
4485022500438803
4485032500838803
4485042500c38803
53862.512500038902
53862.522500438902
53862.532500838902
53862.542500c38902
6287512500039101
6287522500439101
6287532500839101
6287542500c39101
Lots of values, but which should I use?

The calculator will show you all possible settings that meet your requirements. If the requirements can’t be met at all, you will see a message stating this. If the requirements can be met, but only within the specified tolerance, the deviation will be shown in the Err% column.

  • Use an exact match, if at all possible.
  • If the system designer or someone else has defined values for the SJW and/or the position of the sampling point, use them.
  • If you don’t know which value to choose for the SJW, use 1 (one).
  • If you don’t know which value to choose for the sampling point, use 75% or something close to that.
  • For laboratory work almost any setting will work.
  • The number of quanta in a bit is, in itself, not interesting. It does affect the absolute length of the SJW, however. If two sets of bus parameter differs in the number of quanta only, and you or someone else don’t have firm opinions about the length of the SJW, you can pick either one.
What use are the Bus Timing Register values?

Most CAN controllers are using two registers to define the bus parameters. They tend to look the same in all controllers – Microchip 2510 and friends being a notable exception. The names of the bits in these registers might vary from chip to chip but their meaning is usually the same.

The values displayed in the table are useful for the type of registers found in Philips 82C200, Philips SJA1000, Intel 82527, Infineon C16x and C5xx series and many more. You might want to check if the bit timing registers in your favorite CAN controller is compatible with the registers in these controllers. If so, you can use the values right away.

Are really all possible values shown?

No, some controllers will allow you to break the CAN spec. We don’t show these values in the table.

My Last Timings

  • No data found