Controller Area Network (CAN) schedulability analysis: Refuted, revisited and revised

R.I. Davis, A. Burns, R.J. Bril, J.J. Lukkien

Research output: Contribution to journalArticlepeer-review

Abstract

Controller Area Network (CAN) is used extensively in automotive applications, with in excess of 400 million CAN enabled microcontrollers manufactured each year. In 1994 schedulability analysis was developed for CAN, showing how worst-case response times of CAN messages could be calculated and hence guarantees provided that message response times would not exceed their deadlines. This seminal research has been cited in over 200 subsequent papers and transferred to industry in the form of commercial CAN schedulability analysis tools. These tools have been used by a large number of major automotive manufacturers in the design of in-vehicle networks for a wide range of cars, millions of which have been manufactured during the last decade.

This paper shows that the original schedulability analysis given for CAN messages is flawed. It may provide guarantees for messages that will in fact miss their deadlines in the worst-case. This paper provides revised analysis resolving the problems with the original approach. Further, it highlights that the priority assignment policy, previously claimed to be optimal for CAN, is not in fact optimal and cites a method of obtaining an optimal priority ordering that is applicable to CAN. The paper discusses the possible impact on commercial CAN systems designed and developed using flawed schedulability analysis and makes recommendations for the revision of CAN schedulability analysis tools.

Original languageEnglish
Pages (from-to)239-272
Number of pages33
JournalReal-Time Systems
Volume35
Issue number3
DOIs
Publication statusPublished - Apr 2007

Bibliographical note

© 2007 Springer. This work is openly available as part of Spinger Open Choice. http://www.springerlink.com/content/8n32720737877071

Keywords

  • controller area network
  • CAN
  • schedulability analysis
  • priority assignment
  • scheduling
  • network
  • communications

Cite this