See section 19.2.2 of the C167CS user manual for information on the Bit-timing registers. (CS is used on the 2xCAN ESX. The CAN registers are identical to the 1xCAN ESX, though).
In the ESX BIOS, the function init_can()
automatically configures the Bit-timing register by calling the undocumented BIOS function set_can_bittime_reg()
. The setting to use is hardcoded and is chosen based on the bitrate and the clock frequency. The following BTR settings are used by the BIOS:
You can call set_can_bittime_reg()
after can_init()
to set your own custom configuration.
Bitrate (kbit/s) | 20 MHz | 40 MHz |
---|---|---|
10 | 0x6BB1 | 0x0000 |
20 | 0x6B98 | 0x6BB1 |
40 | 0x7F89 | 0x7F93 |
50 | 0x6B89 | 0x6B93 |
100 | 0x6B84 | 0x6B89 |
125 | 0x6B83 | 0x6B87 |
250 | 0x6B81 | 0x6B83 |
500 | 0x6B80 | 0x6B81 |
1000 | 0x2540 | 0x5C80 |