Reducing message-length variations in resource-constrained embedded systems implemented using the Controller Area Network (CAN) protocol

The Controller Area Network (CAN) protocol is widely used in low-cost embedded systems. CAN uses ''Non Return to Zero'' (NRZ) coding and includes a bit-stuffing mechanism. Whilst providing an effective mechanism for clock synchronization, the bit-stuffing mechanism causes the CAN frame length to become (in part) a complex function of the data contents: variations in frame length can have a detrimental impact on the real-time behaviour of systems employing this protocol. In this paper, two software-based mechanisms for reducing the impact of CAN bit stuffing are considered and compared. The first approach considered is a modified version of a technique described elsewhere (e.g. Nolte et al. [T. Nolte, H.A. Hansson, C. Norstrom, Minimizing CAN response-time jitter by message manipulation, in: Proceedings of the Eighth IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2002), San Jose, California, 2002]). The second approach considered is a form of software bit stuffing (SBS). In both cases, not only the impact on message-length variations is addressed but also the implementation costs (including CPU and memory requirements) involved in creating practical implementation of each technique on a range of appropriate hardware platforms. It is concluded that the SBS technique is more effective in the reduction of message-length variations, but at the cost of an increase in CPU time and memory overheads and a reduction in the available data bandwidth. The choice of the most appropriate technique will, therefore, depend on the application requirements and the available resources.

[1]  Lars-Berno Fredriksson Controller area networks and the protocol can for machine control systems , 1994 .

[2]  Karl Henrik Johansson,et al.  Vehicle Applications of Controller Area Network , 2005, Handbook of Networked and Embedded Control Systems.

[3]  A. J. Jerri The Shannon sampling theorem—Its various extensions and applications: A tutorial review , 1977, Proceedings of the IEEE.

[4]  Martin Törngren,et al.  Fundamentals of Implementing Real-Time Control Applications in Distributed Computer Systems , 1998, Real-Time Systems.

[5]  Syed Misbahuddin,et al.  Efficient data communication techniques for controller area network (CAN) protocol , 2003 .

[6]  José Luis Sevillano,et al.  Analysis of channel utilization for controller area networks , 1998, Comput. Commun..

[7]  William S. Levine,et al.  Handbook Of Networked And Embedded Control Systems , 2007 .

[8]  José Rufino,et al.  Fault-tolerant clock synchronization in CAN , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[9]  Giorgio C. Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications (Real-Time Systems Series) , 2010 .

[10]  Thomas Nolte,et al.  Minimizing CAN response-time jitter by message manipulation , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[11]  Alan Burns,et al.  Timely use of the CAN protocol in critical hard real-time systems with faults , 2001, Proceedings 13th Euromicro Conference on Real-Time Systems.

[12]  Holger Zeltwanger,et al.  Time-Triggered Communication on CAN , 2002 .

[13]  Ernesto Costa,et al.  Using Genetic Algorithms to Reduce Jitter in Control Variables Transmitted over CAN , 2001 .

[14]  Paulo Veríssimo,et al.  A posteriori agreement for fault-tolerant clock synchronization on broadcast networks , 1992, [1992] Digest of Papers. FTCS-22: The Twenty-Second International Symposium on Fault-Tolerant Computing.

[15]  Michael J. Pont,et al.  Fault-Tolerant Time-Triggered Communication Using CAN , 2007, IEEE Transactions on Industrial Informatics.

[16]  José Alberto Fonseca,et al.  Jitter reduction in a real-time message transmission system using genetic algorithms , 2000, Proceedings of the 2000 Congress on Evolutionary Computation. CEC00 (Cat. No.00TH8512).

[17]  Kang G. Shin,et al.  Non-preemptive scheduling of messages on controller area network for real-time control applications , 1995, Proceedings Real-Time Technology and Applications Symposium.

[18]  M. Matheson SynqNet: high performance motion control based on Ethernet , 2004 .

[19]  José Alberto Fonseca,et al.  The FTT-CAN protocol: why and how , 2002, IEEE Trans. Ind. Electron..

[20]  Jean Pierre Thomesse,et al.  A review of the fieldbuses , 1998 .

[21]  Thomas Nolte,et al.  Using bit-stuffing distributions in CAN analysis , 2001 .

[22]  Philip Koopman,et al.  Multi-Bit Error Vulnerabilities in the Controller Area Network Protocol , 1999 .

[23]  Michael J. Pont,et al.  The impact of bit stuffing on the real-time performance of a distributed control system , 2005 .

[24]  Michael J. Pont Patterns for Time-Triggered Embedded Systems: Building Reliable Applications with the 8051 Family of Microcontrollers , 2001 .

[25]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .