Dates and Events: |
OSADL Articles:
2023-11-12 12:00
Open Source License Obligations Checklists even better nowImport the checklists to other tools, create context diffs and merged lists
2022-07-11 12:00
Call for participation in phase #4 of Open Source OPC UA open62541 support projectLetter of Intent fulfills wish list from recent survey
2022-01-13 12:00
Phase #3 of OSADL project on OPC UA PubSub over TSN successfully completedAnother important milestone on the way to interoperable Open Source real-time Ethernet has been reached
2021-02-09 12:00
Open Source OPC UA PubSub over TSN project phase #3 launchedLetter of Intent with call for participation is now available |
Real Time Linux Workshops
1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 - 2014 - 2015
Eleventh Real-Time Linux Workshop on September 28 to 30, in Dresden, Germany
Announcement - Hotels - Agenda - Paper Abstracts - Presentations - Registration - Abstract Submission - Xenomai User Meeting - Sponsors
Papers
Timing analysis of Linux CAN drivers
Michal Sojka, Czech Technical University
Pavel Pisa, Czech Technical University
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:
- Users can approximately know timing properties of a particular CAN-on-Linux solutions.
- Developed tools can be used for benchmarking other hardware to find suitability for intended applications.
- Driver developers can profile and improve their drivers and find factors contributing to worst-case delays in RX/TX paths.
- Overhead caused by the use of generic Linux networking infrastructure in Socket-CAN implementation was quantified. Our finding is that the difference is not negligible, but it is still suitable for many applications.