TITLE: Timing analysis of Linux CAN drivers

AUTHOR: Michal Sojka, Pavel Pisa, Czech Technical University

ABSTRACT:
CAN-bus (Controller-Area Network) is widely used communication bus in industrial and automotive systems. Besides that it simplifies wirings, CAN-bus offers deterministic medium access algorithm for which it is very suitable for certain type of time-critical applications. Typical CAN-based network consists of multiple microcontrollers and one or a few more complex nodes which implement higher-level control algorithms. These more complex nodes can run Linux OS so there is a need for CAN-bus drivers. There exist several projects which offer CAN drivers for Linux. Probably the most known driver is Socket-CAN, which is already partially included in the mainline kernel. Another option is LinCAN driver. The basic difference between these two drivers is that Socket-CAN is built around standard Linux networking infrastructure, whereas LinCAN is a character device driver with its own queuing infrastructure.

We have developed a tool for measuring delays on CAN-bus and use it in several tests which measure delays under different system loads and other conditions.

The results of this work are useful for the following reasons:

Download paper as pdf file