CAN 2.0b Software

XMOS CAN Controller


The XMOS CAN controller implements the CAN 2.0b protocol, supports both standard and extended frame formats and delivers data rates up to 1Mbps.

Exploiting the flexible programmability of the xCORE architecture, customers can specify the number of CAN interfaces realized on a single device and may create sophisticated protocol bridges to interface to Ethernet, Industrial Ethernet and other Fieldbus networks.

Delivered as source code that can be imported into xTIMEcomposer Studio, the software library provides a fully featured solution including programmable bit rate.

System Requirements



  • Implements CAN protocol 2.0b
    • Programmable bit rate, up to 1Mbps
    • Standard (11-bit) and extended (29-bit) frame identifiers
    • Remote frames supported
    • Fully implemented in software
    • Supported on all xCORE families
  • Create your own CAN system on chip
    • Define number of required CAN interfaces
    • Up to 14 on a XS1-L16 device
    • Independent configuration of data rate for up to 10 CAN controllers
  • Resource usage per CAN controller
    • 1 xCORE logical core
    • 8Kbyte RAM (code & data)
    • 2 x 1-bit ports
    • 100 MIPS for 1Mbps
    • 62.5 MIPS for 500Kbps or less
  • Software library
    • Personal, non-exclusive evaluation license available from XMOS
    • Commercial license requires Protocol License Agreement with Bosch


The CAN library is ISO compliant for xCORE XS1 devices. To evaluate the library performance we recommend using sliceKIT modular development platform and the ISBUS sliceCARD:

Part numberContents
XK-SK-L2-ST1 x sliceKIT starter kit (XS1-L16 core board, Ethernet slice, GPIO slice, xTAG debug adapter)
xCORE General Purpose sliceKIT
XA-SK-ISBUS1 x sliceKIT ISBUS slice