Method and apparatus for coordinating the transmission timing of V2X messages

By coordinating the sending timing of V2X messages, using the application layer module to obtain the ideal time point and processing time period of the underlying module, the problem of message sending delay in the V2X system is solved, stable and efficient message transmission is achieved, and the security of Internet of Vehicles applications is ensured. sex.

CN114928820BActive Publication Date: 2024-12-17DENSO CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110731782.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-30
Publication Date
2024-12-17
Estimated Expiration
2041-06-30

AI Technical Summary

Technical Problem

In the V2X system, the application layer module does not understand the resource reservation situation of the underlying module, resulting in the V2X message sending delay fluctuations and is unable to meet the requirements of low latency/high frequency, affecting the normal operation of security applications.

Method used

The application layer module obtains the ideal time point for the underlying module to send V2X messages to the outside, and determines the waiting period based on the ideal time point and the processing time period, coordinates the message sending timing, and enables the application layer module to transmit messages to the underlying module at the ideal time point, ensuring that Stable sending of V2X messages.

Benefits of technology

It stabilizes the actual sending interval of V2X messages, improves the reliability and real-time of messages, meets the low latency/high frequency requirements of V2X standards, and ensures the normal operation of security applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114928820B_ABST
    Figure CN114928820B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for coordinating the sending timing of vehicle-to-everything (V2X) messages, comprising: obtaining, by an application layer module of a V2X device, an ideal time point at which a bottom module of the V2X device sends a V2X message externally, wherein the application layer module is used to manage V2X application scenarios, and the bottom module is used to manage V2X radio frequency functions; determining a processing period required for the V2X device to process the V2X message; determining a waiting period based on the ideal time point and the processing period; transmitting, by the application layer module, a message sending request to the bottom module after the waiting period has elapsed since the ideal time point is obtained; and sending the V2X message externally at the ideal time point by the bottom module after receiving the message sending request.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to communication in a vehicle-to-everything (V2X) network, and in particular to a method and device for coordinating the sending timing of a V2X message. Background Art

[0002] In V2X systems (e.g., cellular vehicle-to-everything (CV2X) systems), there is a class of applications that broadcast periodic service data. For example, BSM (Basic Safety Message), MAP (map), SPAT (Signal Phase and Timing) messages, etc. are all broadcast periodically. These messages are collectively referred to as "V2X messages" in this article. For example, in the absence of an emergency trigger, the vehicle's regular BSM data will be broadcast at a fixed frequency (e.g., 10Hz). However, due to limited channel resources, in order to optimize channel resource allocation, the CV2X system takes into account the factors of V2X periodic service data in its design and provides a semi-static scheduling (SPS) communication method. In this communication method, the CV2X system will reserve channel resources in the network based on the broadcast period of service data. However, in actual application, SPS-related operations are completed in the underlying module (module that manages V2X radio frequency functions), while V2X service processing is completed in the application layer module (module that manages V2X application scenarios). When the application layer module requests the underlying module to send BSM service data, the underlying module does not immediately respond to the data sending request of the application layer module (for example, it needs to wait for the reserved resources to take effect). Since the application layer module does not know the resource reservation status of the underlying module, if the application layer module sends the service request at a rigid fixed frequency (for example, 10Hz), the underlying module may receive the message sending request too early or miss the reserved resources and delay the sending of data. For example, when the unit responsible for BSM packaging in the application layer module is blocked, or the timer accuracy is insufficient, or the underlying transmission is blocked or delayed, it is easy to miss the reserved channel resources, causing the actual BSM sending delay to fluctuate, which cannot meet the low latency / high frequency requirements of the CV2X standard, thereby affecting the normal operation of CV2X security applications.

[0003] In view of the above problems in the prior art, it is desired to provide a method and device for coordinating the timing of sending V2X messages. Summary of the invention

[0004] A brief summary of one or more aspects is given below to provide a basic understanding of these aspects. This summary is not an exhaustive overview of all conceived aspects, and is neither intended to identify the key or critical elements of all aspects nor to define the scope of any or all aspects. Its only purpose is to give some concepts of one or more aspects in a simplified form as a prelude to a more detailed description that will be given later.

[0005] The present invention provides a method for coordinating the sending timing of a vehicle-to-everything (V2X) message, comprising: obtaining, by an application layer module of a V2X device, an ideal time point at which a bottom module of the V2X device sends a V2X message externally, wherein the application layer module is used to manage V2X application scenarios, and the bottom module is used to manage V2X radio frequency functions; determining a processing period required for the V2X device to process the V2X message; determining a waiting period based on the ideal time point and the processing period; transmitting, by the application layer module, a message sending request to the bottom module after the waiting period has elapsed since the ideal time point is obtained; and sending, by the bottom module, the V2X message externally at the ideal time point after receiving the message sending request.

[0006] In some embodiments, the application layer module transmitting the message sending request to the underlying module further includes: the application layer module starts preparing the V2X message and transmits the prepared V2X message together with the message sending request to the underlying module.

[0007] In some embodiments, the ideal time point occurs according to the expected period of the application layer module, and the application layer module obtains the ideal time point further including: when the ideal time point deviates from the expected period, the underlying module informs the application layer module of the first ideal time point after the deviation, and each ideal time point after the first ideal time point is calculated and obtained by the application layer module until the ideal time point deviates from the expected period again or the expected period changes.

[0008] In some embodiments, the ideal time point occurs according to the expected period of the application layer module, and the application layer module obtains the ideal time point further including: when the expected period changes, the underlying module informs the application layer module of the first ideal time point after the expected period changes, and each ideal time point after the first ideal time point is calculated and obtained by the application layer module until the expected period changes again or the ideal time point deviates from the expected period.

[0009] In some embodiments, the waiting period is determined based on the following formula: M1=(T1-T0)-M2, where when M2<T1-T0, M1=(T1-T0)-M2; when M2≥T1-T0, M1=0, where M1 represents the waiting period, T1 represents the ideal time point, T0 represents the time point when the application layer module obtains T1, and M2 represents the processing period.

[0010] In some embodiments, the processing period M2 is set to a fixed value.

[0011] In some embodiments, the processing period M2 is set to a dynamic value, and determining the processing period M2 further comprises: dynamically determining the processing period M2 based on the busyness P1 of the application layer module and the busyness P2 of the underlying module.

[0012] In some embodiments, the busyness P1 varies with the load CPU1 of the application layer module, the busyness P2 varies with the load CPU2 of the underlying module, and the processing period M2 is determined based on the following formula: M2 = (P1(CPU1)+P2(CPU2)+M3), where M3 represents the sum of other consumed time except the busyness P1 of the application layer module and the busyness P2 of the underlying module.

[0013] In some embodiments, determining the processing period M2 further comprises: dynamically determining the processing period M2 based on the busyness of the multiple sub-modules of the application layer module and the busyness of the multiple sub-modules of the bottom layer module.

[0014] In some embodiments, the processing period M2 is determined based on the following formula: M2 = (P11(CPU11)+P12(CPU12)+…+P1N(CPU1N)+P21(CPU21)+P22(CPU22)+…+P2L(CPU2L)+M4), wherein CPU11, CPU12…CPU1N represent the load of the corresponding sub-modules of the application layer module, CPU21, CPU22…CPU2L represent the load of the corresponding sub-modules of the underlying module, P11, P12…P1N represent the busyness that varies with the load of the corresponding sub-modules of the application layer module, P21, P22…P2L represent the busyness that varies with the load of the corresponding sub-modules of the underlying module, and M4 represents the sum of other consumed time except the busyness of multiple sub-modules of the application layer module and the busyness of multiple sub-modules of the underlying module, wherein N and L are integers greater than or equal to 2.

[0015] The present invention also provides an apparatus for coordinating the timing of sending vehicle-to-everything (V2X) messages, comprising: a memory; and a processor coupled to the memory, the processor being configured to: enable an application layer module of a V2X device to obtain an ideal time point for a bottom layer module of the V2X device to send a V2X message to the outside, wherein the application layer module is used to manage V2X application scenarios, and the bottom layer module is used to manage V2X radio frequency functions; determine a processing period required for the V2X device to process the V2X message; determine a waiting period based on the ideal time point and the processing period; enable the application layer module to transmit a message sending request to the bottom layer module after a waiting period has passed since the ideal time point is obtained; and enable the bottom layer module to send the V2X message to the outside at the ideal time point after receiving the message sending request.

[0016] In some embodiments, the processor is further configured to enable the application layer module to transmit a message sending request to the underlying module by the following operations: enabling the application layer module to start preparing a V2X message and transmitting the prepared V2X message together with the message sending request to the underlying module.

[0017] In some embodiments, the ideal time point occurs according to the expected period of the application layer module, and the processor is further configured to enable the application layer module to obtain the ideal time point through the following operations: when the ideal time point deviates from the expected period, the underlying module informs the application layer module of the first ideal time point after the deviation, and each ideal time point after the first ideal time point is calculated and obtained by the application layer module until the ideal time point deviates from the expected period again or the expected period changes.

[0018] In some embodiments, the ideal time point occurs according to the expected period of the application layer module, and the processor is further configured to enable the application layer module to obtain the ideal time point through the following operations: when the expected period changes, the underlying module informs the application layer module of the first ideal time point after the expected period changes, and each ideal time point after the first ideal time point is calculated and obtained by the application layer module until the expected period changes again or the ideal time point deviates from the expected period.

[0019] In some embodiments, the processor is also configured to determine the waiting period based on the following formula: M1=(T1-T0)-M2, where when M2<T1-T0, M1=(T1-T0)-M2; when M2≥T1-T0, M1=0, where M1 represents the waiting period, T1 represents the ideal time point, T0 represents the time point when the application layer module obtains T1, and M2 represents the processing period.

[0020] In some embodiments, the processing period M2 is set to a fixed value.

[0021] In some embodiments, the processing period M2 is set to a dynamic value, and the processor is further configured to dynamically determine the processing period M2 based on the busyness P1 of the application layer module and the busyness P2 of the underlying module.

[0022] In some embodiments, the busyness P1 varies with the load CPU1 of the application layer module, the busyness P2 varies with the load CPU2 of the underlying module, and the processor is also configured to determine the processing period M2 based on the following formula: M2 = (P1(CPU1)+P2(CPU2)+M3), where M3 represents the sum of other consumed time except the busyness P1 of the application layer module and the busyness P2 of the underlying module.

[0023] In some embodiments, the processor is further configured to dynamically determine the processing period M2 based on the busyness of the multiple sub-modules of the application layer module and the busyness of the multiple sub-modules of the underlying layer module.

[0024] In some embodiments, the processor is also configured to determine the processing period M2 based on the following formula: M2 = (P11(CPU11)+P12(CPU12)+…+P1N(CPU1N)+P21(CPU21)+P22(CPU22)+…+P2L(CPU2L)+M4), wherein CPU11, CPU12…CPU1N represent the load of the corresponding sub-modules of the application layer module, CPU21, CPU22…CPU2L represent the load of the corresponding sub-modules of the underlying module, P11, P12…P1N represent the busyness that varies with the load of the corresponding sub-module of the application layer module, P21, P22…P2L represent the busyness that varies with the load of the corresponding sub-module of the underlying module, and M4 represents the sum of other consumed time except the busyness of multiple sub-modules of the application layer module and the busyness of multiple sub-modules of the underlying module, wherein N and L are integers greater than or equal to 2.

[0025] The present invention also provides a computer-readable storage medium storing a computer program for coordinating the timing of sending a vehicle-to-everything (V2X) message. The computer program can be executed by a processor to perform the aforementioned method for coordinating the timing of sending a V2X message. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] The features, nature and advantages of the present invention will become more apparent when the detailed description set forth below is understood in conjunction with the accompanying drawings. In the accompanying drawings, the same reference numerals are always used for corresponding identification. It should be noted that the drawings described are only schematic and not restrictive. In the accompanying drawings, the sizes of some components may be exaggerated and are not drawn to scale for illustrative purposes.

[0027] Figure 1 An exemplary flow chart of a method for coordinating a transmission timing of a V2X message according to the present invention is shown.

[0028] Figure 2 An exemplary scenario of using the method for coordinating the transmission timing of a V2X message of the present invention is shown.

[0029] Figure 3 Another exemplary scenario of using the method for coordinating the transmission timing of a V2X message of the present invention is shown.

[0030] Figure 4 A schematic diagram of the system structure for coordinating the sending timing of V2X messages according to the present invention is shown.

[0031] Figure 5A device block diagram of a system for coordinating transmission timing of V2X messages according to the present invention is shown. DETAILED DESCRIPTION

[0032] In order to make the purpose, technical scheme and advantages of the present invention clearer, the present invention is further described in detail below in conjunction with specific embodiments and with reference to the accompanying drawings. In the following detailed description, many specific details are set forth to provide a thorough understanding of the described exemplary embodiments. However, it is obvious to those skilled in the art that the described embodiments can be practiced without some or all of these specific details. In other exemplary embodiments, well-known structures are not described in detail to avoid unnecessarily obscuring the concepts of the present disclosure. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. At the same time, in the absence of conflict, the various aspects described in the embodiments can be combined arbitrarily.

[0033] In the existing V2X system, the application layer module sends V2X message sending requests to the underlying module at a rigid fixed frequency. Since the application layer module does not know the resource reservation of the underlying module, the underlying module may receive the message sending request too early or miss the reserved resources and delay the sending of V2X messages, causing the sending delay of V2X messages to fluctuate, which cannot meet the low latency / high frequency requirements of the V2X standard, and thus affect the normal operation of V2X safety applications.

[0034] The present invention provides a method and device for coordinating the sending timing of V2X messages. The sending timing of V2X messages is coordinated by an application layer module and a bottom layer module, so that the actual sending interval of V2X messages remains stable, thereby solving the problem in the prior art that the sending delay of V2X messages fluctuates and cannot meet the low delay / high frequency requirements of the V2X standard.

[0035] Figure 1 An exemplary flow chart of a method 100 for coordinating a transmission timing of a V2X message according to the present invention is shown.

[0036] The method 100 starts at step 105. At step 105, the application layer module of the V2X device obtains an ideal time point for the bottom layer module of the V2X device to send a V2X message externally.

[0037] In this document, the application layer module refers to a module in a V2X device for managing V2X application scenarios (e.g., software for managing V2X application scenarios), and the underlying module refers to a module in a V2X device for managing V2X radio frequency functions (e.g., software and / or hardware for managing V2X radio frequency functions). In some embodiments, the ideal time point may refer to a specific time at which the underlying module sends a message reserved via SPS.

[0038] In different implementations, the application layer module can obtain the ideal time point in different ways. In some implementations, the application layer module can actively request the underlying module to inform the ideal time point. In some implementations, the underlying module can actively inform the application layer module of the next ideal time point reserved by the underlying module after each reserved ideal time point has passed. In some implementations, the ideal time point appears according to the expected period of the application layer module, and the underlying module can actively inform the application layer module of the first ideal time point after the deviation reserved by the underlying module when the reserved ideal time point deviates from the expected period (for example, due to changes in the V2X network, the next ideal time point reserved is no longer advanced according to the previous period), and each ideal time point after the first ideal time point is calculated and obtained by the application layer module until the ideal time point deviates from the expected period again or the expected period of the application layer module changes. In some implementations, the ideal time point occurs according to the expected period of the application layer module, and when the expected period of the application layer module changes, the underlying module actively informs the application layer module of the first ideal time point reserved after the expected period changes, and each ideal time point after the first ideal time point is calculated and obtained by the application layer module until the expected period of the application layer module changes again or the ideal time point deviates from the expected period.

[0039] For example, assuming that the application layer module needs to broadcast V2X messages at a fixed period of 100 milliseconds (ms), the expected period of the application layer module is 100ms. The application layer module informs the underlying module of the expected period of 100ms, and the underlying module makes resource reservations accordingly. Based on the resource reservation situation, the underlying module informs the application layer module of the ideal time point TS0 for sending V2X messages to the outside in the first 100ms reserved by the underlying module. After the application layer module obtains TS0, the V2X device continues to execute steps 110-125, and the application layer module calculates the subsequent ideal time point T(K)=K*100ms+TS0, where K represents the cumulative count of V2X message transmission since TS0. That is, each ideal time point after TS0 appears in a period of 100ms. After the application layer module obtains each ideal time point through calculation, the V2X device continues to execute steps 110-125.

[0040] After several rounds of V2X message transmission, due to changes in the V2X network, the bottom layer module finds that the reserved ideal time point does not advance according to the expected period of 100ms of the application layer module, that is, the ideal time point deviates from the expected period, then the bottom layer module informs the application layer module of the first ideal time point TS1 after the deviation, that is, the first ideal time point reserved by the bottom layer module after the V2X network changes. After the application layer module obtains TS1, the V2X device continues to execute steps 110-125, and the application layer module calculates the subsequent ideal time point T(J)=J*100ms+TS1, where J represents the cumulative count of V2X message transmission since TS1. Each ideal time point after TS1 continues to appear in a period of 100ms. After the application layer module obtains each ideal time point through calculation, the V2X device continues to execute steps 110-125.

[0041] In some implementations, the expected period for the application layer module to broadcast V2X messages may be a fixed value (e.g., 100ms). In other implementations, the expected period may change (e.g., from 100ms to 200ms). In the case where the expected period changes, the application layer module informs the underlying module of the changed expected period (e.g., 200ms), and the underlying module re-books resources accordingly and informs the application layer module of the reserved new ideal time point TS0'. After the application layer module obtains TS0', the V2X device continues to execute steps 110-125, and the application layer module calculates the subsequent ideal time point T(H) = H*200ms+TS0' based on TS0' and the changed expected period 200ms, where H represents the cumulative count of V2X message transmissions since TS0'. The ideal time point after TS0' continues to appear with a period of 200ms until the expected period of the application layer module changes again or the underlying module finds that the reserved ideal time point deviates from the expected period. After the application layer module obtains each ideal time point through calculation, the V2X device continues to execute steps 110 to 125.

[0042] In step 110, the processing period required for the V2X device to process the V2X message is determined. Specifically, the processing period represents the time period required for the V2X device to process the V2X message so that the V2X message is ready for external transmission. For example, the processing period covers the time period required for the application layer module to prepare the V2X message, the time period required for the operating system of the V2X device to schedule, the time period required for the message transmission request to be transmitted from the application layer module to the underlying module, and the time period required for the underlying module to process the message transmission request internally. In order to successfully send the V2X message, the processing period should be greater than or equal to the sum of the above time periods to provide a certain redundancy.

[0043] At step 115, a waiting period is determined based on the ideal time point and the processing period.

[0044] Specifically, the waiting period can be determined based on the following formula: M1=(T1-T0)-M2, where when M2<T1-T0, M1=(T1-T0)-M2; when M2≥T1-T0, M1=0, where M1 represents the waiting period, T1 represents the ideal time point, T0 represents the time point when the application layer module obtains the ideal time point T1, and M2 represents the processing period.

[0045] In some implementations, the processing period M2 may be set to a fixed value. For example, M2 may be set to 30 ms based on actual experience. This M2 value can cover the time period required for all consumption in 99.9% of cases.

[0046] In some implementations, the processing period M2 may be set to a dynamic value and may be dynamically determined based on the busyness of the application layer module and the underlying module.

[0047] In further implementations, the processing period M2 may be set to a dynamic value and may be dynamically determined based on the busyness of the multiple sub-modules of the application layer module and the busyness of the multiple sub-modules of the underlying module.

[0048] For a specific calculation example of the processing period M2 and the waiting period M1, please refer to the following reference Figure 2 and Figure 3 Description.

[0049] In step 120, the application layer module transmits a message sending request to the bottom layer module after a waiting period has passed since the ideal time point is obtained. Specifically, the application layer module can set a timer, and the timer is set to expire after the waiting period. When the timer expires, the application layer module is triggered to transmit a message sending request to the bottom layer module. In the case where it is determined in step 115 that the waiting period M1=0, the application layer module immediately transmits a message request to the bottom layer module without setting a timer.

[0050] In a preferred embodiment, the V2X message can be collected by the application layer module. For example, the application layer module can collect data such as the position of the vehicle, the speed of the vehicle, the yaw angle of the vehicle, etc. from the GPS system, the car CAN, etc. and store them in the application layer module. In such embodiments, the application layer module can start preparing the V2X message after the waiting period (for example, packaging the data required for the V2X message) and transmit the prepared V2X message together with the message sending request to the underlying module. In other embodiments, the V2X message can also be collected by other modules (for example, a collection unit outside the application layer module) and sent to the underlying module.

[0051] In step 125, the underlying module sends the V2X message to the outside at the ideal time point after receiving the message sending request. Specifically, after receiving the message sending request, the underlying module processes the message sending request and prepares for the message sending before the ideal time point, and then sends the V2X message to the outside at the ideal time point (for example, to other vehicles, roadside units, etc.).

[0052] In method 100, through the coordination between the application layer module and the underlying module, the application layer module can transmit a message sending request to the underlying module at an appropriate time, which can reduce the time delay caused by the asynchronous transmission between the application layer module and the underlying module in the V2X device, stabilize the actual sending interval of the V2X message, improve the reliability and real-time performance of the V2X message, ensure the normal operation of safety applications, and thus improve the vehicle safety performance.

[0053] In order to better understand the method for coordinating the sending timing of V2X messages of the present invention, the following is combined with Figure 2 and Figure 3 An exemplary scenario for using the method of the present invention is shown.

[0054] Figure 2 An exemplary scenario 200 using the method for coordinating the transmission timing of V2X messages of the present invention is shown.

[0055] In scenario 200, it is assumed that the application layer module needs to broadcast V2X messages at a fixed period of 100ms. In this scenario, the application layer module and the underlying module can coordinate the timing of sending V2X messages through the following steps:

[0056] (1) Each module in the V2X device is initialized. The application layer module informs the underlying module of the 100ms cycle, and the underlying module makes V2X resource reservations accordingly.

[0057] (2) Time synchronization between the application layer module and the underlying module. Specifically, the application layer module and the underlying module can be time synchronized by software or hardware. For example, the time synchronization module can receive GNSS signals and transmit time synchronization information to the application layer module and the underlying module to ensure that the two are time synchronized (for example, the error is <1ms).

[0058] (3) The application layer module obtains the ideal time point for the underlying module to send V2X messages to the outside world ( Figure 2 For example, the bottom layer module may inform the application layer module of the V2X message sending time of the 100ms period reserved by the bottom layer module according to the V2X resource reservation situation.

[0059] (4) The application layer module transmits a message sending request to the bottom layer module after a waiting period has passed since the ideal time point was received. The waiting period is calculated as follows:

[0060] M1=(T1-T0)-M2

[0061] When M2<T1-T0, M1=(T1-T0)-M2;

[0062] When M2≥T1-T0, M1=0,

[0063] Wherein, M1 represents the waiting period, T1 represents the ideal time point, T0 represents the time point when the application layer module receives the ideal time point T1 from the bottom layer module, and M2 represents the processing period required for the V2X device to process the V2X message.

[0064] like Figure 2 As shown in , T1-T0=80ms. M2 is set to a fixed value of 30ms.

[0065] Thus we obtain M1=80ms–30ms=50ms.

[0066] Therefore, in scenario 200 , the application layer module transmits a message sending request to the bottom layer module after 50 ms have passed since T0 .

[0067] In the case where the V2X message is collected by the application layer module, the application layer module can also start preparing the V2X message after the waiting period M1 (packaging the data required for the V2X message, for example, packaging the collected data such as the position of the vehicle, the speed of the vehicle, the yaw angle of the vehicle into a BSM data packet) and transmit the prepared V2X message together with the message sending request to the underlying module.

[0068] (5) The bottom layer module receives the message sending request from the application layer module and prepares to send the message before the ideal time point arrives. Figure 2 In the example, the bottom layer module receives the message sending request after 5ms and is ready to send the message within 25ms. Figure 2 As shown, the 25ms time period is greater than the time period required for the underlying module to process the message sending request ( Figure 2 ) to provide some redundancy.

[0069] (6) At the ideal time point T1, the underlying module broadcasts the V2X message on time (for example, broadcasts to other vehicles, roadside units, etc. within the V2X system).

[0070] Figure 3 Another exemplary scenario 300 using the method for coordinating transmission timing of V2X messages of the present invention is shown.

[0071] In scenario 300, it is assumed that the application layer module needs to broadcast V2X messages at a fixed period of 100ms. In this scenario, the application layer module and the underlying module can coordinate the timing of sending V2X messages through the following steps:

[0072] (1) Each module in the V2X device is initialized. The application layer module informs the underlying module of the 100ms cycle, and the underlying module makes V2X resource reservations accordingly.

[0073] (2) Time synchronization between the application layer module and the underlying module. Specifically, the application layer module and the underlying module can be time synchronized by software or hardware. For example, the time synchronization module can receive GNSS signals and transmit time synchronization information to the application layer module and the underlying module to ensure that the two are time synchronized (for example, the error is <1ms).

[0074] (3) The application layer module obtains the ideal time point for the underlying module to send V2X messages to the outside world ( Figure 3 For example, the bottom layer module may inform the application layer module of the V2X message sending time of the 100ms period reserved by the bottom layer module according to the V2X resource reservation situation.

[0075] (4) The application layer module transmits a message sending request to the bottom layer module after a waiting period has passed since the ideal time point was received. The waiting period is calculated as follows:

[0076] M1=(T1-T0)-M2

[0077] When M2<T1-T0, M1=(T1-T0)-M2;

[0078] When M2≥T1-T0, M1=0,

[0079] Wherein, M1 represents the waiting period, T1 represents the ideal time point, T0 represents the time point when the application layer module receives the ideal time point T1 from the bottom layer module, and M2 represents the processing period required for the V2X device to process the V2X message.

[0080] like Figure 3 As shown in , T1-T0=80ms.

[0081] Different from scenario 200, in scenario 300, M2 is set to a dynamic value and the value of M2 takes into account the processing load of the system. Specifically, M2 is calculated by the following formula:

[0082] M2=(P1(CPU1)+P2(CPU2)+M3)

[0083] Where CPU1 represents the load of the application layer module, CPU2 represents the load of the bottom layer module, P1(CPU1) represents the busyness that varies with the load of the application layer module, P2(CPU2) represents the busyness that varies with the load of the bottom layer module, and M3 represents the sum of other consumed time except the busyness P1 of the application layer module and the busyness P2 of the bottom layer module. For example, M3 may include the time required for a message sending request to be transmitted from the application layer module to the bottom layer module, other time consumption of the system, and the like.

[0084] The application layer module learns through query that the load of the application layer module CPU1 is 32%, and the load of the bottom layer module CPU2 is 68%. M3 is determined to be 5ms based on experience. Therefore, M2 = (P1 (32%) + P2 (68%) + 5ms).

[0085] In scenario 300, a delay function is used to represent the busyness of a module. Specifically, the delay function has a load-delay relationship table inside. After receiving the input load, the delay function searches for the closest load value in the load-delay relationship table and finds the corresponding time delay value as output.

[0086] As an example, the load-delay relationship table inside the delay function P1 of the application layer module is shown in Table 1 below:

[0087] load Delay 0% 1ms 10% 1.5ms …… ...... 30% 2ms 40% 3ms …… ……

[0088] Table 1

[0089] The load-delay relationship table inside the delay function P2 of the bottom module is shown in Table 2 below:

[0090] load Delay 0% 1ms 10% 0.5ms …… ...... 65% 4ms 70% 6ms …… ......

[0091] Table 2

[0092] According to the above load-delay relationship table, we can obtain P1(32%)=2ms, P2(68%)=6ms.

[0093] Thus we can obtain M2=(P1(32%)+P2(68%)+5ms)=(2ms+6ms+5ms)=13ms, M1=80ms-13ms=67ms.

[0094] Therefore, in scenario 300 , the application layer module transmits a message sending request to the bottom layer module after 67 ms has passed since T0 .

[0095] In the case where the V2X message is collected by the application layer module, the application layer may also start preparing the V2X message (packaging the data required for the V2X message) after the waiting period M1 and transmit the prepared V2X message together with the message sending request to the underlying module.

[0096] It should be noted that the load of the application layer module and the bottom layer module can be measured at regular intervals, or can be a fixed value (for example, measured at the time of shipment or obtained through theoretical calculation). M3 can be a fixed value (measured at the time of shipment or obtained through theoretical calculation).

[0097] (5) The bottom layer module receives the message sending request from the application layer module and prepares to send the message before the ideal time point arrives. Figure 3 In the example, the bottom layer module receives the message sending request after 7ms (i.e., the time required for the message sending request to be transmitted from the application layer module to the bottom layer module is 7ms), and is ready to send the message within 6ms. Figure 3 As shown, the 6ms time period is greater than the time period required for the underlying module to process the message sending request ( Figure 3 ) to provide some redundancy.

[0098] (6) At the ideal time point T1, the underlying module broadcasts the V2X message on time (for example, broadcasts to other vehicles, roadside units, etc. within the V2X system).

[0099] It should be noted that Figure 2 and Figure 3 It is merely exemplary and is not intended to limit the present invention. Figure 2 and Figure 3 Specific steps are shown, but in actual implementation, steps may be added, deleted, or combined. Figure 3 It is shown that the processing period M2 is determined based on the busyness of the application layer module and the underlying module in the V2X device. In other implementations, the processing period M2 can also be determined based on the busyness of multiple sub-modules of the application layer module and the busyness of multiple sub-modules of the underlying module.

[0100] Figure 4 A schematic structural diagram of a system 400 for coordinating the transmission timing of a V2X message according to the present invention is shown.

[0101] See also Figure 4 , the system 400 may include an application layer module 405, a bottom layer module 420, a radio frequency module 425, and a time synchronization module 430. As shown in the figure, the application layer module 405, the bottom layer module 420, and the time synchronization module 430 may be directly or indirectly connected or communicated with each other on one or more buses 435. The radio frequency module 425 is connected to the bottom layer module 420 and communicates with each other.

[0102] In various embodiments of the present invention, the application layer module 405 may be configured to: obtain an ideal time point for the bottom layer module to send a V2X message externally; determine a processing period required for the V2X device to process the V2X message; determine a waiting period based on the ideal time point and the processing period; and transmit a message sending request to the bottom layer module after the waiting period has passed since the ideal time point was obtained. In some embodiments, the application layer module 405 may also be configured to: start preparing a V2X message after the waiting period has passed since the ideal time point was obtained and transmit the prepared V2X message together with the message sending request to the bottom layer module. In some embodiments, the ideal time point appears according to the expected period of the application layer module. When the bottom layer module finds that the ideal time point deviates from the expected period, the application layer module 405 may also be configured to: calculate each subsequent ideal time point from the first ideal time point after the deviation is obtained until the ideal time point deviates from the expected period again or the expected period changes. In some embodiments, when the expected period of the application layer module changes, the application layer module 405 can also be configured to: calculate each subsequent ideal time point from the first ideal time point after the expected period change is obtained, until the expected period changes again or the ideal time point deviates from the expected period.

[0103] As shown in the figure, the application layer module 405 may include a data acquisition unit 410, which is configured to collect V2X messages. For example, the data acquisition unit 410 may collect data such as the position of the vehicle, the speed of the vehicle, and the yaw angle of the vehicle from the GPS system, the vehicle CAN, etc. In addition, the application layer module 405 may also include a storage unit 415 to store the data collected by the data acquisition unit 410.

[0104] The bottom layer module 420 may be configured to: inform the application layer module of the next reserved ideal time point after each reserved ideal time point has passed; inform the application layer module of the first ideal time point after the deviation when the reserved ideal time point deviates from the expected period of the application layer module; inform the application layer module of the first ideal time point after the expected period changes when the expected period of the application layer module changes; and send a V2X message to the outside at the ideal time point after receiving a message sending request.

[0105] The RF module 425 is used to send and receive RF signals and process RF signals.

[0106] The time synchronization module 430 is used to perform time synchronization on the application layer module 405 and the bottom layer module 420 .

[0107] Figure 4Specific modules / units of system 400 are shown, but it should be understood that these modules / units are exemplary and non-restrictive. In different implementations, one or more of these modules / units can be combined, split, removed, or additional modules / units can be added. For example, in some implementations, data acquisition unit 410 and storage unit 415 can be combined into one unit. In some implementations, data acquisition unit 410 and / or storage unit 415 can be outside application layer module 405.

[0108] Figure 5 A block diagram of a device 500 including a system for coordinating transmission opportunities of V2X messages of the present invention is shown.

[0109] The apparatus illustrates a general hardware environment in which the present invention may be applied according to its exemplary embodiments.

[0110] Now refer to Figure 5 Device 500 is described, which is an exemplary embodiment of a hardware device that may be applied to aspects of the present invention.

[0111] Device 500 may include components that may be connected or in communication with bus 520 via one or more interfaces. For example, device 500 may include bus 520, processor 505, memory 510, input device 525, and output device 530, among other things.

[0112] The processor 505 may be any type of processor. The processor 505 may be responsible for managing the bus and general processing, including executing software stored on the memory. The processor 505 may also be configured to perform various functions described herein related to coordinating the timing of sending V2X messages. For example, the processor 505 may be configured to: enable the application layer module of the V2X device to obtain the ideal time point for the underlying module of the V2X device to send the V2X message to the outside, wherein the application layer module is used to manage the V2X application scenario, and the underlying module is used to manage the V2X radio frequency function; determine the processing period required for the V2X device to process the V2X message; determine the waiting period based on the ideal time point and the processing period; enable the application layer module to transmit a message sending request to the underlying module after the waiting period has passed since the ideal time point is obtained; and enable the underlying module to send the V2X message to the outside at the ideal time point after receiving the message sending request.

[0113] The memory 510 may be any storage device capable of storing data. The memory 510 may store computer executable software 515 including computer readable instructions that, when executed, cause the processor to perform various functions described herein related to coordinating the transmission timing of V2X messages.

[0114] Input device 525 may be any type of device that can be used to input information.

[0115] Output device 530 may be any type of device for outputting information. In one embodiment, output device 530 may be any type of output device that can display information.

[0116] The detailed description described above in conjunction with the accompanying drawings describes examples and does not represent all examples that can be implemented or fall within the scope of the claims. The terms "example" and "exemplary" when used in this specification mean "used as an example, instance or illustration" and do not mean "better or better than other examples".

[0117] Reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, use of these phrases may refer to more than just one embodiment. Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0118] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the universal principles defined herein may be applied to other aspects. Therefore, the claims are not intended to be limited to the aspects shown herein, but should be granted the full scope consistent with the claims in language, wherein the singular reference to the elements is not intended to mean "there is and only one", but "one or more", unless otherwise specifically stated. Unless otherwise specifically stated, the term "some" refers to one or more. The elements of the various aspects described throughout the present invention are all structurally and functionally equivalent schemes currently or hereafter known to those of ordinary skill in the art and are expressly incorporated herein by reference, and are intended to be covered by the claims.

[0119] It should also be noted that these embodiments may be described as a process depicted as a flow chart, flow diagram, structure diagram, or block diagram. Although the flow chart may describe the operations as sequential processes, many of these operations can be performed in parallel or concurrently. In addition, the order of these operations can be rearranged.

[0120] Although various embodiments have been illustrated and described, it should be understood that the embodiments are not limited to the precise configuration and components described above. Various modifications, substitutions and improvements obvious to those skilled in the art may be made in the arrangement, operation and details of the devices disclosed herein without departing from the scope of the claims.

Claims

1. A method for coordinating the timing of sending a vehicle-to-everything (V2X) message, comprising: The application layer module of the V2X device obtains an ideal time point for the underlying module of the V2X device to send a V2X message to the outside, wherein the application layer module is used to manage the V2X application scenario, and the underlying module is used to manage the V2X radio frequency function; determining a processing period required for the V2X device to process the V2X message; determining a waiting period based on the ideal time point and the processing period; The application layer module transmits a message sending request to the bottom layer module after the waiting period has elapsed since the ideal time point is obtained; as well as The underlying module sends the V2X message to the outside at the ideal time point after receiving the message sending request.

2. The method according to claim 1, wherein: The application layer module transmitting the message sending request to the bottom layer module further comprises: The application layer module starts preparing the V2X message and transmits the prepared V2X message together with the message sending request to the bottom layer module.

3. The method according to claim 1, wherein: The ideal time point occurs according to the expected period of the application layer module, and the application layer module obtains the ideal time point further comprising: When the ideal time point deviates from the expected period, the bottom layer module informs the application layer module of the first ideal time point after the deviation, and each ideal time point after the first ideal time point is calculated and obtained by the application layer module until the ideal time point deviates from the expected period again or the expected period changes.

4. The method according to claim 1, wherein: The ideal time point occurs according to the expected period of the application layer module, and the application layer module obtains the ideal time point further comprising: When the expected period changes, the bottom layer module informs the application layer module of the first ideal time point after the expected period changes, and each ideal time point after the first ideal time point is calculated and obtained by the application layer module until the expected period changes again or the ideal time point deviates from the expected period.

5. The method according to claim 1, wherein: The waiting period is determined based on the following formula: M1=(T1-T0)-M2 When M2<T1-T0, M1=(T1-T0)-M2; When M2≥T1-T0, M1=0, Wherein, M1 represents the waiting period, T1 represents the ideal time point, T0 represents the time point when the application layer module obtains T1, and M2 represents the processing period.

6. The method according to claim 5, wherein: The processing period M2 is set to a fixed value.

7. The method according to claim 5, wherein: The processing period M2 is set as a dynamic value, and determining the processing period M2 further comprises: dynamically determining the processing period M2 based on the busyness P1 of the application layer module and the busyness P2 of the bottom layer module.

8. The method according to claim 7, wherein: The busyness P1 varies depending on the load CPU1 of the application layer module, the busyness P2 varies depending on the load CPU2 of the bottom layer module, and the processing period M2 is determined based on the following formula: M2=(P1(CPU1)+P2(CPU2)+M3) Wherein M3 represents the sum of other consumed time except the busyness P1 of the application layer module and the busyness P2 of the bottom layer module.

9. The method according to claim 5, wherein: The processing period M2 is set to a dynamic value, and determining the processing period M2 further comprises: dynamically determining the processing period M2 based on the busyness of the multiple submodules of the application layer module and the busyness of the multiple submodules of the bottom layer module.

10. The method according to claim 9, wherein: The processing period M2 is determined based on the following formula: M2=(P11(CPU11)+P12(CPU12)+…+P1N(CPU1N)+P21(CPU21)+ P22 (CPU22) + ... + P2L (CPU2L) + M4) Wherein, CPU11, CPU12...CPU1N represent the load of the corresponding submodule of the application layer module, CPU21, CPU22...CPU2L represent the load of the corresponding submodule of the underlying module, P11, P12...P1N represent the busyness that varies with the load of the corresponding submodule of the application layer module, P21, P22...P2L represent the busyness that varies with the load of the corresponding submodule of the underlying module, M4 represents the sum of other consumed time except the busyness of the multiple submodules of the application layer module and the busyness of the multiple submodules of the underlying module, wherein N and L are integers greater than or equal to 2.

11. A device for coordinating the timing of sending a vehicle-to-everything (V2X) message, comprising: Memory; as well as a processor coupled to the memory, the processor being configured to: enabling an application layer module of a V2X device to obtain an ideal time point at which a bottom layer module of the V2X device sends a V2X message to the outside, wherein the application layer module is used to manage V2X application scenarios, and the bottom layer module is used to manage V2X radio frequency functions; determining a processing period required for the V2X device to process the V2X message; determining a waiting period based on the ideal time point and the processing period; The application layer module transmits a message sending request to the bottom layer module after the waiting period has elapsed since the ideal time point is obtained; as well as The bottom layer module sends the V2X message to the outside at the ideal time point after receiving the message sending request.

12. The device according to claim 11, wherein The processor is further configured to enable the application layer module to transmit the message sending request to the bottom layer module through the following operations: The application layer module starts preparing the V2X message and transmits the prepared V2X message together with the message sending request to the bottom layer module.

13. The device according to claim 11, wherein: The ideal time point occurs according to the expected period of the application layer module, and the processor is further configured to enable the application layer module to obtain the ideal time point through the following operations: When the bottom layer module deviates from the expected period at the ideal time point, the first ideal time point after the deviation is notified to the application layer module, and each ideal time point after the first ideal time point is calculated and obtained by the application layer module until the ideal time point deviates from the expected period again or the expected period changes.

14. The device according to claim 11, wherein: The ideal time point occurs according to the expected period of the application layer module, and the processor is further configured to enable the application layer module to obtain the ideal time point through the following operations: When the expected period changes, the bottom layer module informs the application layer module of the first ideal time point after the expected period changes, and each ideal time point after the first ideal time point is calculated and obtained by the application layer module until the expected period changes again or the ideal time point deviates from the expected period.

15. The device according to claim 11, wherein The processor is further configured to determine the waiting period based on the following formula: M1=(T1-T0)-M2 When M2<T1-T0, M1=(T1-T0)-M2; When M2≥T1-T0, M1=0, Wherein, M1 represents the waiting period, T1 represents the ideal time point, T0 represents the time point when the application layer module obtains T1, and M2 represents the processing period.

16. The device according to claim 15, wherein: The processing period M2 is set to a fixed value.

17. The device according to claim 15, wherein: The processing period M2 is set to a dynamic value, and the processor is further configured to dynamically determine the processing period M2 based on the busyness P1 of the application layer module and the busyness P2 of the underlying module.

18. The device according to claim 17, wherein: The busyness P1 varies depending on the load CPU1 of the application layer module, the busyness P2 varies depending on the load CPU2 of the bottom layer module, and the processor is further configured to determine the processing period M2 based on the following formula: M2=(P1(CPU1)+P2(CPU2)+M3) Wherein M3 represents the sum of other consumed time except the busyness P1 of the application layer module and the busyness P2 of the bottom layer module.

19. The device according to claim 15, wherein: The processing period M2 is set to a dynamic value, and the processor is further configured to dynamically determine the processing period M2 based on the busyness of the multiple sub-modules of the application layer module and the busyness of the multiple sub-modules of the bottom layer module.

20. The device according to claim 19, wherein The processor is further configured to determine the processing period M2 based on the following formula: M2=(P11(CPU11)+P12(CPU12)+…+P1N(CPU1N)+P21(CPU21) +P22(CPU22)+…+P2L(CPU2L)+M4) Wherein, CPU11, CPU12...CPU1N represent the load of the corresponding submodule of the application layer module, CPU21, CPU22...CPU2L represent the load of the corresponding submodule of the underlying module, P11, P12...P1N represent the busyness that varies with the load of the corresponding submodule of the application layer module, P21, P22...P2L represent the busyness that varies with the load of the corresponding submodule of the underlying module, M4 represents the sum of other consumed time except the busyness of the multiple submodules of the application layer module and the busyness of the multiple submodules of the underlying module, wherein N and L are integers greater than or equal to 2.

21. A computer-readable storage medium storing a computer program for coordinating a transmission timing of a vehicle-to-everything (V2X) message, wherein the computer program can be executed by a processor to perform the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Methods and devices for sending transmission-time or reception-time information for a transmitted or received message

    CN101455014A

  • Control Information Sending Method, Control Information Receiving Method, and Related Device

    US20200015212A1

  • Assistance information indication for rat and interface selection for new radio vehicle-to-everything (V2X)

    WO2020198713A1