Method for transmitting messages in a data transmission system, taking into account latency times and the data transmission system, computer program, and data carrier.
By assigning target latencies and forming message packages based on actual latency evaluation, the data transmission system optimizes resource utilization and enhances efficiency in CAN-based communication systems.
Patent Information
- Application Number
- DE102023119033
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-19
- Publication Date
- 2025-01-23
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The invention relates to a method for transmitting messages in a data transmission system, wherein messages are provided from a computing unit to a transmitting unit of the data transmission system for transmission to a receiving unit of the data transmission system. A maximum target latency and an expected target latency are assigned to each message with respect to the transmission of each message by the computing unit.
[0002] Furthermore, the invention relates to a data transmission system with a processing unit for providing messages to be transmitted from a processing unit to a transmitting unit of the data transmission system for transmission to a receiving unit of the data transmission system. The processing unit is configured to assign a maximum target latency and an expected target latency for the transmission of each message among the provided messages.
[0003] Furthermore, the invention relates to a computer program and an electronically readable data carrier.
[0004] Multi-drop communication systems, such as a Controller Area Network (CAN), are becoming increasingly important in real-time and security applications. These communication systems and protocols enable reliable data communication, low implementation complexity, low costs, and prioritized media access. For example, Carrier Sense Multiple Access / Collision Resolution (CSMA / CR) can be used to limit the latency or delay of higher-priority messages. Communication buses such as CAN-FD (Flexible Data Rate) and CAN-XL (Extra Long) are known system types that enable high data transmission rates. Furthermore, these can be used to transmit messages with large lengths, such as 64 bytes.CSMA / CR ensures that an Electronic Control Unit (ECU) can transmit the highest-priority messages, taking media access into account. These messages can then be sent, while other, lower-priority messages must wait for transmission. This waiting time is a function of the prioritized allocation and reception process for higher-priority messages. Furthermore, this has a significant impact on the end-to-end latency and latency jitter of each message. These are crucial parameters for real-time communication.
[0005] Nowadays, CSMA / CR-based communication systems are dimensioned by system developers by determining the number of connected nodes or communication nodes and the message prioritization, taking into account a parameter that can be bus utilization. This bus utilization, i.e., the utilization of the communication network or communication system, can be easily calculated. The message length can be divided by the message cycle time or clock time. This value can then be used for all messages, or added together, and the result for all messages can then be divided by the bit rate of the communication bus. It is common practice to ensure that the bus utilization does not exceed 40%, 50%, and especially 60%.The criteria regarding bus utilization have significant limitations, such as the lack of support for network developers in selecting correct message priorities, such as CAN IDs. Furthermore, no proper latency limits are provided, as these parameters do not affect bus utilization. A common workaround is to assign a higher priority to a message, provided it meets the requirements of low latency, so that, for example, lower latency results in higher priority. However, this common method cannot guarantee that the required latency can be achieved.
[0006] In order to meet latency requirements in conventional applications, bus utilization must be low, which is particularly detrimental for real-time and safety applications, as it results in a waste of communication bus resources.
[0007] Previously, tests, simulations, and pre-prioritization were used to determine whether message latencies could be met. Tests and simulations are time-consuming and must be repeated depending on the use case. This can lead to significant changes or adjustments in system design or development, for example, if a communication bus needs to be adapted accordingly.
[0008] For example, US 10,938,734 B1 discloses a device for avionics full-duplex switched Ethernet (AFDX) communication that can include a send port for transmitting AFDX data and a processor. The processor can be configured to transmit the AFDX data frame over multiple subvirtual connections. Each of the multiple subvirtual connections can be assigned a corresponding data queue by storing AFDX data frames associated with the subvirtual connection in the corresponding data queue. The process can transfer the AFDX data frames from the multiple data queues to the multiple subvirtual connections via the send ports according to a scheduling policy based on prioritization. The prioritization-based scheduling policy can include static priorities.
[0009] Furthermore, US Patent 7,827,338 B2 discloses a method and system for controlling access to data elements on a shared resource. The data elements are each assigned to a plurality of priorities, and when a predetermined number of data elements with a given priority have been transferred to the shared resource, the priorities wait; that is, no further data elements with that priority are transferred until one or more data elements with all lower, non-waiting priorities have been transferred to the shared resource. In this way, guarantees can be obtained for all priorities.
[0010] One object of the present invention is to improve the data transmission of data or messages into a data transmission system, such as a bus system.
[0011] This task is solved by a method, a data transmission system, a computer program, and an electronically readable data carrier according to the independent patent claims. Meaningful further developments arise from the dependent patent claims.
[0012] One aspect of the invention relates to a method for transmitting messages in a data transmission system, comprising: - In particular, providing messages to be transmitted from a computing unit to a sending unit of the data transmission system for transmission to a receiving unit of the data transmission system, and - In particular, assigning a maximum target latency and an expected target latency to each of the provided messages regarding the transmission of a respective message by the computing unit, - In particular, determining a maximum actual latency and an expected actual latency of each message of the provided messages based on the messages provided by the sending unit, - In particular, performing a comparison of the maximum actual latency with the maximum target latency and the expected actual latency with the expected target latency of each message, and - In particular, forming a message packet that can be transmitted to the receiving unit from at least some of the provided messages based on the comparison performed.
[0013] The proposed method can improve and, in particular, increase the transmission of data or messages within a data transmission system, such as a bus system or bus network, thereby increasing the efficiency of the system's utilization.
[0014] The proposed method improves the weaknesses regarding utilization, specifically bus utilization, enabling the data transmission system to be used for critical communications, real-time applications, and security applications. In particular, the proposed method can predict message waiting times and other delays, allowing for effective and accurate message prioritization. Specifically, the proposed method enables latency analysis and evaluation. This is particularly beneficial for the system development and configuration of data transmission systems.This allows for increased utilization of the data transmission system, thereby improving the efficiency of its use, particularly regarding the data transmission system or bus system. Specifically, the requirements for the data bus can be met without any loss of quality during data transmission.
[0015] The proposed method provides an analytical approach for evaluating the end-to-end latency of a message transmitted, for example, via a multi-drop communication system such as a CAN bus. This allows each message to be assigned the correct priority, thereby increasing the throughput of the communication system and ensuring that predefined latencies are met.
[0016] Furthermore, the proposed method can be advantageously used in the system design or planning of a data transmission system. Here, an analytical approach can be used to evaluate latency instead of the usual trial-and-error approach. This allows the optimal number of nodes connected to the bus, the number of messages on the specific bus, the message prioritization, and the number of buses required to be reliably determined before system implementation.
[0017] In particular, the present invention can be advantageous in defining or developing architectures and data definitions for CAN buses. The data transmission system can be any wired or wireless communication system based on a CSMA / CR protocol.
[0018] In particular, the proposed method enables the application of an analytical model for latency evaluation in order to determine signals and their number on the CAN bus, so that, for example, the appropriate number of CAN buses can be defined for network architectures.
[0019] For example, this method can be used to transmit messages or data packets, particularly automatically. Each message to be transmitted within the data transmission system can be assigned a maximum target latency and an expected target latency. Latency can refer to a delay, delay time, or simply latency. The latency defines the time interval by which a result, i.e., the message transmission, is delayed.
[0020] Based on the messages to be transmitted, and especially depending on their type and number, the system can determine a maximum actual latency and an expected actual latency for each message. This allows for verification, particularly through a target / actual latency comparison, of which messages meet the specified conditions or criteria for data transmission latency. Accordingly, a message packet (i.e., a data packet) can be created, prepared, or generated so that messages meeting the latency conditions or criteria are transmitted first. Thus, the system selects the messages to be transmitted based on this comparison.
[0021] For example, the comparison can be used to check whether latency conditions or latency requirements are met.
[0022] In particular, the proposed method may be a computer-implemented method.
[0023] In one embodiment, it is provided that those messages from the supplied messages are used to form the message packet for which, upon comparison, it is determined that the maximum actual latency is less than or equal to the maximum target latency and the expected actual latency is less than or equal to the expected target latency. In other words, those messages that meet the latency requirement or latency condition, which can be verified by the comparison, are added to or assigned to the message packet. Messages whose maximum latency is less than the maximum target latency (i.e., the maximum latency specification) and for which the expected actual latency is less than or equal to the specified expected target latency can be considered for the packet, in particular a transmission packet.Thus, such messages could be transmitted in a message packet, for example in a transmission process, which meet the latency conditions or latency requirements.
[0024] In one embodiment, if the comparison reveals that for several messages the maximum actual latency is greater than the maximum target latency and / or the expected actual latency is greater than the expected target latency, the message with the lowest maximum actual latency is excluded from the message packet. In other words, a message that does not meet or only partially meets the latency requirement or condition is excluded from the message packet and therefore not transmitted. If either of the two latency conditions being compared—the expected latency and the maximum latency—is unmet, that message cannot be considered for packet formation.Furthermore, if it is determined that several messages do not meet at least one of the latency conditions, the message with the lowest maximum actual latency can be excluded, especially for the formation of the message packet.
[0025] This can prevent delays and, in the worst case, collisions during message transmission.
[0026] In one embodiment, the maximum actual latency and the expected actual latency of each message in the message packet are recalculated based on the messages in the packet. This involves comparing the newly determined maximum actual latency with the maximum target latency and the newly determined expected actual latency with the expected target latency of each message in the packet. If it is found that several messages do not fully or partially meet the latency requirements, the message with the lowest maximum actual latency is initially excluded from the message packet. After this, the maximum actual latency and the expected actual latency of the remaining messages to be transmitted are recalculated.Subsequently, the latency conditions can be compared again to create another message packet for a further transmission. Thus, after the creation of a message data packet, a renewed check is performed regarding the latency times and compliance with the latency conditions concerning the expected and maximum latency. This means that, for example, if several messages do not fully meet the latency conditions when the message packet is first created, a subsequent recalculation of the messages, excluding those already transmitted, will ensure that all remaining messages meet the latency conditions.Should a subsequent check reveal that one or more messages again fail to meet the latency requirements during these renewed comparisons, the message packet is reconfigured, excluding the messages with the lowest maximum actual latency, and then the actual latency of the messages still to be transmitted is determined again.
[0027] In one embodiment, it is provided that if, during the subsequent comparison, it is determined that the maximum actual latency is less than or equal to the maximum target latency and the expected actual latency is less than or equal to the expected target latency of a respective message within the message packet, the message packet is transmitted to the receiving unit. This ensures that messages are only transmitted, in the form of message packets, when all necessary latency conditions or requirements are met, namely when comparing the target and actual latencies.
[0028] In one embodiment, if the subsequent comparison reveals that at least one message in the message packet has a maximum actual latency greater than the maximum target latency and / or an expected actual latency greater than the expected target latency, this message is also excluded from the message packet. Following the exclusion of this message, a new process, or a repetition of the check to determine the actual latencies of the remaining messages, can be performed. This continues until all messages in the message packet—that is, the remaining messages—meet all latency conditions or requirements.
[0029] This ensures that data transmission only occurs when all latency conditions or requirements are actually met.
[0030] In one embodiment, the provided messages are prioritized according to their maximum actual latency, with the message exhibiting the lowest maximum actual latency receiving the highest priority. This prioritization based on maximum actual latency allows the messages to be grouped into packets, particularly for comparison purposes, and thus analyzed and prepared accordingly for transmission.
[0031] Another aspect of the invention relates to a data transmission system with - at least one initial transmit-receive unit for transmitting a provided initial data packet within the data transmission system, - comprising at least a second transmit-receive unit for transmitting a provided at least second data packet within the data transmission system, comprising: - a computing unit for classifying data packets based on specific data types, which are assigned to the data transmission system for carrying out transmission operations, whereby at least one data type is assigned to each data packet, - the computing unit, which is trained to assign an individual priority to each data type based on information concerning the transmitting and receiving units and information concerning the data types, - the computing unit which is trained to compare the data packets based on the at least one data type assigned to the data packets and its priority, and - Transmitting the first data packet with the first transmit-receive unit or the second data packet with the second transmit-receive unit based on the compared data packets.
[0032] With the help of the proposed data transmission system, a procedure according to the previous aspect or an advantageous further development thereof can be carried out or performed.
[0033] A data transmission system can, for example, be a system based on a bus topology.
[0034] Another aspect of the invention relates to a computer program which can be directly loaded into a memory of a control unit of a data transmission system according to the preceding aspect or an advantageous further development thereof, with program means to execute the steps of the method according to a preceding aspect or an advantageous further development thereof when the program is executed in the control unit of the data transmission system.
[0035] Another aspect of the invention relates to an electronically readable data carrier with electronically readable control information stored on it, which is designed such that, when the data carrier is used in a control device of a data transmission system according to the preceding aspects or an advantageous further development thereof, it performs a method according to a preceding aspect or an advantageous further development thereof.
[0036] For use cases or application situations that may arise during the method and which are not explicitly described here, it may be provided that, in accordance with the method, an error message and / or a request to enter user feedback is issued and / or a default setting and / or a predetermined initial state is set.
[0037] The invention also includes the control device. The control device can comprise a data processing device or a processor unit configured to carry out an embodiment of the method according to the invention. For this purpose, the processor unit can comprise at least one microprocessor and / or at least one microcontroller and / or at least one FPGA (Field Programmable Gate Array) and / or at least one DSP (Digital Signal Processor). Furthermore, the processor unit can comprise program code configured to carry out the embodiment of the method according to the invention when executed by the processor unit. The program code can be stored in a data memory of the processor unit. The processor unit can, for example, be based on at least one circuit board and / or on at least one SoC (System on Chip).
[0038] The invention also includes further developments of the data transmission system, the computer program, and the data carrier according to the invention, which have features already described in connection with the further developments of the method according to the invention. For this reason, the corresponding further developments of the data transmission system, the computer program, and the data carrier according to the invention are not described again here.
[0039] As a further solution, the invention also includes a computer-readable storage medium comprising program code which, when executed by a computer or a computer network, causes it to execute an embodiment of the method according to the invention. The storage medium can be provided at least partially as a non-volatile data storage medium (e.g., as flash memory and / or as an SSD - solid state drive) and / or at least partially as a volatile data storage medium (e.g., as RAM - random access memory). The storage medium can be located within the computer or computer network. However, the storage medium can also be operated, for example, as an app store server and / or cloud server on the internet. The computer or computer network can provide a processor circuit with, for example, at least one microprocessor.The program code can be provided as binary code and / or as assembly code and / or as source code of a programming language (e.g. C) and / or as a program script (e.g. Python).
[0040] The invention also includes combinations of the features of the described embodiments. The invention therefore also includes realizations that each exhibit a combination of the features of several of the described embodiments, provided that the embodiments have not been described as mutually exclusive.
[0041] Exemplary embodiments of the invention are described below. Shown are: Fig. 1 a schematic representation of a data transmission system, which may be, for example, a CSMA / CR-based bus system; Fig. 2. An exemplary representation of prioritized messages which are transmitted via the data transmission system from the Fig. 1 can be transferred; Fig. 3. A chronological representation of the messages to be transmitted (in the upper timeline) and an ordered sequence of the messages to be transmitted based on prioritization (in the lower timeline); and Fig. 4 a schematic process relating to the transmission of messages in the data transmission system according to the invention Fig. 1.
[0042] The exemplary embodiments described below are preferred embodiments of the invention. In these exemplary embodiments, the described components each represent individual features of the invention, which can be considered independently of one another and each further develops the invention independently. Therefore, the disclosure is intended to include combinations of features of the embodiments other than those shown. Furthermore, the described embodiments can also be supplemented by further features of the invention already described.
[0043] In the figures, the same reference symbols designate elements with the same function.
[0044] In the Fig. Figure 1 schematically depicts a data transmission system. This data transmission system can be a bus topology, such as a CAN bus.
[0045] Data transmission system 1 can transmit messages or data. For this purpose, data transmission system 1 can have transmitting units 2 (senders) and receiving units 3 (receivers). For example, the transmitting units 2 and the receiving units 3 can be referred to as nodes, transmission nodes, and communication nodes, respectively.
[0046] In order to process, prepare, and / or process the relevant messages or data with regard to sending and / or receiving, at least one computing unit 4 may be provided. This computing unit 4 may be a higher-level system relating to the data transmission system 1. As shown schematically in the Fig. As shown in Figure 1, each transmitting and receiving unit 2, 3 can have a corresponding processing unit 4. With the help of the processing unit 4, which can be referred to, for example, as a control unit or electronic module, the messages to be transmitted or sent can be provided accordingly, in particular generated or created.
[0047] For example, the computing unit 4 can be described as the control unit of the data transmission system 1.
[0048] In the Fig. Figure 2 schematically represents a number of multiple messages 5, which can be transmitted, for example, via the data transmission system 1. These messages 5 can have a fixed size.
[0049] Each message 5 can, for example, have a latency or delay τ (compare Fig. 3) exhibit. The latency τ is understood to be the time that elapses between the queue time of the messages 5 in a sending unit 2 and the reception time of the last bit of the correspondingly transmitted message 5 in the receiving unit 3.
[0050] In CSMA / CR-based transmission systems, such as the present data transmission system 1, the residual transmission delay, the arbitration delay, and the transmission delay can be covered or mitigated. The residual transmission delay t r (compare Fig. 3) is a waiting time or time interval until a "transceiver", such as a transmitting unit 2, has no messages 5 to transmit and is therefore waiting for the next messages 5 to be transmitted. For example, all messages 5, such as CAN messages, including the message with the highest priority, can wait until t r The "arbitration delay" has expired before a transmission of messages 5 can take place. a (compare Fig. 3) is the time or time interval until a message 5 has "won" an arbitration process. This has a dominant effect or a significant impact on the latency of the lowest-priority message. The "transmission delay" tt (compare Fig. 3) is the time required to transmit all bits of a message, whether wired or wireless.
[0051] In particular, in the Fig. 2 to see that messages 5 have a higher priority regarding an “arbitration delay” t a Compared to message 7, the priorities of individual messages 5 can decrease, for example, according to the arrow direction or prioritization order 8. Unlike messages 6, messages 9 have no influence on the arbitration delay t. a message 7.
[0052] In the Fig. Figure 3, for example, shows the generation of messages 5, or "frames," over time. A certain degree of disorder is still visible here. Building on this, the transmission sequence of messages 5 to be sent is also shown. The latency of message 7 is depicted as a function of the transmission and arbitration processes of the messages 5.
[0053] Without loss of generality, the transmission delay tt can be calculated as follows: tt=L / C.
[0054] Here, L is the message length or the length of a message, in particular in bits, and C is the bit rate or bus bit rate of data transmission system 1, in particular bits per second.
[0055] For example, it can be assumed that N different priorities can be assigned to N different messages 5, which can be transmitted via the same data transmission system 1 or the same bus. Here, the message with priority i can be defined as the "traffic class" i, where 1 ≤ i ≤ N.
[0056] Such traffic classes can refer to traffic classification, an automated process of classifying and identifying data traffic flow in a computer network based on parameters such as port or protocol. The resulting traffic class can be used in various ways.
[0057] Some bus systems or data transmission systems, such as CAN-FD or CAN-XL, use different transmission processes or "transmission phases". A low bit rate C can be used in this context. I CAN IDs are used to send further control information during an arbitration process. A high bit rate C h can be used for transmission, especially for "payload transmission". For the "transmission delay", such a message with priority i can be determined as follows: tti=LliCl+LhiCh.
[0058] Here, L is Ii and L hi The entire length of control bits and a payload of a message with priority i. This allows messages of any traffic class to wait in the queue for a transmission operation. If messages of such traffic class i are not sent or transmitted before the next or subsequent message of the same message type is received, the old or previous message can be replaced by a new one. This can be assumed, for example, for network systems where the usability of content is defined by its lifespan.
[0059] For example, the message arrival rate of a respective traffic class i can be defined as follows: λi=1Ti.
[0060] Here, Ti is the throughput time or cycle duration of a respective "traffic class" i. For example, a new message of such a class i can be generated every time interval or time Ti, for example every second.
[0061] The latency of a given class i, where 2 ≤ i ≤ N, can be defined by: τi=tri+tai+tti.
[0062] The latency of a message with the highest priority, i.e., traffic class 1, can be defined as follows: τ1=tr1+tt1.
[0063] In contrast to the “transmission delay” t ti can the “residual transmission delay” t r and the “arbitration delay” t a depend on assumptions.
[0064] The following explains how an analytical method for determining a maximum latency (worst-case latency) and an expected latency can be determined and implemented. Queue theory can be used for this purpose. The maximum latency, i.e., the maximum actual latency, of a given message 5 can be determined as the residual transmission. This can be defined as the transmission delay with respect to the longest message in the class as follows: tr=tr1=...=tri=...=trN=max{tt1...,tti,...,ttN}.
[0065] This means, for example, that when a message of a certain class i is generated and is ready for transmission, the transmitting unit 2 or a "transceiver" begins transmitting the longest message.
[0066] The arbitration delay t aiThe waiting time of each traffic class i is part of the waiting time and is a function of the reception rate and message length of all other higher priority classes, i.e., classes 1 to i-1.
[0067] The next assumption is that when 5 messages of class i are generated and ready to be sent, at least one message of a higher-priority class, such as class 1 to i-1, is already waiting to be transmitted. This means, for example, that 5 messages of class i have to wait as long as i-1 sends higher-priority messages 5. Thus, for example, the higher-priority messages 5 are sent first, and in the meantime, the lower-priority messages 5 have to wait. For example, during this waiting time, messages 5 of higher-priority classes can receive messages of higher priority classes and thus extend the waiting time.
[0068] For example, the entire waiting time T WiThe respective message of a class is defined as follows: TWi=tr+∑j=1i−1ttj+TWi∑j=1i−1λjttj→TWitr+∑j=1i−1ttj1−∑j=1i−1λjttj.
[0069] Here, the arbitration delay t can be used. ai during the entire waiting time T Wi This may include the latency or latency time.
[0070] In particular, the maximum latency of a given message of class i can be calculated as follows: τi=TWi+ti=tr+∑j=1i−1ttj1−∑j=1i−1λjttj+tti.
[0071] For example, the expected residual transmission delay (regarding the expected latency) can be calculated using a function of the receive rate and the transmit delay across all N classes. For example, this can be calculated as follows: tr¯=∑i=1Nλjtti2.
[0072] For example, if a message of traffic class i has been created or generated and is available for transmission, the transmitting unit 2 can be idle (inactive) or in a very busy mode. In this state, transmitting unit 2 can send the remaining or missing bits of a message of any traffic class and length.
[0073] For example, the arbitration delay t aiThe expected arbitration delay for any given traffic class i is a function of the reception rate and message length of all higher-priority traffic classes, such as classes 1 to i-1. The expected value of the arbitration delay for any given class i depends on the quantity or number of messages of a given class j, given that 1 ≤ j ≤ i-1, that have already been generated and are ready for transmission. These messages 5 can already be waiting to be sent or transmitted. Therefore, the messages 5 of a given traffic class i can wait until i-1 higher-priority messages 5 have been sent. Specifically, messages 5 of higher-priority traffic classes can be received during the expected waiting time, thus extending the total expected waiting time. Accordingly, the total expected waiting time can Twi¯ a respective message of a traffic class i is determined as follows. TWi¯¯=tr¯+TWi¯¯∑j=1i−1λjttj→TWi¯¯=t¯r1−∑j=1i−1λjttj. TWi¯=TWi¯¯+TWi¯∑j=1i−1λjttj=t¯r1−∑j=1i−1λjttj+TWi¯∑j=1i−1λjttj→TWi¯=t¯r(1−∑j=1i−1λjttj)2.
[0074] The arbitration delay t ai may result in the expected total waiting time Twi¯ already included. Thus, the latency, in particular the expected latency, of a respective message of a respective class i can be determined as follows: τi=TWi+tti=t¯r(1−∑j=1i−1λjttj)2+tti.
[0075] The following examples illustrate how latency times can be determined and priorities assigned to message 5.
[0076] For this purpose, all messages 5 are first sorted based on the maximum latency, i.e. the maximum target latency. Table 1 Predefined parameters Calculated paramters Object of optimization Msg. name max. Latency [ms expected Latency [ms] Cycle time [ms] Msg. Size [bits] Packet rate, λ worst case latency [ms] expected lateny [ms] Priority Msq. 9 0,3 no requirements 100 16 10 0,268 0,170938068 1 Msg.8 0,4 no requirements 30 10 33,333333 0,399359602 0,168037262 2 Msq.18 0,5 no requirements 40 16 25 0,535290028 0,171363291 3 Msq.3 1 no requirements 20 8 50 0,667871321 0,16761634 4 Msg.6 1 no requirements 20 8 50 0,803477058 0,16811472 5 Msq.12 1 no requirements 30 8 33,333333 0,94088543 0,168623071 6 Msq.14 1 no requirements 20 10 50 1,0790182 0,169967642 7 Msq.4 1,5 no requirements 15 16 66,666667 1,22390135 0,173497294 8 Msq.20 1,6 no requirements 15 8 66,666667 1,369919565 0,170237253 9 Msq.15 1,7 no requirements 15 8 66,666667 1,518157479 0,170975177 10 Msq.1 2 no requirements 10 8 100 1,669126553 0,171733587 11 Msq.16 2 no requirements 10 16 100 1,834809807 0,176911301 12 Msq.19 2 no requirements 10 7 100 2,001779617 0,173678206 13 Msq.7 3 no requirements 10 16 100 2,176835099 0,179456639 14 Msq.11 4 no requirements 15 16 66,666667 2,358553607 0,180838811 15 Msq.2 5 0,2 5 16 200 2,533585945 0,18179558 16 Msq.5 5 0,2 5 15 200 2,765758216 0,184348601 17 Msq.10 5 0,2 5 8 200 3,009083344 0,184190641 18 Msq.13 5 0,2 5 16 200 3,269278448 0,191772046 19 Msq.17 5 0,2 5 5 200 3,545898843 0,190348435 20 Msq.21 5 0,2 5 16 200 3,840950784 0,200176696 21
[0077] Table 1 shows the messages 5, which are sorted based on the maximum target latency ("max. Latency"), whereby messages Msg. 18, Msg. 14, Msg. 19 and Msg. 21 cannot be considered for transmission.
[0078] In a subsequent process, all messages 5 of a respective traffic class i that do not meet the requirements regarding the maximum target latency or the expected target latency can be selected or marked. Here, the specified or predefined target latencies can be compared with the calculated or determined actual latencies of the respective messages 5.
[0079] To increase the data transmission of the data transmission system 1 and thus the throughput of the messages 5 to be transmitted, a receive rate λ can be used. i Regarding messages 5 with message length L hiThe message lengths of the marked messages Msg. 18, Msg. 14, Msg. 19, and Msg. 21 are used for this calculation. Furthermore, a reception rate λ can be applied. i-1 with message length L h-1 messages with priority i-1 that meet the latency conditions are multiplied.
[0080] For example, this could happen if λi×Lhi≤λi−1×Lhi−1. If the message has priority i, it will be removed. If this condition is not met, then all messages with priority i+1 can be removed.
[0081] In the example shown in Table 1, message 18 is first removed and, for example, assigned to another bus system. As can be seen in the table to the right of Table 1, the "calculated parameter" of message 18 is greater than the predefined maximum latency. Subsequently, the maximum actual latency and the expected actual latency of each message 5, especially those messages other than message 18, are recalculated, and the latency is checked again. If at least one message 5 again fails to meet the latency requirements, or only partially meets them, it can be excluded again, and another check is performed. If all the messages 5 now meet the latency requirements, transmission of these messages 5 can begin. This case is shown, for example, in Table 2. Table 2 Predefined parameters Calculated paramters Object of optimization Msg. name max. Latency [ms expected Latency [ms] Cycle time [ms] Msg. Size [bits] Packet rate, λ worst case latency [ms] expected lateny [ms] Priority Msq. 9 0,3 no requirements 100 16 10 0,268 0,170938068 1 Msg.8 0,4 no requirements 30 10 33,333333 0,399359602 0,168037262 2 Msq.3 1 no requirements 20 8 50 0,535290028 0,171363291 4 Msq.6 1 no requirements 20 8 50 0,667871321 0,16761634 5 Msq.12 1 no requirements 30 8 33,333333 0,803477058 0,16811472 6 Msq.14 1 no requirements 20 10 50 0,94088543 0,168623071 7 Msq.4 1,5 no requirements 15 16 66,666667 1,0790182 0,169967642 8 Msq.20 1,6 no requirements 15 8 66,666667 1,22390135 0,173497294 9 Msq.15 1,7 no requirements 15 8 66,666667 1,369919565 0,170237253 10 Msq.1 2 no requirements 10 8 100 1,518157479 0,170975177 11 Msq.16 2 no requirements 10 16 100 1,669126553 0,171733587 12 Msq.19 2 no requirements 10 7 100 1,834809807 0,176911301 13 Msq.7 3 no requirements 10 16 100 2,001779617 0,173678206 14 Msq.11 4 no requirements 15 16 66,666667 2,176835009 0,179456639 15 Msq.2 5 0,2 5 16 200 2,358553607 0,180838811 16 Msq.5 5 0,2 5 15 200 2,533585945 0,18179558 17 Msq.10 5 0,2 5 8 200 2,765758216 0,184348601 18 Msq.13 5 0,2 5 16 200 3,009083344 0,184190641 19 Msq.17 5 0,2 5 5 200 3,269278448 0,191772046 20 Msq.21 5 0,2 5 16 200 3,545898843 0,190348435 21
[0082] In Table 2, messages 5 are again sorted according to the process in Table 1, taking into account the newly calculated maximum target latency. After message 18 concerning Table 1 was removed, the remaining messages now meet the latency requirements.
[0083] In the following Fig. Section 4 describes an exemplary embodiment of the method according to the invention.
[0084] In an exemplary first step S1, the messages 5 to be transmitted can be provided or generated by the processing unit 4, for example, to the sending unit 2 for transmission to the receiving unit 3. In an optional second step S2, a maximum target latency and an expected target latency can be assigned to each message 5. In a subsequent optional third step S3, a maximum actual latency and an expected actual latency for each message 5 can be determined based on the provided messages 5 and, for example, other parameters. In a subsequent optional fourth step S4, the determined actual latencies can be compared with the target latencies of each message 5.In an optional subsequent fifth step S5, such messages can be combined into a message packet with respect to the compared messages 5, in which the maximum actual latency is less than or equal to the maximum target latency and the expected actual latency is less than or equal to the expected target latency. This can be understood as fulfilling the latency requirement or latency condition. If all messages 5 meet the latency condition, then in an optional sixth step S6, the messages added to or assigned to the message packet can be transmitted or sent within the data transmission system 1.
[0085] If, during the latency comparison, it is determined that for several messages 5 the maximum actual latency is greater than the maximum target latency and / or the expected actual latency is greater than the expected target latency, then, in an optional seventh step S7 following the fourth step S4, the message 5 with the lowest maximum actual latency can be excluded from the message packet formation, as explained in Tables 1 and 2. In an optional eighth step S8 following the optional step S7, i.e., after a message has been excluded from the message packet formation, the respective maximum actual latency and the expected actual latency of the remaining messages 5 can be recalculated based on the remaining messages of the message packet 10, as shown in Table 2.Subsequently, the newly determined latencies can be compared again with the target latencies. If this comparison reveals that the latency conditions are now met—that is, that the actual latency is less than or equal to the target latency—then this message packet 10 can be transmitted to the receiving unit 3. The process then returns to step S6.
[0086] However, if the comparison described above reveals that at least one message in the current message packet has a maximum actual latency greater than the maximum target latency and / or an expected actual latency greater than the expected target latency, this message will again be excluded from the creation of message packet 10. The process then repeats until the latency conditions or requirements are met again, at which point the process returns to step S2. QUOTES CONTAINED 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] US 10,938,734 B1
[0008] US 7,827,338 B2
[0009]
Claims
[1] Method for transmitting messages (5) in a data transmission system (1), comprising: - Providing messages (5) to be transmitted from a computing unit (4) to a transmitting unit (2) of the data transmission system (1) for transmission to a receiving unit (3) of the data transmission system (1), and - Assigning a maximum target latency and an expected target latency to a respective message of the provided messages (5) relating to a transmission of a respective message by the computing unit (4), characterized by - Determining a maximum actual latency and an expected actual latency of a respective message of the provided messages (5) on the basis of the provided messages (5) by the transmitting unit (2), - Performing a comparison of the maximum actual latency with the maximum target latency and the expected actual latency with the expected target latency of a respective message, and - Forming a message packet (10), which can be transmitted to the receiving unit (3), from at least some of the provided messages (5) on the basis of the comparison carried out. [2] Method according to claim 1, characterized by that such messages of the provided messages (5) are used to form the message packet (10) for which it is determined during the comparison that the maximum actual latency is less than or equal to the maximum target latency and the expected actual latency is less than or equal to the expected target latency. [3] Method according to claim 1 or 2, characterized bythat if it is determined during the comparison that for a plurality of messages (5) the maximum actual latency is greater than the maximum target latency and / or the expected actual latency is greater than the expected target latency, the message of the plurality of messages (5) which has the lowest maximum actual latency is not taken into account for forming the message packet (10). [4] Method according to claim 3, characterized by that the maximum actual latency and the expected actual latency of a respective message (5) of the message packet (10) are redetermined on the basis of the messages (5) of the message packet (10), wherein a renewed comparison of the newly determined maximum actual latency with the maximum target latency and the newly determined expected actual latency with the expected target latency of a respective message of the message packet (10) is carried out. [5] Method according to claim 4 characterized bythat if it is determined during the renewed comparison that the maximum actual latency is less than or equal to the maximum target latency and the expected actual latency is less than or equal to the expected target latency of a respective message of the message packet (10), the message packet is transmitted to the receiving unit (3). [6] Method according to claim 4, characterized by that if it is determined during the renewed comparison that for at least one message of the message packet (10) the maximum actual latency is greater than the maximum target latency and / or the expected actual latency is greater than the expected target latency, this message is also not taken into account for forming the message packet (10). [7] Method according to one of the preceding claims, characterized bythat the provided messages (5) are prioritized depending on their maximum actual latency times, whereby the message having the lowest maximum actual latency time is given the highest priority. [8] Data transmission system (1) with - at least one computing unit (4) for providing messages (5) to be transmitted from a computing unit (4) to a transmitting unit (2) of the data transmission system (1) for transmission to a receiving unit (3) of the data transmission system (1), and wherein - the computing unit (4) is designed to assign a maximum target latency time and an expected target latency time relating to a transmission of a respective message to a respective message of the provided messages (5), characterized by , that - the transmitting unit (2) is designed to determine a maximum actual latency and an expected actual latency of a respective message of the provided messages (5) on the basis of the provided messages (5), - the transmitting unit (2) is designed to compare the maximum actual latency with the maximum target latency and the expected actual latency with the expected target latency of a respective message, and - the transmitting unit (2) is designed to form a message packet (10), which can be transmitted to the receiving unit (3), from at least some of the provided messages (5) on the basis of the comparison carried out. [9] Computer program which can be loaded directly into a memory of a control device of a data transmission system (1) according to claim 8, with program means for carrying out the steps of the method according to one of claims 1 to 7 when the program is executed in the control device of the data transmission system (1). [10] Electronically readable data carrier with electronically readable control information stored thereon, which is designed such that it carries out a method according to one of claims 1 to 7 when the data carrier is used in a control device of a data transmission system (1) according to claim 8.
Citation Information
Patent Citations
Scheduling mechanisms for end system SUBVLs
US10938734B1
Method of and a system for controlling access to a shared resource
US7827338B2