Concept and Implementation of an Intelligent Automotive Ethernet to CAN Gateway
In vehicle validation and testing, in-car data loggers are used, which are connected to the different bus systems in the car and record the traffic on these busses. To find the root cause of a problem, this captured data may be analyzed after driving. Due to the huge amount of data which would result from permanently recording all bus traffic, modern data loggers offer the possibility to analyze the bus traffic on-the-fly and only record data in case of certain events (raise of a trigger). As of this writing, with Ethernet in the car being a new development, no data logger is able to analyze a SOME/IP Ethernet data stream in real time. With Ethernet and its data rates of up to 1 GBit/s, when consolidating all Ethernet branches in the car, it becomes even more important to only record a subset of the signals on the bus or create a full bus trace only in case of an event. This requires a device which is capable of real time analysis of SOME/IP data on the Ethernet bus. Selected SOME/IP signals should then be sent to the data logger for further processing. A solution to this problem is an Ethernet-to-CAN Gateway which is the scope of this thesis. The incoming Ethernet data stream is analyzed in real time and preselected signals are extracted and sent to a CAN bus. The implementation consists of two parts: One part is the user frontend for configuring the gateway preferences as well as the signals to be replicated to the CAN bus. The other part is the gateway software which analyses the Ethernet data stream. The configuration user interface is a web based interface which can parse XML signal definition files in the FIBEX format and extract all signal properties for the signals selected by the user for replication from the Ethernet to the CAN bus. It allows online configuration when directly connected to the gateway, which is usually installed in the car. It also allows offline configuration on the user’s PC and the possibility to transfer this configuration to the gateway. The configuration software also creates a DBC file with the description of the CAN signals sent by the gateway. The other part, the gateway software, analyzes the SOME/IP data by first determining whether the processed packet is in the list of selected signals and extracting the selected signal from the payload. The extracted signals are then sent to the CAN bus. The complete driving of the CAN interface is also done in the gateway software, as no API was freely available without license restrictions which was capable of driving the CAN interface. Furthermore the gateway software records all incoming data on the Ethernet interface in a circular buffer in PCAP format. Performance measurements were conducted on the implementation in order to make sure the gateway is capable of handling an Ethernet SOME/IP data stream with a speed of 1 GBit/s. Additionally the CPU load of the gateway depending on the bus load of the Ethernet bus is measured. Finally, the prototype was tested in a real vehicle leading to the conclusion that it works as desired.