The goal of this project was to develop software which greatly helps the user to create firmware configuration for a CAN/CAN gateway by providing easy to use interfaces and process for gateway’s firmware implementation and validation.
The need for such configurable CAN gateway comes from the diversity of high level protocol layers found in automotive CAN networks. During the development circle of a car or an ECU using CAN network high level data links can change between the ECUs. These data link changes can happen at different time in the ECUs development circle, but when they are tested in a car they still needs to communicate with each other even, when they in different development phase. Also, when a test car does not have the desired CAN communication for the ECU, which is wanted to be tested, then a configurable CAN gateway can convert the car’s application level communication acceptable for the ECU and vice versa. These are most common cases when such CAN gateway is required.
The CAN gateway used for the project is a product of Kunze Industrie Elektronik GmbH. The gateway’s hardware base is a Glyn EVBM16C/6NA Evaluation Board, while its firmware software initializes the evaluation board and provides a simple software framework for further programming.
The main software is implemented in C# using .NET Framework and Visual Studio IDE. The software can be split into six mayor components. These components are the: GUI software, Core software, CAN database processor, Project file manager, Firmware software generator and Validation setup generator module. Based on the input files and configuration the developed software generates configuration files used for validation and a C code of the gateway firmware, which then can be compiled into bit code for the CLAUS gateway. The compiled code can be directly flashed onto the gateway and the configured gateway can be tested with a PC using CANalyzer, which can be easily setup by using the generated configuration files.