Abstract

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. Norström, 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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call