Kvaser Linux CANLIB

CAN Controller Specific Notes

Renesas M32C

This 16/32 bit microcontroller is used by many members of the Kvaser Leaf, Kvaser Memorator Professional, and Kvaser USBcan Professional product families. There are no issues with this controller.

Renesas (formerly Mitsubishi) M16C

This 16-bit microcontroller with built-in CAN controller is used on PCIcan II, USBcan II, USBcan Rugged, and Kvaser Memorator.

  • The CAN controller has difficulties to tell whether an error frame arrived on channel 1 or on channel 2. The firmware is using the error counters to determine this. When the error counters reach large values, this algorithm is unsafe, and spurious error frames might be reported in rare occasions.

Philips SJA1000

This circuit is present on all PCIcanx, PCIcan, and PCcan boards, except for PCcan-Q (ISA bus) manufactured before October 1998, and on LAPcan and LAPcan II.

  • When an error flag (frame) is detected, CANLIB will report the error syndrome from the SJA1000 (the contents of the ECC register) in the identifier, offsetted by 0x800.

Philips 82C200

This circuit is present on the four-channel PCcan (ISA bus) boards manufactured before October 1998. It can't do extended CAN (29-bit identifiers).

  • CANLIB will not return an error code if you try to send an extended frame with this circuit.

Intel 82527

This circuit is present on the PCcan-Q (ISA bus) boards.

  • This circuit has problems with remote frames. When a remote frame is received, CANLIB will always report the identifier as 0x7FFFFFFF and the DLC as 0.
  • The 82527 has just one double-buffered buffer and this buffer can receive standard OR extended frames, but not both. The other type must go into a single-buffered buffer. The type received in the single-buffered buffer is more prone to overruns. You can control the behaviour in the Registry: set the REG_DWORD entry HKLM\Software\KVASER AB\CANDriver 1.0\Options\PCcanOptimizeForExtended_? (where "?" is 0 or 1 depending on which 82527 you want to control) to 0 (for favouring standard frames) or 1 (to optimize for extended CAN).