Method for transmitting data frames using a communication controller

The communication controller in vehicle bus systems addresses inefficiencies by assigning unique identifiers and using a tracking algorithm to ensure fair bandwidth distribution and priority-based transmission, optimizing Ethernet traffic integration and reducing system complexity.

WO2026099011A1PCT designated stage Publication Date: 2026-05-15ROBERT BOSCH GMBH
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
ROBERT BOSCH GMBH
Filing Date
2025-10-27
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Current Ethernet and CAN XL technologies lack standardized access priority mechanisms for high-priority traffic and fair bandwidth distribution, leading to inefficiencies and increased system complexity, especially in vehicle bus systems.

Method used

A method involving a communication controller that assigns unique identifiers to nodes, maps priority values to access priorities using a mapping specification, and employs a Medium Utilization State Tracking algorithm to ensure fair and balanced communication, with separate handling for Ethernet and non-Ethernet traffic.

Benefits of technology

Enables efficient, collision-free data transmission with prioritized traffic handling, optimizing bandwidth utilization and reducing system complexity by integrating Ethernet traffic directly into the communication controller, thus enhancing the efficiency and fairness of vehicle bus systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025080982_15052026_PF_FP_ABST
    Figure EP2025080982_15052026_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a method (100) for transmitting data frames using a communication controller (2) in a serial vehicle bus system (3), comprising: - assigning (101) a unique identifier to each node (4) in the serial vehicle bus system (3), - providing (102) a mapping specification, wherein priority values of different data frames are mapped to access priorities of the serial vehicle bus system (3) according to the mapping specification, - transmitting (103) the data frames using the communication controller (2), wherein the transmission of each of the data frames is controlled by the communication controller (2) on the basis of the assigned identifiers and the provided mapping specification.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] R.415295

[0002] - 1 -

[0003] Description

[0004] title

[0005] Method for transmitting data frames using a communication controller

[0006] The invention relates to a method for transmitting data frames using a communication controller. The invention further relates to a computer program, a device, and a storage medium for this purpose.

[0007] State of the art

[0008] Ethernet networks are typically built using Ethernet bridges connected via point-to-point links. This is the most suitable connectivity method for medium- to high-speed connections above 100 Mbps with reasonably long cable lengths. Each host or termination point connected to the bridged network requires its own bridge port. However, for many applications, a low-speed connection of around 10 Mbps is sufficiently fast, and bus topologies can be more cost-effective than point-to-point connections because only one bridge port is needed to connect many hosts.

[0009] The original CSMA-based bus technology for 10Base-T can only detect access collisions (CSMA / CD), but not avoid them, resulting in very low utilization of the available bus bandwidth. To overcome this limitation, the IEEE introduced the 10Base-T1S standard, which provides collision-free multiple access technology for a single twisted-pair cable. However, this technology requires a centralized master to coordinate access to the medium. R.415295

[0010] - 2 -

[0011] Neither bus technology currently has a standardized access priority that allows high-priority traffic preferential use of the transmission medium.

[0012] CAN XL enables the encapsulation of Ethernet frames within a single CAN XL frame by defining a dedicated payload type in the CAN XL frame header. Arbitration on the medium prevents collisions (CSMA / CA). Therefore, no data frames are lost, and the available bandwidth of the medium can be fully utilized. Another advantage of CAN XL as a link-layer technology is its multi-service capability: both Ethernet transport and content-based standard CAN addressing can coexist on the same bus medium.

[0013] In typical CAN XL designs, the CAN XL communication controller is connected to the software via message buffers. The receive message buffers can be connected to data frame filters to support the filtering of CAN message identifiers (acceptance field in the case of CAN XL). Since no CAN identifier is required to describe the message content during Ethernet-over-CAN XL transmission, the 32-bit CAN XL accept field includes a reduced 32-bit Ethernet MAC address to support hardware MAC address filtering. The 8-bit virtual CAN identifier (VCID) includes a reduced version of the 12-bit Ethernet VLAN identifier to support Ethernet ingress filtering. These two filter mechanisms are by definition permeable, so post-filtering in software is required using the full 48-bit MAC address and the full 12-bit VLAN identifier of the encapsulated Ethernet frame.The functions mentioned above are performed in a software-implemented CAN-to-Ethernet gateway: The software receives the CAN XL frame, determines the payload type, and forwards the Ethernet frame to its destination, which can be either an Ethernet relay function in a bridge or an Ethernet termination point. This software-implemented CAN-to-Ethernet gateway between the Ethernet relay function and the media increases system complexity, increases the latency of an Ethernet bridge, and may reduce the effective throughput of an R.415295.

[0014] - 3 -

[0015] Bridge. Furthermore, the current CAN XL standards do not define any mechanisms for fair bandwidth distribution or access priority.

[0016] Disclosure of the invention

[0017] The invention relates to a method with the features of claim 1, a computer program with the features of claim 8, a device with the features of claim 9, and a computer-readable storage medium with the features of claim 10. Further features and details of the invention will become apparent from the respective dependent claims, the description, and the drawings. Features and details described in connection with the method according to the invention naturally also apply in connection with the computer program, the device, and the computer-readable storage medium according to the invention, and vice versa, so that a reciprocal reference is always possible with regard to the disclosure of the invention.

[0018] The invention relates in particular to a method for transmitting data frames using a communication controller, in particular a CAN XL communication controller, in a serial vehicle bus system, in particular a CAN XL bus system, comprising:

[0019] Assigning a unique identifier to each node in the serial vehicle bus system, wherein the nodes are in particular data processing devices such as computers, microcomputers or electronic control units, especially in a vehicle,

[0020] Providing a mapping specification, such as a mapping table, wherein priority values ​​of various data frames are mapped to access priorities of the serial vehicle bus system according to the mapping specification, wherein in particular priority values ​​of data frames, especially Ethernet frames, are mapped to an access priority specified in the priority field of a CAN XL frame, transmitting the data frames using the communication controller, wherein the transmission of respective data frames R.415295

[0021] - 4 - is controlled by the communication controller based on the assigned identifiers and the provided mapping specification.

[0022] The serial vehicle bus system functions in such a way that multiple microcontrollers and devices can communicate with each other in a network without central control. Preferably, all nodes (devices) are connected to a common communication channel (the serial vehicle bus system). When a node wants to send a message, it preferably checks whether the serial vehicle bus system is free. If multiple nodes want to send simultaneously, a priority-based arbitration procedure can be used to determine which message takes precedence, based on the message ID (for example, the lower the ID, the higher the priority). The serial vehicle bus system is specifically a CAN XL bus system, and the communication controller is specifically a CAN XL communication controller.CAN XL is specifically a version of the Controller Area Network (CAN), a communication system used, for example, in vehicles to connect electronic control units (such as engine or brake systems). Compared to CAN, CAN XL can transmit data at up to 10 Mbit / s, significantly faster than older CAN versions. Furthermore, it can transmit larger messages, supporting larger data packets of up to 2048 bytes.

[0023] CAN XL is particularly compatible with older CAN versions, allowing it to be integrated into existing systems. The communication controller is a hardware or software component responsible for managing communication between devices, or nodes, within the serial vehicle bus system. This transmission control can include arbitration. If multiple devices, or nodes, attempt to transmit simultaneously, the communication controller can determine priority based on assigned identifiers and provided mapping specifications. For each data frame received by the communication controller, its priority value can be determined. This can be based on a corresponding data type field, such as an EtherType field for an Ethernet frame, which specifies the type of data being transmitted (e.g., user data, control messages, etc.).Then, using R.415295.

[0024] - 5 - the mapping specification assigns the respective data frame to a corresponding CAN XL access priority.

[0025] The method according to the invention enables the creation of an efficient transmission system for data frames within a serial vehicle bus system.

[0026] It is also advantageous if the procedure further includes:

[0027] Tracking a last transmitted identifier value, whereby a transmission from a given node by the communication controller is only permitted if a current identifier value of the respective node exceeds the tracked last transmitted identifier value.

[0028] This ensures that each node gets an opportunity to transmit, which advantageously allows the communication controller to provide fair and balanced communication.

[0029] Furthermore, it may be possible to assign transmission options to data frames based on CAN XL priority fields, particularly using a Medium Utilization State Tracking algorithm and preferably according to a round-robin principle. This allows for dynamic adjustment of the transmission sequence and priority, thereby increasing the efficiency of the serial vehicle bus system. The Medium Utilization State Tracking algorithm can monitor the current status of data transmission in the serial vehicle bus system and adjust the priorities of the data frames based on this information. This ensures optimal data flow distribution.

[0030] Optionally, the procedure could also include:

[0031] Assigning a unique payload type to each data frame, with the transmission of the respective data frames further controlled based on the assigned payload type. This can further improve the efficiency of the serial vehicle bus system, as data with different requirements (e.g., real-time data vs. background data) can be prioritized and transmitted according to their payload type. R.415295

[0032] - 6 -

[0033] The payload type can therefore indicate, for example, whether the data is real-time.

[0034] The assigned payload type can also specify, at least at least, whether a given data frame is an Ethernet or a non-Ethernet data frame. This offers the advantage that by assigning the payload type as an Ethernet or non-Ethernet data frame, data transmission can be controlled in a targeted manner. This enables, in particular, more efficient utilization of the serial vehicle bus system, as different data traffic types can be handled with different priorities.

[0035] This allows Ethernet and non-Ethernet traffic to be separated within the communication controller itself. Such a scheme can advantageously enable the communication controller to be used as a native MAC function in Ethernet bridges or Ethernet termination points.

[0036] The communication controller preferably appears as a local area network (LAN) for Ethernet traffic, which can now be advantageously forwarded without having to implement an intermediate CAN-Ethernet gateway in software.

[0037] Furthermore, within the scope of the invention, it is conceivable that frame padding is carried out depending on the length of a respective data frame, whereby the respective data frame is extended so that it is at least 512 bits long.

[0038] A further advantage can be achieved within the scope of the invention if the serial vehicle bus system is arranged and used in a vehicle. The vehicle can be, for example, a motor vehicle and / or passenger vehicle and / or autonomous vehicle. The vehicle can have vehicle equipment, for example, for providing an autonomous driving function and / or a driver assistance system. The vehicle equipment can be designed to control the vehicle at least partially automatically and / or accelerate and / or brake and / or steer. R.415295

[0039] - 7 -

[0040] The invention also relates to a computer program, in particular a computer program product, comprising instructions which, when executed by a computer, cause the computer to execute the method according to the invention. Thus, the computer program according to the invention offers the same advantages as those described in detail with reference to a method according to the invention.

[0041] The invention also relates to a data processing device configured to execute the method according to the invention. This device can, for example, be a computer that executes the computer program according to the invention. The computer can have at least one processor for executing the computer program. Alternatively, a non-volatile data storage device can be provided in which the computer program is stored and from which the computer program can be read by the processor for execution.

[0042] The invention may also relate to a computer-readable storage medium which contains the computer program according to the invention and / or includes instructions which, when executed by a computer, cause the computer to execute the method according to the invention. The storage medium is, for example, designed as a data storage device such as a hard drive and / or non-volatile memory and / or a memory card. The storage medium can, for example, be integrated into the computer.

[0043] Furthermore, the method according to the invention can also be implemented as a computer-implemented method. Alternatively or additionally, at least one of the disclosed method steps can be computer-implemented and / or carried out automatically.

[0044] Further advantages, features, and details of the invention will become apparent from the following description, in which exemplary embodiments of the invention are described in detail with reference to the drawings. The features mentioned in the claims and in the description can each be essential to the invention individually or in any combination. (See: R.415295)

[0045] - 8 -

[0046] Fig. 1 shows a schematic visualization of a method, a device, a storage medium and a computer program according to exemplary embodiments of the invention.

[0047] Fig. 2 is a schematic representation of a vehicle with a serial vehicle bus system, a communication controller and two nodes according to embodiments of the invention.

[0048] Fig. 1 schematically shows a method 100, a device 10, a storage medium 15 and a computer program 20 according to exemplary embodiments of the invention.

[0049] Fig. 1 shows, in particular, an embodiment of a method 100 for transmitting data frames using a communication controller 2 in a serial vehicle bus system 3. In a first step 101, a unique identifier is assigned to each node 4 in the serial vehicle bus system 3. In a second step 102, a mapping specification is provided, whereby priority values ​​of different data frames are mapped to access priorities of the serial vehicle bus system 3 according to the mapping specification. In a third step 103, the data frames are transmitted using the communication controller 2, whereby the transmission of the respective data frames is controlled by the communication controller 2 based on the assigned identifiers and the provided mapping specification.

[0050] Fig. 2 shows a schematic representation of a vehicle 1 with a serial vehicle bus system 3, a communication controller 2 and two nodes 4, which are in particular devices such as computers, microcomputers or electronic control units, according to embodiments of the invention.

[0051] One aspect of the invention according to exemplary embodiments is, in particular, the separation of Ethernet and non-Ethernet traffic handling within a single communication controller. Such a scheme can enable the communication controller to be used as a native medium. R.415295

[0052] - 9 -

[0053] Access Control (MAC) functionality is used in Ethernet bridges or Ethernet termination points. The communication controller essentially acts as a local area network (LAN) segment for Ethernet traffic, which can now be forwarded without the need for an intermediate CAN-Ethernet gateway implemented in software. Furthermore, mechanisms for fair bandwidth allocation and access priority are preferably adopted to also support Ethernet transport over CAN XL.

[0054] The actual MAC functions in the MAC sublayer are partially replaced by CAN XL according to exemplary embodiments of the present invention, considering an Ethernet payload. Collision detection, framing, padding, and FCS calculation are preferably handled; addressing is preferably retained and can be extended by placing a reduced copy of the Ethernet destination MAC address in the CAN XL acceptance field. The calculation of the Ethernet Frame Check Sequence (FCS) is preferably delegated to the CAN XL layer, which can also provide a 32-bit CRC data frame checksum. The same applies in particular to MACSec, since CAN XL can provide its own data link layer that operates similarly to MACSec and offers the same level of security.Since the CAN XL security layer is required for non-Ethernet traffic anyway, it is particularly likely that link-layer security for Ethernet traffic over CAN XL will also be based on CAN XL's own mechanisms.

[0055] A communication controller according to exemplary embodiments of the invention enables an Ethernet payload detector to preferably decode a payload type of an incoming CAN XL frame and forward a decapsulated Ethernet frame to a dedicated, FIFO-organized message buffer. On the sending side, an Ethernet payload adapter preferably copies a reduced version of a destination MAC address and a VLAN identifier from the Ethernet frame into an acceptance mask and a vcid field of the CAN XL frame. This adaptation ensures, in particular, interoperability with network nodes that rely on pre-filtering of a CAN identifier (acceptance mask). See R.415295

[0056] - 10 - is not required, for example, if the CAN XL controller is used as the MAC function of an Ethernet bridge. Message processing preferably includes separate channels for Ethernet and non-Ethernet traffic. If all traffic is handled in a common data processing pipeline such as EDE, a common FIFO message buffer can be used.

[0057] Ethernet bridges, in particular, have a central MAC filter database (FdB) that can be used to determine the destination ports based on the destination MAC address of the Ethernet frame. This database is preferably populated either through static configuration or dynamically by learning a source MAC address of the Ethernet frame. Therefore, it is not necessary to implement a MAC filter within the MAC instances of the ports. Ethernet termination nodes, on the other hand, typically include hardware filtering of destination Ethernet MAC addresses and optional VLAN identifiers. A slightly modified configuration, which can be used in cases where legacy CAN frames and Ethernet frames need to be processed separately and independently, e.g.,On two different CPUs without using a common data processing pipeline, this configuration can include a MAC filter and use separate FIFOs for both types of traffic, Ethernet and non-Ethernet traffic.

[0058] The bus arbitration for CAN XL differs significantly from that of the older CAN 2.0 and CAN-FD. The 11-bit or 29-bit CAN identifier, which is replaced by the 32-bit acceptance mask, is no longer relevant for the arbitration of CAN XL frames. An 11-bit priority field in the CAN XL frame, which is unrelated to the acceptance mask, competes specifically with the lower 11 bits of the CAN identifier in CAN 2.0 and CAN-FD. This priority field can be used to control bus access if more than one node wants to send a CAN XL frame at the same time. According to exemplary embodiments of the invention, the following rules and objectives must be observed: The priority field of the CAN XL frame must preferably be configured such that the arbitration can be resolved within the transmission time of the first 11 bits on the bus. Therefore, R.415295

[0059] - 11 - distinguish the priority field sent by a particular node from the priority fields of other nodes. This can be achieved by assigning unique identifiers to each node participating in CAN XL communication.

[0060] A node can specify a traffic priority for the transmitted frame during bus arbitration. Traffic with a higher priority preferably wins the arbitration. Within the scope of the present invention, this can also be referred to as access priority. A mapping specification can be used to map the priority values ​​of data frames, particularly Ethernet frames, to an access priority specified in the priority field of a CAN XL frame.

[0061] Data traffic within a given priority level should preferably be distributed fairly among the nodes. This can be achieved by distributing transmission opportunities among the nodes according to a rotation principle. An algorithm called Medium Usage State Tracking (MUST) can be used for this purpose, enabling a fair bandwidth distribution (see Cena and Valenzano, Achieving Round-Robin Access in Controller Area Networks, IEEE Transaction on Industrial Electronics, Vol. 49, No. 6, December 2002).

[0062] The algorithm can be adapted for CAN XL by using the aforementioned node identifier instead of the CAN message identifier during the arbitration phase. Finally, it may be desirable to prioritize non-Ethernet traffic over Ethernet traffic. This can be achieved by specifying the traffic type (ETH versus NONETH) as a field, e.g., "pt", during bus arbitration. With this field enabled, traffic priority and traffic fairness can be handled independently for Ethernet and non-Ethernet traffic.

[0063] In the context of encoding the priority field according to exemplary embodiments of the invention, arbitration preferably takes place from bit 10 down to bit 0. The payload type pt (0: NONETH or 1: ETH) has the highest priority, followed by an Ethernet priority indication. The priority field should be R.415295

[0064] - 12 - preferably set to 0 for non-Ethernet traffic, as such user data typically does not have an explicit priority specification. The 7 least significant bits include, in particular, the node identifier idTx in the transmit direction and idRx in the receive direction.

[0065] An internal state variable m reflects, for example, the last identifier value transmitted on the serial vehicle bus system. This variable is preferably set to m = -1 when the serial vehicle bus system becomes completely inactive. Specifically, a node may only transmit if its identifier value idTx is greater than m. Once a node has successfully transmitted a frame, the state variable is set to the transmitted identifier value idTx. This prevents the winning node from sending another data frame in the current round. An arbitration round is defined, in particular, when the serial vehicle bus system becomes free after a burst of data or CAN XL frames.After sending a data frame, a node should preferably wait until the serial vehicle bus system is completely free, which is typically only the case once all nodes with a pending send request have transmitted their data frames. The state variable `m` can be set to the received identifier value `idRx` after each data frame is received. This ensures that only nodes with a higher identifier value are allowed to transmit in the current iteration.

[0066] A corresponding state machine looks particularly similar when the payload type tTx, tRx and the Ethernet priority pTx, pRx are also represented. Instead of a single state variable m, an array m[M][N] may be required, comprising N nodes, each of which potentially transmits in one of M priorities: one state variable per payload type per priority. Within each individual priority level pTx, a round-robin and fair bandwidth distribution is preferably implemented. It is particularly important to note that only the payload types tTx and tRx and the node identifiers idTx and idRx are considered, but not the message identifiers, since message identifiers do not participate in arbitration in CAN XL. This simplifies the MUST protocol for CAN XL. R.415295

[0067] - 13 -

[0068] Frame padding can extend a data frame, particularly an Ethernet frame, so that the collision period for data frames is at least 512 bits long. This is not necessary, in particular, when CAN XL with its specific collision-avoiding arbitration method is used as the transmission medium. MAC relays are preferably transparent with regard to padding data frames, especially Ethernet frames. For example, received padding data is not removed from the data frame before the data frame is forwarded to the MAC relay. A short data frame forwarded by the MAC relay to the MAC preferably needs to be padded when transmitted over a native Ethernet medium. Padding is not necessary when transmitted over CAN XL. Therefore, CAN XL appears transparent for short data frames, especially Ethernet frames.Replenishment data can be transferred if it is available, but preferably never added if it is not.

[0069] This behavior can be problematic if the application using Ethernet is latency-sensitive. For example, 802.1 AS time synchronization relies on symmetrical transmission delays. When timestamps are captured by the MAC relay hardware, the capture time is aligned with the beginning of the data frame, and padding data frames does not cause harm. However, if timestamps are captured in software during data frame reception for any reason, the padding field of the encapsulated Ethernet frame can increase the data frame delay by the memory and lead time of the padding bytes. Therefore, if hardware timestamp capture is not supported, it can be a good idea to force padding during data frame transmission to align the delays of upstream and downstream data frames.

[0070] CAN XL can be used as an alternative, cost-effective LAN bus technology in a vehicle according to exemplary embodiments of the invention. R.415295

[0071] - 14 -

[0072] The preceding explanation of the embodiments describes the present invention exclusively by way of examples.

[0073] Of course, individual features of the embodiments can be freely combined with one another, provided this is technically feasible, without leaving the scope of the present invention.

Claims

R.415295 - 15 - Claims 1. Method (100) for transmitting data frames using a communication controller (2) in a serial vehicle bus system (3), comprising: Assigning (101) a respective unique identifier to each node (4) in the serial vehicle bus system (3), providing (102) a mapping specification, wherein priority values ​​of different data frames are mapped to access priorities of the serial vehicle bus system (3) according to the mapping specification, The data frames are transmitted (103) using the communication controller (2), whereby the transmission of each data frame is controlled by the communication controller (2) based on the assigned identifiers and the provided mapping specification.

2. Method (100) according to claim 1, characterized in that the method (100) further comprises: Tracking a last transmitted identifier value, wherein a transmission of a respective node (4) by the CAN XL communication controller is only permitted if a current identifier value of the respective node (4) exceeds the tracked last transmitted identifier value.

3. Method (100) according to one of the preceding claims, characterized in that for controlling the transmission, the data frames are provided with transmission options based on CAN XL priority fields. R.415295 - 16 - Data frames are assigned, particularly using a Medium Utilization State Tracking algorithm.

4. Method (100) according to one of the preceding claims, characterized in that the method (100) further comprises: Assigning a unique payload type to each data frame, with the transmission of the respective data frames further controlled based on the assigned payload type.

5. Method (100) according to claim 4, characterized in that the assigned payload type at least indicates whether a respective data frame is an Ethernet or a non-Ethernet data frame.

6. Method (100) according to one of the preceding claims, characterized in that frame padding is performed depending on the length of a respective data frame, wherein the respective data frame is extended so that it is at least 512 bits long.

7. Method (100) according to one of the preceding claims, characterized in that the serial vehicle bus system (3) is arranged and used in a vehicle (1).

8. Computer program (20), comprising instructions which, when the computer program (20) is executed by a computer (10), cause it to execute the method (100) according to one of the preceding claims.

9. Device (10) for data processing, which is configured to carry out the method (100) according to any one of claims 1 to 7.

10. Computer-readable storage medium (15), comprising instructions which, when executed by a computer (10), cause it to R.415295 - 17 - to carry out steps of the method (100) according to any one of claims 1 to 7.