Model-Based Development of a Real-Time CAN Software Layer 2012-01-0009
Among the most important tasks in automotive E/E system design are ECU architecture development, network connections, and functional mapping. Bus timing and communication delays are crucial to ensure timely behavior of distributed embedded applications. A provable real-time behavior can only be achieved with base hard- and software that fully implements real-time capabilities.
CAN is a proven and commonly used network technology, but has well-known disadvantages in real-time applications. Especially for questions of real-time data transmission over CAN, a priori knowledge of bus load and possible transmission delays is important. In this context, network modeling with different tools is already common practice. Several software tools are on the market to simulate CAN bus load, and techniques exist to get results which nearly match measurements in reality. One possibility is to use only cyclic/periodic messages or the clear definition of conditions for spontaneous messages.
The approach presented in this paper is based on the well-known modeling method Petri nets to simulate CAN networks. Two model types are used, namely Extended Deterministic and Stochastic Petri Nets (eDSPN) and Stochastic Colored Petri Nets (SCPN) . The reasons for using this technique are the simplicity of Petri nets which can be understood very quickly and the possibility of modeling bus arbitration for CAN networks.
Automatic generation of Petri nets from given dbc-files is planned to test different transfer layer protocols on real communication specifications. Later on, these protocols will be implemented as AUTOSAR BSWs to validate them in a real CAN network. So the later target of this project is to “add” real-time capabilities to a given CAN network by exchanging the CAN transfer layer software modules and prove these capabilities by simulating an equivalent Petri net.
This paper describes work in progress on modeling CAN bus arbitration strategies with colored Petri nets to find ways of optimizing real time capabilities in the transfer layer.