Methods for communication between electronic control units in a communication system, and such a communication system, in particular for a motor vehicle, and a corresponding motor vehicle
By dynamically adjusting message length and incorporating an 'Alive' signal through length information changes, the method addresses excessive energy consumption in vehicle communication systems, enhancing efficiency and reducing power usage.
Patent Information
- Application Number
- DE102024114902
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-28
- Publication Date
- 2025-12-04
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The invention relates to a method for communication between electronic control units in a communication system according to the preamble of claim 1. Furthermore, the invention relates to such a communication system.
[0002] Due to the widespread need for energy conservation measures, technical solutions for data transmission should be developed to reduce and / or optimize electrical power consumption during bus message transmission. Furthermore, the use of energy-efficient hardware should be enabled. However, the information content transmitted through communication should not be reduced; that is, every signal change should still be signaled promptly. In addition, selecting low-energy transmission protocols and standards is crucial to maximizing data transmission efficiency.
[0003] From DE 10 2012 200 997 A1 a method is disclosed which enables the verification of the correct function of a serial data transmission in a communication bus with multiple participants, using a bus connection unit.
[0004] The object of the invention is to provide a method and a corresponding communication system which enables efficient data transmission, thereby reducing communication at least partially and thus enabling energy savings.
[0005] This problem is solved according to the invention by a method for communication between electronic control units in a communication system with the features of claim 1, and by means of a communication system according to claim 10. A motor vehicle according to claim 11 also solves the problem. Advantageous embodiments of the invention are the subject of the dependent claims and the description.
[0006] One aspect of the invention relates to a method for communication between electronic control units in a communication system, in particular a vehicle communication system, i.e., a communication system in a motor vehicle or, in short, a vehicle. In the method, it is provided that respective messages (bus messages), also called messages or telegrams, are transmitted from a sender component (sending control unit) to at least one receiver component (receiving control unit) by means of a communication bus. A CAN bus (CAN - Controller Area Network) or a LIN bus (LIN - Local Interconnect Network) can be considered as non-limiting examples of such a communication bus for illustrative purposes. The messages contain a respective message identifier, also called (English: message ID).The "object identifier" is used for a unique assignment to the corresponding sender component and to describe or indicate which user information is contained in the so-called payload of the message, i.e., whether, for example, a current temperature value or a current torque value is signaled in the data field / payload. Generally, at least one current value for a given operating variable, e.g., a measured value and / or state variable and / or a control command, can be specified in a message, so that its temporal progression (time signal) is signaled by means of successive messages.
[0007] The information contained in the message identifier regarding the payload is referred to below as the "information type," in contrast to the actual or concrete "information." For example, in the case of the information type "temperature," the concrete information could be "68°C." Accordingly, the message identifier must also specify how the (raw) bit sequence in the payload data field (i.e., the payload data) is to be processed or interpreted, for example, whether it is to be interpreted as an integer value or a float value, to name just a few examples. The "information type" can also be a combination or series of several values (a so-called array of values), such as a series consisting of a temperature value, a speed value, and a gear selection value.
[0008] The message identifier of a message can be specified in its header. Following the header, the data field containing the payload can be located in the message itself. The message can then end with a signature, which may include a checksum of the message (e.g., for a CRC - Cyclic Redundancy Check).
[0009] In order for the respective receiver component to determine where the data field in the payload ends and the trail begins, i.e., to signal the length of the data field, the header can also contain a length value as a length information, e.g., an n-bit integer value (e.g., n=4 results in 4 bits of length information with possible length values in the range of 0 to 15, often calculated in number of bytes).
[0010] When designing or planning a communication system with a communication bus, a message catalog can be used to compile all possible combinations of each sender component and the types of information it can transmit (which values or arrays of values) that may arise or be transmitted during the operation of the communication system. Each combination of sender component and its transmitting information type then receives a unique message identifier. From this message identifier, a receiver component can determine which sender component the message originated from and which type of information (e.g., temperature, rotational speed, or an array of different values) is contained as the message payload.When planning the communication system, the respective length information for messages of this message identifier is also necessarily required for each type of information, because it must be determined how the user data of the respective information types are encoded (number of bits and quantization), and the length information results from the number of bytes required for a message.
[0011] The transmission of messages in a communication bus can occur according to a predefined transmission schedule or transmission grid. This means that a sender component is then forced to cyclically send messages with a predefined message identifier in prescribed time slots of the transmission grid. This is the case even if there is no change in the values of the payload information; that is, a message with the identical payload or identical user data as in the last time slot would have to be sent. The invention is based on the understanding that this leads to unnecessary energy consumption not only in the sender component but also in the communication bus itself and in every receiver component.While the transmitting component consumes energy in its bus controller, the state changes required to transmit message bits can also involve electrical energy consumption within the communication bus itself, as the voltage level in the bus line must be changed or even reversed. In the receiving component, the bus controller must check whether the received messages are actually intended for the receiving component (a hardware filter can be used for this purpose). Furthermore, the values from the payload are processed further in the receiving component, often regardless of whether the values have changed compared to the previous message. Therefore, in the case of unchanged values, electrical energy is consumed for unnecessary recalculations.
[0012] Such unnecessary electrical energy consumption can be saved or at least reduced by the invention by eliminating the need to transmit unchanged values multiple times without violating the transmission grid. This is based in particular on the understanding that values remain unchanged in certain operating situations / states of the transmitter component or a device coupled to it, for example, when the engine in a vehicle is switched off, so that the speed value always remains at zero.
[0013] Even with event-driven message transmission (as opposed to a fixed transmission schedule), the invention has identified unnecessary energy consumption when the message contains an array of multiple values as payload. Even if only one or some of these values change, this generates a transmission event, and according to the message identifier, all values must then always be sent in the order defined for the array. This means that even the unchanged values are sent, which, as described above, leads to an unnecessarily long message and corresponding energy consumption for its transmission and processing.If all unchanged values were not sent, the result would be a shorter array and thus reduced energy consumption when transmitting the message, but it would not be clear to the receiver component how to decode the shortened array, because it is unknown which values it is currently signaling.
[0014] While the focus here is on saving energy when sending individual bytes or bits—that is, small amounts of energy for a single message—the invention recognizes that messages with a specific message identifier can be sent up to one hundred times per second. This means that during operation of the communication system, for example, while a vehicle is in motion, several megabytes of user data may be transmitted unnecessarily. Therefore, simply shortening messages with a given message identifier as needed can lead to significant energy savings. Particularly in purely battery-powered electric vehicles, such a reduction in consumption through message shortening offers a significant technical advantage.
[0015] According to a further insight of the invention, the aspect of shortening messages can also be used for cost savings in another respect. The regular transmission of messages may be necessary for a transmitter component for the following reason: If an operational error occurs in the transmitter component and it therefore stops transmitting completely, or if the values are erroneously not updated, this error state could not be distinguished in a receiver component from the state where there is "simply" no change in the operational value, because both cases would lead to the absence of messages. Thus, the transmission of messages implicitly indicates, at least, the proper functioning of the transmitter component's transmitting device.This can make sending messages mandatory, because otherwise an error state would have to be assumed. However, simply sending unchanged data only signals that the sending device is functioning; according to the OSI model, an ALIVE state is therefore preferably created in the function where the recalculation of the payload takes place. In this way, the receiver is signaled that the sender is now functioning, not just the sending device.
[0016] If the payload remains unchanged in successive messages and is repeatedly transmitted cyclically without any changes, a receiver component cannot distinguish this from an error case where, due to a fault (e.g., an infinite loop) in the sender component, the transmit buffer of the sending device is not updated. Simply sending unchanged data thus only signals the functionality of the sending device (e.g., bus controller). This means that changes to the payload (operating variable values) may exist and should actually be signaled, but the transmit buffer containing the outdated payload is no longer updated, and therefore the bus controller of the sender component continuously sends the same messages.
[0017] To detect this type of error, it is not enough to simply send a message regularly. These messages must also contain a time-varying "alive" signal, indicating proper operation of the sending component. This signal must be regenerated by the sending component with each message. In the current state of the art, an "alive" counter (e.g., a 4-bit counter) can be transmitted in the payload and updated with each message. According to the OSI model, the "alive" counter is generated in the function that recalculates the payload data. This signals to the receiver that not only the sending component but also the higher-level function is working. The sending component does not even necessarily have to be integrated into the processor. The actual payload data (values of the operating parameter to be signaled) is thus augmented by an "alive" counter.Only then does sending messages implicitly provide complete evidence of the proper functioning of the sender component, namely when the recalculation performed is signaled with an "Alive" state in the data field.
[0018] However, this can lead to the necessity in the operation of the communication system that, in total, large amounts of data have to be transmitted simply to transmit the Alive counter in each message, and that these messages have to be generated at a certain minimum rate (number of messages per unit of time), even if the other values of the payload remain unchanged.
[0019] One embodiment of the invention offers the possibility of eliminating the need to transmit the Alive counter in every message without losing the Alive signal itself. Furthermore, it provides the ability to "pause" messages without this being interpreted as an error by a receiving component.
[0020] The invention provides that, in order to save energy, the transmission of irrelevant information and thus data bytes is avoided as much as possible, while retaining the relevant and therefore essential features of the communication system.
[0021] The measures proposed here can be broken down into the following aspects, which will be explained in more detail below: 1. Shortening of messages depending on the current operational situation 2. Pause / transmitter grid switching, possibly in DATA0 -> Timeout monitoring 3. Alive in DATA0 (further abbreviation) 4. Alive through messages of varying lengths (the Alive signal as a transmitted quantity can be completely omitted) 5. Length information DLC itself as pause or live (adjustment of the standard) 1. Shortening the messages
[0022] The invention proposes that for one or more message identifiers, several variants (i.e., several different payload formats) are defined with respect to the configuration of the user data of the corresponding messages. This allows the system to react to the current operating situation (operating state) of the sender component or a device coupled to it by taking the operating situation into account when generating or compiling the user data and switching to a variant assigned to that operating situation. This eliminates, for example, the need to enter the rotational speed mentioned in the example above into an array of the payload. In general, it is therefore unnecessary to send a value that remains unchanged in the operating situation within a message with a given message identifier, even if another operating situation requires signaling this value / operating parameter.If a value remains unchanged in a specific operating situation (e.g., because a related device is switched off), the message variant whose payload does not contain this value by definition can be selected. The example above can then offer the following potential savings: If a message in a vehicle's communication system, for example, is to contain an array with several values (different operating parameters), one of which is engine speed, then if the vehicle switches off the engine, for example, due to start-stop operation, the array can be shortened by omitting the engine speed value (because the engine speed is currently irrelevant). Thus, one could define a variant of the array for the message identifier that includes the engine speed value and the operating parameter value, and a variant that does not.With the engine running, the system can switch to the variant where the rotational speed value is part of the array. In general, the invention offers the possibility of energy savings through reduced communication. The control software of the transmitting component can thus select the variant (payload format) to be used in the message based on the current operating situation, set the corresponding length value in the message length information, and generate the payload according to the selected variant.
[0023] However, the receiver component must be able to recognize which variant is present in a currently received message. Since the array has shortened, the invention allows the variant in use to be signaled by a corresponding change in the length information in the message header (and thus, in particular, without violating the communication standard). The length information therefore acts as a variant switch in the receiver component for toggling between different variants of the payload format. The length information controls which of several predefined processing routines for the message identifier is to be executed in the receiver component. It should be noted that the length information thus not only indicates how long the array or, more generally, the payload is (how many bytes it contains), but also allows a different variant for decoding the bytes to be specified depending on the length value, because, for example, if a value is missing (e.g.,(e.g., rotational speed), other values in the array must "move up," meaning they occupy a different position in the array, compared to the case where the array is created in its intended full length with all values according to the message identifier. In particular, the length value in the length information of a message header controls or switches the processing or interpretation of the message's payload in the receiver component. Messages with the same message identifier but different length information can therefore be processed by different processing routines in the receiver component. To remain standards-compliant, the length information should preferably always specify the length information of the payload as defined by the standard (an exception is described below for a message without a payload).
[0024] This can be used, as described, to define a predefined subset from an array of values (each specifying a different operating parameter) that are entered in a shortened version of the array or that constitute the payload of this shortened version. Thus, there is a length value for the full version of the array and one or more length values that signal a respective shortened version of the array; that is, at least one operating parameter / at least one value is missing in the shortened version. A missing value has the advantage that fewer bits are transmitted on the communication bus, thus saving energy, and the value does not need to be processed by a software function in the receiver component, which again saves energy. A specific format of the array, i.e.,The order and type of the entered values are known for each variant in the receiver component, and the corresponding processing of the array is switched accordingly based on the length information. The receiver component may be configured to replace the missing value in the message with the last available value or even to use the calculated processing result of that value, meaning that the information content itself is not lost.
[0025] The solution approach according to the invention can even be designed to such an extent that different information types can be assigned to the same message identifier by means of different length values of the length information, i.e. not only abbreviated information types (e.g. arrays) or subsets of operating parameters compared to a "full version" of the information type.
[0026] This switching between functionally different types of information can also be used to reduce the number of different message identifiers that a specific receiver component must be able to recognize as relevant using its hardware filter (messages with different message identifiers are discarded in the receiver component). This allows for an increase in the number of signals transmitted with the same message identifier across different messages. This enables improved utilization of the hardware filter in the receiver component, which can lead to a reduction in the number of messages with different message identifiers that would otherwise have to be received, thereby reducing the processing load and the associated energy consumption in the processor.
[0027] A further advantage of the invention is therefore based on the (more pronounced) use of the hardware filter, in which messages that are not intended for the respective recipient do not have to be filtered out by the software, thereby simplifying the processing routines and saving electrical energy. 2nd break
[0028] The described switching between functionally different information types is possible if the different information types also result in different payload lengths. The same message identifier, which for a first length value of the length information can signal, for example, an array of values for different operating parameters (temperature, speed, etc.), can, for a second length value, especially a smaller one, signal, for example, a transmission pause by the transmitter component or a change in the transmission grid. In this variant, the payload can then signal, for example, the pause duration and / or the new transmission grid as a value. This is then unrelated to the operating parameters intended for the first length value. The receiver component can then provide a corresponding processing routine for the second length value, for example, a wait routine.Switching to a PAUSE or extending the transmitter grid is preferably helpful in an operating state where the operating parameters do not change.
[0029] Furthermore, administrative messages, such as the described announcement of a broadcast break or the switching between broadcast grids, can be integrated without the need for a new message identifier.
[0030] In particular, a payload can be shortened to the point where it consists of only one byte, meaning there is only one value in the first byte (DATA0) of the payload. This value can then signal the aforementioned pause duration or the new transmission grid. 3. Alive at DATA0
[0031] Another example of reducing data length to one byte (Data0), where instead of an operating size or a mixture with an operating size is transmitted, is the transmission of an Alive signal.
[0032] In a safety-oriented data transmission, in addition to a checksum (correctness of the data), an Alive counter is also transmitted to indicate the data's freshness. Since operational parameters do not necessarily change, the case where the data has not been updated due to an error at the sender, as described, is indistinguishable from correct behavior under a constant operating state at the receiver. The Alive counter thus serves to differentiate between a correct data transmission with unchanged values and the case of "frozen" values due to an error. The Alive counter applies to the entire data array and signals to the receiver that the sender has reassembled and transmitted the data packet.
[0033] Here, the length information can be set to the value 1, and an Alive signal, e.g., an Alive counter, can be transmitted in the single byte of the payload. If the Alive signal is only intended to trigger a change in successive messages, then the Alive counter does not need to occupy the full 8 bits of DATA0. Instead, for example, 6 bits can be used for an operating value and 2 bits for an Alive counter, which can be incremented cyclically, e.g., with 0, 1, 2, 3, in four consecutive messages. 4. Alive signal through messages of varying lengths
[0034] A further reduction in transmission time is achieved by implicitly deriving the Alive signal from a change in the receiver component detectable in successive messages. In other words, no explicit Alive counter value is sent.
[0035] Thus, in a constant operating state, a message can be sent with only one Alive counter (variant 3 above), or, in an even more energy-efficient variant, any status information can be sent, whereby every second message is sent without a data array (payload) and therefore with a length information of 0. The Alive state of the sender is communicated to the receiver by changing the length information from 0 to another value.
[0036] In one variant, the invention generally proposes to eliminate the Alive counter as a marker for updating the data array (payload) and thus the transmission memory in the transmitter, and instead to send messages of varying lengths, and thus with varying length information in successive messages. In this way, the change in length information takes over the functionality of the Alive counter / Alive signal.
[0037] The sender component can alternate between sending DATA0 with a value of an operating parameter and then no data block (no payload) in successive messages, so that the length information alternates between 1 and 0, resulting in a change that can be evaluated as an Alive signal in the receiver component.
[0038] If there is no operating value to transmit (no change in an operating parameter), an energy-saving value can be transmitted in DATA0 instead, which can be a value corresponding to the idle level in the data bus, i.e., in the case of a CAN bus, "FF" (hexadecimal for 8 bits set to 1).
[0039] The Alive signal can thus be generated in the receiver component purely from the length information (DLC) that changes with each message, and is no longer explicitly transmitted as an Alive counter value.
[0040] This can therefore be implicitly interpreted in the receiver component as an alive state of the sender component, and thus error handling (error: sender component not alive) can be suppressed in the receiver component. This embodiment is referred to below as "alternating shortening". 5. Alternative use of length information
[0041] In connection with switching between functionally different information types (payload and pause announcement), a message without a payload can also be defined by entering the pause length in the length information control field. In this implementation, the value entered as length information does not correspond to the actual length of the payload (i.e., 0), which might not be feasible in a current bus standard without further modification. This could be compensated for or taken into account in the receiver component by ensuring that the supposed "length value" according to the length information actually represents a pause information value, i.e., a pause value. Multiple different pause values can also be provided. The pause value can signal the pause length in an encoded manner, e.g., 1 = 1 ms, 2 = 10 ms, 3 = 50 ms, 4 = 100 ms, 5 = 1 second.Similarly, the next transmission grid can be signaled via at least one predefined grid value in the length information control field. The receiving component can then adjust its operation accordingly.
[0042] In a missing payload (payload of length 0, no bytes), a further development process uses the bit field (control field) of the length information itself as a value to signal an operating parameter or an alive counter. If the control field of the length information serves as the alive counter, several messages can be sent consecutively without a payload, and yet the alive signal is still available in the receiving component.
[0043] Analogous to the described functionality of the pause information or transmitter grid switching, the data fields for the DLC (generally the length information) could also be used to transmit an Alive signal. In the embodiments proposed here, an adaptation / extension of the standard is required.
[0044] To ensure that the receiver recognizes and takes into account that the message has no payload and that the length value in the length information bit field is a data value and not a length specification (which would have to be 0, meaning the length value is specifically not equal to 0 in this implementation), a different flag or bit in the message header can be set accordingly to signal this. This can be a flag that is declared as undefined or free according to the bus standard used (so-called "reserved flags"), or a flag for a zero payload can be explicitly defined.
[0045] The five aspects described can be implemented individually or in combination using the following features.
[0046] To clarify, it should first be mentioned again that it is also possible that, for example, a single or a large number of receiver components can be arranged in the communication system, which enables the message identifier to identify the sending sender component and thus to assign the information in the message.
[0047] In particular, the control units can also switch roles during message transmission, whereby, for example, the transmitter component can also switch to a receiver component and one of the receiver components to a transmitter component. Specifically, each control unit can act as both a transmitter and a receiver component, as is known in the prior art.
[0048] In a specific example, CAN communication (Controller Area Network communication) using a CAN bus can be applied for communication between the sending component and at least one receiving component in a vehicle system for a motor vehicle, particularly a passenger car. The message identifier is referred to here as the CAN ID, and the length information is called the DLC (Data Length Code).
[0049] Furthermore, the transmission of messages via the transmitter component is also provided for in the invention to be event-driven or at fixed times or in predetermined time grids or time intervals (transmitter grid). Moreover, the sending of messages via the transmitter component is preferably also intended to inform at least one receiver component about the "alive" state, an active state, or a life sign of the transmitter component at corresponding times. The invention imposes no restrictions on this for those skilled in the art.
[0050] Communication is also uniquely assigned using the defined message identifier, message identification number, message ID, or object identifier, which is sent by the sender component and is therefore known to the receiver component in order to identify or recognize this sender component and to correctly capture, decode, and / or assign the information from the message.
[0051] In order to solve the problem of the invention and thus enable effective data transmission, by means of which communication is at least partially reduced and thus energy savings are made possible, it is provided that a respective length information or, in the case of a CAN bus, the DLC (English "data length code") is entered or specifically modified in a control field in a corresponding header of a respective message and is used as an input for a variant switch in the at least one receiver component.
[0052] In this context, a variant switch or configuration switch is a logical component used in both the transmitter and receiver components to select and control different configurations or options of the communication system, especially the respective message content, depending on an input, without having to make any physical changes.
[0053] The required communication and the amount of information / operational parameters to be transmitted are derived from the operating state / situation. The total amount of information determines the number of data bytes and thus the DLC (length information).
[0054] The messages are formed in the sender and "unpacked" in the receiver. The rule governing this packing and unpacking is stored in the operating software's program code and, in this case, is derived from the message ID in combination with the respective length information (in the case of CAN, this is DLC).
[0055] The message is sent or transmitted with the length information entered or specifically modified in the header as input for the variant switch. The variant switch is thus configured to apply predefined functions or procedures based on this input in order to read, evaluate, and apply the variant-specific information transmitted in the data field. Because the length information is entered or specifically modifiable, it can be viewed as a variable used as input for the variant switch.
[0056] Accordingly, it is possible for the sending component to encode or package data within the data field, specifically depending on or according to the adapted length information. The at least one receiving component can then, using known specifications from the variant switch and the captured length information, unpack / decode and interpret the data within the data field. Thus, with each transmitted length information, a predefined sequence of information or further combinations within the respective data bytes in the data field can be transmitted and received and unpacked accordingly.
[0057] The variant switch thus enables the communication to be adapted to different communication scenarios (operating situations) or communication system states. Therefore, the inventive method for efficient communication in the communication system or vehicle system is intended to require less communication or information transmission, thereby reducing the load on the communication system and at least partially reducing energy consumption.
[0058] In summary, the length information for messages with a predefined message identifier can be adapted, thereby increasing communication flexibility. This allows the transmission of specific information to be adjusted as needed without having to redefine the entire message and assign it a new message identifier. The adaptive length information is used for the variant switch, which can capture different information on different data bytes within the data field.
[0059] In an advantageous embodiment of the invention, a data field of the message is shortened and / or lengthened depending on the entered or specifically modified length information and / or the current operating state of the sender component (a shortened version of a predefined array structure to avoid transmitting unnecessary values). The actual application of the length information is also used to adapt the data field depending on the value of the length information. This situational adaptation aims to transmit only a small corresponding amount of data bytes in the data field when, for example, the length information value is low. If a larger amount of information needs to be transmitted, the value of the length information and the amount of data bytes to be transmitted can be increased accordingly.In this way, in addition to the number of data bytes, the order or type of information transmitted in the data bytes can also vary, whereby the receiver component knows these variations, which can be read depending on the length information and the variant switch and whose information can be correctly unpacked.
[0060] In an example CAN communication, a length information (DLC) value of 5 could represent a sequence of 5 data bytes (DATA0-DATA4), each containing a specific value in the data field (Data). Each byte could be used for a particular process parameter (e.g., speed, gear, torque, coolant temperature, engine oil temperature). If the length information (DLC) is changed to a different value, such as 3, the order of the process parameters in the data bytes (DATA0-DATA2) could be altered. Alternatively, different process parameters (e.g., speed, torque, ambient temperature) could be transmitted in the data bytes (DATA0-DATA2), rendering the sequence and / or process parameters from the previously mentioned length information value of 5 invalid.
[0061] In an advantageous embodiment of the invention, it is provided that, given a length information with a predefined value (e.g., a CAN DLC value of 1 for a length of 1 byte), the receiver component derives a pause time until the next message from a value (in the CAN example, DATA0) of the message's data field. In the example DLC=1, this means that the single transmitted data byte of the payload contains information about the duration of the subsequent pause until the next message (pause message).In one embodiment, the sender component can send a message with the value 99 or 98 in DATA0 as a pause message; then, for 98 sender grids (transmission time slots), no message is sent; then, as a message, an information message with an updated value of at least one operating parameter is sent; after that, the described pause message is sent again, followed by another 98 pause grids, thus, for example, converting a 10ms grid into a 1s grid. Additionally or alternatively, it is provided that, given length information with a predefined value (e.g., in the alternative variant, also with a DLC value of 1), a switch to a different sender grid for future messages is derived from a value (from DATA0) in the message's data field. This switch is known to the receiver component.For example, if the previously mentioned length information has a value of 1, the first data byte in the data field (DATA0) could signal transmission intervals and thus the switch to a different transmission grid. A value between 1 and 5 could be transmitted, where 1 equals 1 ms, 2 equals 10 ms, 3 equals 50 ms, 4 equals 100 ms, and 5 equals 1 s. This configuration can be used to prevent an unnecessary or unwanted reaction to the message transmission monitoring for a time interval defined by the transmitted information. If data transmission fails for a defined period (timeout) after a reception time expected according to the previous transmission grid, the receiver might otherwise switch to a backup program.The concept of pause or grid switching is based on sending each message with a data byte, which represents a length information value (DLC = 1). This data byte contains the pause time or the specific grid in which the message will be sent in the future, or in which grid a message failure is to be monitored. To extend the pause time, a new pause time can be specified in the next message, thus defining the time intervals between messages based on the information transmitted at the respective pause times.
[0062] In an advantageous embodiment of the invention, it is provided that, given a length information with a predetermined value, an Alive state of the sender component is derived by the receiver component from a value in the data field of the message. As a special case, it can be covered that a transmission of the length information with the value 1 (DLC = 1) signals that an Alive counter is transmitted in the single data byte (called DATA0 in the case of CAN), i.e., a cyclic counter value that is incremented with the message and ensures that successive messages differ in at least one bit.
[0063] As previously described, the Alive state can even be derived without explicitly transmitting an Alive counter. In an advantageous embodiment of the invention, the Alive state is derived by the receiver component from changes in the length information in successive data packets, for example, alternating between a first and a second value. The receiver component infers the existence of the Alive state when it detects a change in the length information in successive messages. If the length information remains unchanged in successive messages, this can be interpreted as an indication of the described malfunction in the sender component.
[0064] In this embodiment, the messages for communication can be shortened to such an extent that, in an advantageous embodiment of the invention, the alive state is signaled by the transmitter component through an alternating change between 1 as the first value and 0 as the second value; that is, messages with a payload length of 1 byte and 0 bytes (no payload) are sent alternately. For messages with the length information having a first value of 1, a value of a predetermined status information is transmitted in the data field, for example, a value of an operational parameter. Message transmission without a data block (DLC = 0) also advantageously serves to avoid transmission in certain operating modes in which the data does not change, and simultaneously prevents timeouts because the transmitter grid is still maintained.
[0065] If no change in the operating parameter is present for the messages containing length information 1 (because, for example, the transmitter component is in standby mode or the operating parameter remains unchanged in the current operating situation), a further reduction in power consumption can advantageously be achieved by inserting an energy-efficient signal level, corresponding to the quiescent level of the communication bus, into the data field instead of the value in an advantageous embodiment of the invention when the operating parameter remains unchanged compared to the last transmission. In the case of the CAN communication bus, this value can be FF (high level). In general, a value is thus transmitted that signals an unchanged status.Unchanging status information in successive messages from the sender component is thus replaced with an energy-efficient signal level, or it signals that the information has not changed and therefore, for example, the previously transmitted value can be reused. Thus, it is intended that energy-efficient signal transmission is used, in which messages whose information has not changed are transmitted with the energy-saving signal level. In the example of the CAN bus, however, the high level can also be used to transmit messages in an energy-efficient yet reliable manner.
[0066] In an advantageous embodiment of the invention, a change in a reserved bit from the control field, in combination with the message length information, derives a value from the length information as an operating parameter and / or a pause length and / or as an alive counter value and / or as an indication of an operating state, and the length of the data field is assumed to be zero. This variant can only be implemented by extending the standard. Each length information value is thus assigned a different meaning; it is not a length specification for the payload, but rather, for example, a specific pause time until the next message. For instance, all length information values greater than 1 can represent a pause of 1 ms, thereby providing a 1 ms time interval for interrupting the cyclic message transmission or the transmission grid.Additionally or alternatively, the live state of the transmitter component is derived from a change in a reserved bit or reserved control bit from the control field in combination with the message length information. Specifically, certain reserved bits are intended to be used, for example, in the CAN frame, particularly in the control field, to transmit information that, depending on the specified length information, activates the variant switch differently. For example, a reserved bit r0 could have the value 1 and thus activate a predefined first variant switch that knows the predefined evaluations. Conversely, a reserved bit r0 with the value 0 could activate an alternative second variant switch that is only set to pause times and reads the length information 1 and the information of the corresponding data byte in the data field.Accordingly, an increase in the number of combinations and pieces of information, as well as the quantity of different variant switches, would be possible to improve the use of the transmitted, especially small, information. Since the reserved bit is automatically transmitted in the control panel, this information can be particularly useful without increasing data transmission. Several different values, such as operating size and live counters, can be combined.
[0067] When using the Reserved bit, it would also be possible to apply it directly as information for the Alive state of the transmitter component, while the length information is set to the value 0 and thus no data field is transmitted, or the length information data field is not used for a length value, but for a different value of an operating parameter and / or an Alive counter.
[0068] The following advantages can be achieved through the described designs or through a combination of several of these designs: a) To shorten messages b) to omit messages (pause) c) To omit signal content such as ALIVE and to use other mechanisms to generate ALIVE. d) To use energy-saving levels
[0069] Another aspect of the invention relates to a communication system comprising a communication bus for message transmission between electronic control units, in particular transmitter and receiver components or vehicle components. The communication system is designed so that individual messages, each with a unique message identifier for unambiguous assignment to a corresponding transmitter component, can be transmitted from the transmitter component to at least one receiver component. The length information of each message can be entered or selectively modified in a corresponding message header and can also be used as input for a variant switch in the at least one receiver component.
[0070] In summary, the invention aims to reduce data transmission by shortening the data frames of a message using the inventive method and the corresponding communication system. To achieve this, it is proposed to use length information as input for a variant switch of a receiver component. This length information shortens the data frames, even to the point of omitting the transmission of a corresponding data field. The variant switch settings allow for the transmission of pauses and live states of the sender component, thereby significantly reducing data transmission.
[0071] Thus, a message identifier is reused in different messages, and length information is provided for use by a variant switch. The message identifier / ID specified in the header and the length information trigger a predefined format for packaging (in the sender component) and unpacking (in the receiver component) the message. This application can be implemented particularly well within a CAN standard. In an alternative to the CAN standard, the proposed concept can be transferred to a LIN bus, where the slave shortens the message to the portion relevant to the current operating state, and where the master knows what content is transmitted in a shortened message and how it should be used.
[0072] Further features of the invention will become apparent from the claims, the figures, and the description of the figures. The features and combinations of features mentioned above in the description, as well as the features and combinations of features mentioned below in the description of the figures and / or shown in the figures alone, are not only usable in the combinations specified, but also in other combinations or on their own.
[0073] The invention will now be explained in more detail with reference to a preferred embodiment and the drawings. The drawings show: Fig. 1. A communication system shown in a diagram to illustrate a method for communication between two electronic control units, in particular taking into account reduced data transmission; and Fig. 2. A pictorial diagram to illustrate changes in length information in a message and their effects.
[0074] Fig. Figure 1 shows a communication system 10 in a diagram illustrating a method for communication between electronic control units, particularly considering reduced data transmission and the resulting energy savings. In this method, a communication bus 12 is used to transmit messages, each with a unique message identifier for unambiguous assignment to a corresponding sender component 14. Accordingly, the sender component 14 transmits the uniquely identifiable message to at least one receiver component 16.
[0075] In addition, the respective length information DLC (engl.: “data length code”) of each message is entered in a corresponding header of the message and used as an input for the variant switch 20 in at least one receiver component 16.
[0076] The central component of this communication system 10 is the communication bus 12, which in this case is represented as a CAN bus (Controller Area Network bus). The communication bus 12, or CAN bus, is part of the communication system 10 and enables data exchange between various control units / functional units, for example, of a vehicle. Furthermore, it is also possible for a large number of receiver components 16 to receive a uniquely assigned message from the transmitter component 14. Accordingly, the transmitter component 14 and the receiver components 16 are electronically coupled or connected via a CAN bus, which is the communication bus 12.
[0077] The transmitter component 14 can, for example, be a control unit for an engine control system in the vehicle, which signals or sends information or operating parameters about the engine's state to at least one other component (respective receiver component 16) in the vehicle. The transmitter component 14 enables the initiation of communication and the sending of messages via the communication bus 12 or CAN bus. The messages can contain, as user data in a payload, a current value of at least one operating parameter. This message is uniquely identifiable by a message identifier or ID, so that each receiver component 16 can assign this message to this specific transmitter component 14.
[0078] The second component in the Fig. 1 is the message receiver, or receiver component 16. This could be a control unit for the braking system that receives information about the current operating state of the engine. Receiver component 16 is configured to receive the transmitted messages, decode the message identifier, assign the message to the sender component 14, and react to it when necessary, for example, to properly unpack the information.
[0079] Furthermore, a time grid 18 is provided, which is a temporal reference defined in the communication system 10. It determines the times at which messages are to be sent and received. This concept enables time synchronization throughout the entire communication system 10 and, in particular, provides an efficient method for reliable message transmission and monitoring in the event of a message failure.
[0080] Furthermore, a flexible and only in the Fig. The length information DLC shown in section 2 is provided in the header of each message, by means of which a variant switch 20 of the receiver component 16 can be controlled. The variant switch 20 reads the length information DLC, unpacks the information or payload of the message, and generates control parameters or information for further steps in the communication system 10. Depending on the information encoded in the length information DLC, the variant switch 20 can, for example, initiate different steps or execute commands.
[0081] Furthermore, the detection of an Alive state A of the sender component 14 is also provided and is transmitted to the receiver component 16 using the length information DLC. The Alive state A is used to inform the receiver component that the sender component 14 is active and the message content is current.
[0082] Fig.Figure 2 shows a diagram illustrating changes in the length information DLC in a message and their effects in the communication system 10.
[0083] Here, various messages 1, 2, 3, 4, 5, 6, 7 are displayed with different length information DLC, which cause different effects on the variant switch 20 of the receiver component 16.
[0084] Each of these messages (1, 2, 3, 4, 5, 6, 7) has a message identifier ID (or a unique message identifier ID0), an arbitration field ARB, a control field CTRL, a data field DATA (payload) with corresponding data bytes D0, D1, D2, D3, D4, D5, D6, D7, and the corresponding length information DLC. Data byte D0 is the aforementioned first byte DATA0 of the payload. Depending on the length information DLC, different pieces of information X1, X2, X3, X4, X5 are also specified in the corresponding data field DATA.
[0085] Furthermore, the fifth message (5) and the sixth message (6) show that a pause time (t_p) or an alive state of the transmitter components (14) can also be transmitted as information in the DATA field. The seventh message (7) also shows that an alive state (A) can be derived from the length information (DLC) even without transmitting information in the DATA field. The messages in this example could have been sent sequentially in the order shown.
[0086] In an example in CAN communication, a sample length information DLC with the value 5 could mean a sequence of 5 data bytes D0, D1, D2, D3, D4 with respective information X1, X2, X3, X4, X5 in the data field DATA, where each data byte D0, D1, D2, D3, D4 can be used, for example, for a specific process parameter as the information X1, X2, X3, X4, X5 with X1 equal to speed, X2 equal to gear, X3 equal to torque, X4 equal to coolant temperature, X5 equal to engine oil temperature.If the length information DLC is changed to a different example value 3, the order of the process parameters as the information X1, X2, X3 in the data bytes D0, D1, D2 could be changed, alternatively, other process parameters than the information X1, X2, X3 with X1 equal to rotational speed, X2 equal to torque, X3 equal to ambient temperature could be transmitted in the data bytes D0, D1, D2, after which the order and / or the process parameters from the aforementioned length information DLC with the value 5 are no longer valid.
[0087] In another example, if the length information DLC has a predefined value of 1, as in the fifth message 5., a pause time t_p until the next message can be derived from the DATA field using the corresponding data byte D0. This means that the single transmitted data byte D0 contains information about the duration of the next pause until the next message, where the pause time t_p can be entered arbitrarily.
[0088] In yet another example, if the length information DLC has a predefined value of 1, as in the sixth message 6, the associated data byte D0 from the DATA data field can be used to derive an Alive state A of the transmitter component 14 until the next message. This means that the single transmitted data byte D0 contains information about the live signal and thus the activity of the transmitter component 14.
[0089] In yet another example, if the length information DLC has a predefined value of 0, as in the seventh message 7., no data byte D0-D7 can be transmitted from the data field DATA, whereby the receiver component 16 detects at least no error regarding the time monitoring of the reception of a message or can even derive the Alive state A of the sender component 14 until the next message, provided that the previously sent message has a deviation in its structure.
[0090] In yet another example, by means of further information in an unseen reserved bit r0 in the control field CTRL and by a changing change of the length information DLC in successive messages, for example a continuous change of the value of the length information DLC between 1 and 0, the Alive state A of the transmitter component 14 can be transmitted without the transmission of a data field DATA.
[0091] When the reserved bit r0 is used, a state—that is, the level typically associated with the reserved bit—indicates that the DLC carries length information. Therefore, only ONE switching operation is required.
[0092] Ideally, the 16 combinations 0x0 to 0xF of a DLC would be used to provide a grid switch and an alive counter. Example: r0-DLC: Meaning 1-111: Raster 100ms 1-110: Raster 100ms 1-101: Grid 20ms 1-100: 10ms grid 1-011: Raster 5ms 1-010: Raster 2ms 1-001: 1ms raster 1-000: Grid default and 0-111: ALIVE 0-... : ... 0-000: ALIVE
[0093] In summary, the method describes a way to save energy by specifically reducing communication in the proposed communication system 10. Reference symbol list 10 Communication system 12 Communication bus 14 Transmitter component 16 Receiver component 18 time grids 20 variant switches 1st - 7th News ARB Arbitration Field CTRL control panel / control panel DATA data field DLC length information (data length code) t_p Break time X1 - X5 Information ID message identifier ID1 - ID7 unique message identifier A alive state QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] DE 10 2012 200 997 A1
[0003]
Claims
[1] Method for communication in a communication system (10) between electronic control units, in which, by means of a communication bus (12), respective messages (1. - 7.) with a respective message identifier (ID1 - ID7) for a unique assignment to a corresponding sender component (14) are transmitted from the sender component (14) to at least one receiver component (16), characterized by , that a respective length information (DLC) of a respective message (1. - 7.) is entered in a corresponding header of the message (1. - 7.) and is used as an input for a variant switch (20) in at least one receiver component (16). [2] Method according to claim 1, characterized by, that a data field (DATA) of the message (1. - 4.) is shortened and / or lengthened depending on the entered length information (DLC) and / or depending on a current operating situation of the sender component or a device controlled by it. [3] Method according to any one of the preceding claims, characterized by , that with length information (DLC) with a predefined value, a pause time (t_p) until the next message (6.) is derived from a value (D0) of the data field (DATA) of the message (5.) by the receiver component (16). [4] Method according to any one of the preceding claims, characterized by , that in the case of length information (DLC) with a predefined value, a change to a sender grid known to the receiver component (16) for future messages is derived from a value (D0) of the data field (DATA) of the message (5.). [5] Method according to any one of the preceding claims, characterized by, that with length information (DLC) with a predefined value, an Alive state (A) of the sender component (14) is derived by the receiver component (16) from a value (D0) of the data field (DATA) of the message (6.). [6] Method according to any one of the preceding claims, characterized by , that the Alive state (A) is derived by the receiver component (16) from a change in length information (DLC) between different values, in particular a first value and a second value of two successive messages. [7] Method according to claim 6, characterized by, that the Alive state (A) is signaled by an alternating change between a non-zero value as the first value and 0 as the second value by the sender component (14), and in the case of messages with length information, the first value in the data field (DATA) is a value (D0) of a predetermined status information or a value that signals an unchanged status. [8] Method according to any one of the preceding claims, characterized by , that when the value of an operating parameter in the data field (DATA) of the transmitter component (14) remains unchanged, an energy-efficient signal level (FF) corresponding to the quiescent level of the communication bus (14) is inserted into the data field (DATA) instead of the value of the transmitter component (14). [9] Method according to any one of the preceding claims, characterized by, that by changing a Reserved Bit (r0) from the Control Panel (CTRL) in combination with the Length Information (DLC) of the message (1. - 7.) a value of the Length Information (DLC) is derived as a value of an operating parameter and / or a pause length and / or as an Alive Counter value and / or as an indication of an operating state and a length of the Data Field (DATA) is assumed to be zero. [10] Communication system (10) comprising at least two electronic control units and a communication bus (12) coupling them, wherein the communication system (10) is configured to carry out a method according to any one of the preceding claims 1 to 9. [11] Motor vehicle with a communication system according to claim 10.
Citation Information
Patent Citations
Method for transferring serial data in bus system, involves determining size of data field in presence of switching condition, so that values of four bits of data length code partially deviating from specific standard are interpreted
DE102011006884A1
Method and apparatus for reducing load in can communication
US20160112215A1