Serial communication by means of CAN is being used more and more for data transfer between in-vehicle control units to link components of the drive train, body electronics and mobile communication electronics.
In order to design distributed electronic systems, software engineers today must not only develop the application software but also supply the communication software to handle the communication hardware, thereby reinventing the wheel with each new application software package. This procedure is inefficient as it leads to hardly reusable special solutions. To avoid incompatibilities between the modules of a distributed system a lot of additional coordination work must be done during the design phase. As a consequence, each new software package is faced with additional costs for the indispensible tests of the communication software.
This paper describes a network architecture that has been designed for CAN systems. It consists of a layered communication architecture and of a network management. The communication layers comprise device drivers, transport functions for transferring larger units of data and an application interface that is independent of hardware and network configuration. The modularity of the architecture supports the design of communication and network management software with more or fewer functional features according to the requirements of the application. This approach allows an optimized adaptation of the network architecture to the application requirements.
Experiences from the first realizations in the lab show that combining this network architecture with a suitable operating system kernel supports the software developing process for in-vehicle distributed electronic systems very effectively.