A method, apparatus and vehicle for clock synchronization

By dynamically switching clock modes, clock information is obtained from both external and internal clock sources based on the quality of the external clock signal, thus solving the time jump problem caused by GNSS signal obstruction and ensuring the stability of autonomous driving and external interaction capabilities.

CN115882989BActive Publication Date: 2026-07-03YINWANG INTELLIGENT TECHNOLOGIES CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
YINWANG INTELLIGENT TECHNOLOGIES CO LTD
Filing Date
2021-09-27
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

Existing autonomous driving technologies cannot avoid time jumps during time synchronization in GNSS signal blockage scenarios, affecting the logic of autonomous driving applications. Furthermore, the local clock cannot accurately approach UTC time, resulting in the inability to interact with external systems.

Method used

A clock synchronization method is provided, which dynamically switches the clock mode according to the quality of the external clock signal. It adopts a dual-clock synchronous or asynchronous mode, and obtains clock information from external and internal clock sources respectively to ensure the synchronization or asynchrony of the data plane clock and the management plane clock, so as to meet the needs of different scenarios.

Benefits of technology

Stable operation of autonomous driving was achieved in GNSS signal obstruction scenarios, avoiding the impact of time jumps and ensuring the stability of autonomous driving algorithms and external interaction capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115882989B_ABST
    Figure CN115882989B_ABST
Patent Text Reader

Abstract

This application provides a time synchronization method, apparatus, and vehicle, which are applied to a vehicle. The method includes: acquiring a first signal, the first signal including clock information from an external clock source; determining the signal quality of the first signal; and determining a clock mode based on the signal quality of the first signal, the clock mode including a first clock mode or a second clock mode, wherein when the vehicle operates in the first clock mode, the vehicle acquires the first clock information from the external clock source; or, when the vehicle operates in the second clock mode, the vehicle acquires the first clock information and the second clock information from both the external clock source and an internal clock source, wherein the internal clock source is located within the vehicle. The clock synchronization method of this application can be used in autonomous driving or intelligent driving scenarios, enabling the configuration of different clock schemes according to different scenario requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of autonomous driving, and more specifically, to a method, apparatus, and vehicle for clock synchronization. Background Technology

[0002] With the development of autonomous driving technology, autonomous vehicles integrate numerous sensors and ECUs. Different data sources need to be converted to a unified time scale before comparative analysis and calculations can be performed. In engineering practice, it is often necessary to unify signals from global navigation satellite systems (GNSS), inertial measurement units (IMUs), and vehicle status onto the same time scale before calculations are performed.

[0003] Current autonomous driving systems primarily use GNSS clocks. However, during vehicle movement, scenarios such as tunnels and underground parking garages inevitably occur, where GNSS signals can be blocked, preventing the reception of Universal Time Coordinated (UTC) time. When GNSS signals recover, time synchronization occurs, and the resulting time jumps disrupt the autonomous driving application logic. At SAE Level 3 and above, autonomous driving systems require external interaction. Local (hardware real-time) clocks, due to their inability to approximate UTC time, are unsuitable for external interaction, thus preventing direct use of local clocks. Some existing autonomous driving systems use both GNSS and local clocks, synchronizing the local clock based on the GNSS clock regardless of its accuracy. This approach still cannot prevent time jumps during synchronization, thus failing to avoid impacting the autonomous driving application logic.

[0004] Therefore, how to flexibly synchronize clocks for autonomous driving to meet different needs has become an urgent problem to be solved. Summary of the Invention

[0005] This application provides a method, apparatus, controller, and vehicle for clock synchronization, enabling autonomous driving to perform clock synchronization to meet different needs.

[0006] In a first aspect, a time synchronization method is provided, applied to a vehicle, comprising: acquiring a first signal, the first signal including clock information from an external clock source; determining the signal quality of the first signal; and determining a clock mode based on the signal quality of the first signal, the clock mode including a first clock mode or a second clock mode, wherein when the vehicle operates in the first clock mode, the vehicle acquires the first clock information from the external clock source; or, when the vehicle operates in the second clock mode, the vehicle acquires the first clock information and the second clock information from both the external clock source and an internal clock source, wherein the internal clock source is located within the vehicle.

[0007] Specifically, the vehicle includes a data plane clock and a management plane clock. The first clock mode can refer to the data plane clock and the management plane clock using the same clock source; the second clock mode can refer to the data plane clock and the management plane clock using different clock sources.

[0008] Optionally, the external clock source can be a GNSS clock or a Network Time Protocol (NTP) clock.

[0009] According to the method in the embodiments of this application, the clock mode can be determined based on the signal quality of the first signal, so that the first clock mode or the second clock mode can be configured for the autonomous driving algorithm according to different scenario requirements to ensure the stability of the application logic of the autonomous driving algorithm, and the hardware or software logic of the same domain controller can meet the needs of different scenarios for different clock schemes.

[0010] In conjunction with the first aspect, in some implementations of the first aspect, determining the clock mode based on the signal quality of the first signal includes: determining the clock mode as a first clock mode when the signal quality of the first signal is greater than or equal to a first threshold; or, determining the clock mode as a second clock mode when the signal quality of the first signal is less than the first threshold.

[0011] Specifically, the first threshold can represent the signal quality threshold of the first signal that the vehicle can obtain from an external clock source to provide stable clock information for autonomous driving.

[0012] In some possible implementations, the clock mode is determined to be the first clock mode when the signal quality of the first signal is greater than or equal to the first threshold and the duration of the signal quality of the first signal being greater than or equal to the first threshold is greater than or equal to the first duration.

[0013] In some possible implementations, when the signal quality of the first signal is less than the first threshold and the duration of the signal quality of the first signal being less than the first threshold is greater than or equal to the second duration, the clock mode is determined to be the second clock mode.

[0014] In conjunction with the first aspect, in some implementations of the first aspect, the clock mode is a second clock mode, and the method further includes synchronizing the management plane clock according to the first clock information and synchronizing the data plane clock according to the second clock information.

[0015] Specifically, when the clock mode is the second clock mode, the management plane clock is synchronized based on the first clock information obtained from an external clock source, and the data plane clock is synchronized based on the second clock information obtained from an internal clock source. The data plane clock and the management plane clock are synchronized based on the first clock information obtained from the external clock source and the second clock information obtained from the internal clock source, respectively. Therefore, the data plane clock and the management plane clock can be synchronized or asynchronous. Optionally, the second clock mode can include a dual-clock synchronization mode or a dual-clock asynchronous mode, wherein the dual-clock synchronization mode indicates that the data plane clock and the management plane clock are synchronized; and the dual-clock asynchronous mode indicates that the data plane clock and the management plane clock are asynchronous.

[0016] In this embodiment of the application, when the clock mode is the second clock mode, the data plane clock and the management plane clock can obtain clock information from different clock sources and synchronize with different clock sources respectively. This allows the data plane clock and the management plane clock to be synchronized or not synchronized. That is, the second clock mode can be a dual clock synchronization mode or a dual clock asynchronization mode, so that autonomous driving can meet the needs of different scenarios when running according to the second clock mode.

[0017] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes the ability to synchronize the data plane clock according to the management plane clock.

[0018] Specifically, the data plane clock is synchronized with the management plane clock, so that the management plane clock and the data plane clock are synchronized, thus enabling the second clock mode to be a dual-clock synchronization mode.

[0019] In conjunction with the first aspect, in some implementations of the first aspect, before synchronizing the data plane clock according to the management plane clock, the method further includes determining that the vehicle needs to communicate with external devices.

[0020] Optionally, if the vehicle needs to communicate with external devices, the second clock mode can be determined as a dual-clock synchronous mode to meet the needs of external interaction; or, if the vehicle does not need to communicate with external devices, the second clock mode can be determined as a dual-clock asynchronous mode, so that the autonomous driving can operate according to the internal clock source when there is no need for external interaction, which can avoid the time jump of the data plane clock and thus ensure the stable operation of autonomous driving.

[0021] In conjunction with the first aspect, in some implementations of the first aspect, before synchronizing the data plane clock according to the management plane clock, the method further includes determining that the time difference between the data plane clock and the management plane clock is greater than or equal to a second threshold.

[0022] Specifically, the second threshold can be used to represent the time difference between the data plane clock and the management plane clock to indicate whether they are in a synchronized state. For example, if the time difference between the data plane clock and the management plane clock is greater than or equal to the second threshold, it indicates that the data plane clock and the management plane clock are no longer in a synchronized state; or, if the time difference between the data plane clock and the management plane clock is less than the second threshold, it indicates that the data plane clock and the management plane clock are in a synchronized state.

[0023] In this embodiment of the application, before synchronizing the data plane clock according to the management plane clock, by determining the relationship between the time difference between the data plane clock and the management plane clock and the second threshold, it is possible to avoid synchronizing the data plane clock too frequently according to the management plane clock, thereby reducing the resource consumption caused by time synchronization.

[0024] In conjunction with the first aspect, in some implementations of the first aspect, before synchronizing the data plane clock according to the management plane clock, the method further includes determining that the vehicle speed is less than or equal to a third threshold.

[0025] Specifically, the third threshold can represent the maximum vehicle speed at which autonomous driving can tolerate time jumps in the current scenario. In other words, when the vehicle speed is less than or equal to the third threshold, autonomous driving can still operate normally even if there are time jumps.

[0026] In this embodiment of the application, before synchronizing the data plane clock according to the management plane clock, the vehicle speed is determined to be less than or equal to a third threshold, so that when synchronizing the data plane clock according to the management plane clock, even if there is a time jump, the autonomous driving can still be guaranteed to operate stably.

[0027] In conjunction with the first aspect, in some implementations of the first aspect, before synchronizing the data plane clock according to the management plane clock, the method further includes determining that the vehicle has been taken over.

[0028] In this embodiment of the application, before synchronizing the data plane clock according to the management plane clock, the vehicle is in a state of being taken over, so that when synchronizing the data plane clock according to the management plane clock, even if the autonomous driving application logic is disordered or the autonomous driving crashes due to time jumps, the safe and stable operation of the vehicle can still be guaranteed.

[0029] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes determining an external clock source based on the environment in which the vehicle is located.

[0030] Specifically, the external clock source can be a GNSS clock or an NTP clock. The vehicle's environment can be the current environment of the vehicle or the environment in which the vehicle will be located.

[0031] In conjunction with the first aspect, in some implementations of the first aspect, the external clock source is determined based on the environment in which the vehicle is located, including: when the vehicle is on an open road or at the entrance or exit of a tunnel or open road, the external clock source is determined to be a GNSS clock; or, when the vehicle is in a tunnel, under a bridge, or in an underground garage, the external clock source is determined to be an NTP clock.

[0032] In this embodiment of the application, by determining the external clock source based on the vehicle's environment, a more accurate clock source can be selected for the management plane clock, which can avoid the application logic of autonomous driving being affected because the management plane clock cannot obtain accurate time information from its clock source.

[0033] In conjunction with the first aspect, in some implementations of the first aspect, the vehicle includes a first device and a second device, both of which include a data plane clock and a management plane clock; synchronizing the data plane clock according to the management plane clock includes: synchronizing the data plane clock of the first device according to the management plane clock of the first device; the method further includes: backing up the data of the first device to the second device; the second device controls the vehicle to drive according to the backed-up data of the first device.

[0034] In this embodiment of the application, by backing up the data of the first device that controls the vehicle to the second device and switching to the second device controlling the vehicle, the time jump caused by clock synchronization can be avoided when synchronizing the data plane clock according to the management plane clock of the first device, thus ensuring the stable operation of autonomous driving.

[0035] In conjunction with the first aspect, in some implementations of the first aspect, after the management plane clock of the first device has synchronized with the data plane clock of the first device, the method further includes: the first device controlling the vehicle to drive.

[0036] In this embodiment of the application, by backing up the data of the second device controlling the vehicle's movement to the first device and switching back to the first device controlling the vehicle's movement, the vehicle can be controlled by a device with higher performance, which can make the autonomous driving algorithm run more smoothly and efficiently.

[0037] In conjunction with the first aspect, in some implementations of the first aspect, after the first device controls the vehicle to drive based on the data of the backup second device, the method further includes: synchronizing the data plane clock of the second device according to the management plane clock of the second device.

[0038] In this embodiment of the application, after the first device resumes control of the vehicle's driving, by synchronizing the data plane clock in the second device according to its management plane clock, when the device controlling the vehicle needs to be switched from the first device to the second device, the impact on autonomous driving caused by the asynchrony between the data plane clock and the management plane clock of the second device can be avoided.

[0039] Secondly, a time synchronization device is provided, applied to a vehicle, the device comprising: an acquisition module and a processing module; the acquisition module is configured to acquire a first signal, the first signal including clock information from an external clock source; the processing module is configured to determine the signal quality of the first signal; the processing module is further configured to determine a clock mode based on the signal quality of the first signal, the clock mode including a first clock mode or a second clock mode, wherein when the vehicle operates in the first clock mode, the vehicle acquires the first clock information from an external clock source; or, when the vehicle operates in the second clock mode, the vehicle acquires the first clock information and the second clock information from both the external clock source and an internal clock source, the internal clock source being located within the vehicle.

[0040] In conjunction with the second aspect, in some implementations of the second aspect, the processing module is specifically used to: determine the clock mode as the first clock mode when the signal quality of the first signal is greater than or equal to the first threshold; or, determine the clock mode as the second clock mode when the signal quality of the first signal is less than the first threshold.

[0041] In conjunction with the second aspect, in some implementations of the second aspect, when the clock mode is the second clock mode, the processing module is further configured to: synchronize the management plane clock according to the first clock information and synchronize the data plane clock according to the second clock information.

[0042] In conjunction with the second aspect, in some implementations of the second aspect, the processing module is also used to: synchronize the data plane clock according to the management plane clock.

[0043] In conjunction with the second aspect, in some implementations of the second aspect, the processing module is further configured to: determine whether the vehicle needs to communicate with external devices before synchronizing the data plane clock according to the management plane clock.

[0044] In conjunction with the second aspect, in some implementations of the second aspect, the processing module is further configured to: determine, before synchronizing the data plane clock according to the management plane clock, that the time difference between the data plane clock and the management plane clock is greater than or equal to a second threshold.

[0045] In conjunction with the second aspect, in some implementations of the second aspect, the processing module is further configured to: determine that the vehicle speed is less than or equal to a third threshold before synchronizing the data plane clock according to the management plane clock.

[0046] In conjunction with the second aspect, in some implementations of the second aspect, the processing module is also used to: determine whether the user has taken over the vehicle before synchronizing the data plane clock according to the management plane clock.

[0047] In conjunction with the second aspect, in some implementations of the second aspect, the processing module is also used to: determine the external clock source based on the environment in which the vehicle is located.

[0048] In conjunction with the second aspect, in some implementations of the second aspect, the processing module is specifically used to: determine that the external clock source is a GNSS clock when the vehicle is on an open road or at the entrance / exit of a tunnel or open road; or, determine that the external clock source is a Network Time Protocol (NTP) clock when the vehicle is in a tunnel, under a bridge, or in an underground parking garage.

[0049] In conjunction with the second aspect, in some implementations of the second aspect, the processing module includes a first device and a second device, both of which include the data plane clock and the management plane clock; the processing module is specifically used to: synchronize the data plane clock of the first device according to the management plane clock of the first device; the processing module is also used to: back up the data of the first device to the second device; and control the vehicle to drive using the second device according to the backed-up data of the first device.

[0050] In conjunction with the second aspect, in some implementations of the second aspect, the processing module is further configured to: after the management plane clock of the first device has completed synchronizing the data plane clock of the first device with the data plane clock of the first device, use the first device to control the vehicle's movement.

[0051] In conjunction with the second aspect, in some implementations of the second aspect, the processing module is further configured to: after controlling the vehicle's movement using the first device, synchronize the data plane clock of the second device according to the management plane clock of the second device.

[0052] Thirdly, an apparatus is provided for use in a vehicle, the apparatus including a processor and a memory, wherein the memory is used to store program instructions, and the processor is used to invoke the program instructions to cause the apparatus to perform the methods described in the first aspect or any possible method in the first aspect.

[0053] Fourthly, a vehicle is provided that includes the means described in the second or third aspect.

[0054] Fifthly, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform the method described in the first aspect or any implementation thereof.

[0055] In a sixth aspect, a computer-readable storage medium is provided, wherein program instructions are stored therein, which, when executed by a processor, cause a computer to perform the methods described in the first aspect or any one of the possible methods described in the first aspect.

[0056] In a seventh aspect, a chip is provided, the chip including a processor and a data interface, wherein the processor reads instructions stored in a memory through the data interface and executes the method of the first aspect or any possible implementation thereof. Attached Figure Description

[0057] Figure 1 This is a functional block diagram of a vehicle provided in an embodiment of this application.

[0058] Figure 2 This is a schematic diagram of a clock synchronization system architecture provided in an embodiment of this application.

[0059] Figure 3 This is a schematic diagram illustrating an implementation of a clock synchronization system architecture provided in an embodiment of this application.

[0060] Figure 4 This is a flowchart of a clock synchronization method provided in an embodiment of this application.

[0061] Figure 5 This is an exemplary flowchart of a clock synchronization method provided in an embodiment of this application.

[0062] Figure 6 This is an exemplary flowchart of a dual-clock synchronization mode method provided in an embodiment of this application.

[0063] Figure 7 An exemplary flowchart of a method for managing plane clocks based on data plane clock synchronization, provided in an embodiment of this application.

[0064] Figure 8 This is a structural example diagram of a time synchronization device provided in an embodiment of this application.

[0065] Figure 9 This is a structural example diagram of a device provided in an embodiment of this application.

[0066] Figure 10 This is an example diagram of a computer program product provided in an embodiment of this application. Detailed Implementation

[0067] The technical solutions in this application will now be described with reference to the accompanying drawings.

[0068] Figure 1This is an application scenario for the fault detection method provided in this application embodiment. In this application scenario, a vehicle 100 and an external clock source 180 may be included, and the vehicle 100 and the external clock source 180 may communicate via a network.

[0069] Some or all of the functions of vehicle 100 are controlled by computing platform 150. Computing platform 150 may include at least one processor 151, which can execute instructions 153 stored in a non-transitory computer-readable medium such as memory 152.

[0070] In some embodiments, the computing platform 150 may also be multiple computing devices that control individual components or subsystems of the vehicle 100 in a distributed manner. The processor 151 may be any conventional processor, such as a central processing unit (CPU). Alternatively, the processor 151 may also include graphics processing units (GPUs), field-programmable gate arrays (FPGAs), systems-on-chips (SoCs), application-specific integrated circuits (ASICs), or combinations thereof.

[0071] In addition to instruction 153, memory 152 may also store data such as road maps, route information, vehicle position, direction, speed, and other such vehicle data, as well as other information. This information can be used by vehicle 100 and computing platform 150 during operation of vehicle 100 in autonomous, semi-autonomous, and / or manual modes.

[0072] It should be understood that Figure 1 The structure of the vehicle should not be construed as a limitation on the embodiments of this application.

[0073] Optionally, the vehicle 100 may include one or more different types of vehicles, or one or more different types of transport vehicles or movable objects that operate or move on land (e.g., highways, roads, railways, etc.), water (e.g., waterways, rivers, oceans, etc.), or in space. For example, a vehicle may include a car, bicycle, motorcycle, train, subway, airplane, ship, aircraft, robot, or other types of transport vehicles or movable objects, etc., and this application embodiment does not limit this.

[0074] In addition, such as Figure 1The application scenario shown may also include an external clock source 180, which can be located in network devices such as base stations, Wi-Fi, or satellites. In this embodiment, the external clock source can provide the vehicle with first clock information, thereby enabling the calculation of the autonomous driving algorithm and ensuring the operation of autonomous driving.

[0075] Accordingly, the vehicle 100 may include a receiving device 120 for receiving clock information sent by an external clock source 180.

[0076] It should be understood that GNSS, as referred to in the embodiments of this application, means a satellite navigation system used to provide positioning, navigation, and timing services on a global or regional basis. This can be a global system, such as the Global Positioning System (GPS), the BeiDou Navigation Satellite System (BDS), GLONASS, the Galileo Positioning System (GALILEO), and global satellite navigation systems under development or in the future; it can also be a regional system, such as the Indian Regional Navigation Satellite System (IRNSS), the Quasi-Zenith Satellite System (QZSS), and regional satellite navigation systems under development or in the future; and it can also be related augmentation systems, such as the Wide Area Augmentation System (WAAS), the European Geostationary Navigation Overlay Service (EGNOS), the Multi-functional Satellite Augmentation System (MSAS), and other related augmentation systems under development or in the future. The embodiments of this application do not limit this.

[0077] Figure 2 This diagram illustrates a clock synchronization system architecture provided by an embodiment of this application. This clock synchronization system architecture enables synchronization of data plane clocks and / or management plane clocks. Figure 2 The system architecture includes an external clock source, an internal clock source, a logic module, and a time synchronization module. The time synchronization module includes a data plane clock and a management plane clock.

[0078] An external clock source refers to an external clock source located outside the vehicle, such as a GNSS clock provided by a GNSS satellite, or an NTP clock provided by a base station, Wi-Fi, or other communication network.

[0079] The internal clock source can be a local clock source, such as the local hardware real-time clock (RTC) or the operating system clock.

[0080] The time synchronization module enables synchronization between the data plane clock and the management plane clock, for example, by setting the data plane clock time to be the same as or close to the management plane clock time. This time synchronization module can be a microcontroller unit (MCU), a system-on-a-chip (SoC), or other control unit. There can be one or more time synchronization modules; this application does not limit this.

[0081] It should be understood that, depending on the configuration, the data plane clock can be synchronized with the management plane clock or it can be out of sync with the management plane clock.

[0082] A data plane clock refers to a clock used to provide time data for data processing within the logic of autonomous driving algorithms. For example, it can be a clock that provides time data in timestamps for sensor data.

[0083] Management plane clocks refer to clocks used for the maintenance, measurement, and management of autonomous driving systems. For example, clocks that provide time information for printing and saving autonomous driving system logs; clocks that provide time information for data interaction between the autonomous driving system and external devices, such as other vehicles, base stations, and cloud control platforms. For simplicity, examples will not be provided here.

[0084] It should be understood that the data plane clock and the management plane clock can refer to a functional distinction or a physical distinction. That is, the data plane clock and the management plane clock can be two different clocks, or they can be the same clock that can serve as a data plane clock to provide timing data for data processing within the autonomous driving algorithm logic, and also as a management plane clock for the maintenance and management of the autonomous driving algorithm. This application does not limit this.

[0085] The logic module can receive first clock information and second clock information provided by an external clock source and an internal clock source, respectively, and send the clock information to the time synchronization module. Optionally, it can send the information to the data plane clock and the management plane clock, respectively. The first clock information includes a first time synchronization indication and first time information, and the second clock information includes a second time synchronization indication and second time information. The first time synchronization indication is used to instruct the management plane clock to synchronize with the external clock source according to the first time information, and the second time synchronization indication is used to instruct the data plane clock to synchronize with the internal clock source according to the second time information. Exemplarily, the first time synchronization indication and the second time synchronization indication can be a pulse second (PPS). The pulse second can be a high-level pulse signal. For example, the pulse second sent by the external clock source can instruct the management plane clock to synchronize with the external clock source at a certain moment. This moment can be at the rising edge, high level, falling edge of the pulse, or a moment before or after the pulse. This embodiment of the application does not limit this. It should be understood that the above-described first or second time synchronization indications used to indicate that the management plane clock and data plane clock are synchronized with the external clock source and internal clock source, respectively, are merely examples, and the embodiments of this application do not limit this.

[0086] Optionally, the logic module can be a programmable logic device, or a chip or circuit with data processing capabilities that is compatible with two PPS signals, such as a complex programmable logic device (CPLD), FPGA, digital signal processor (DSP), etc. This application does not limit this.

[0087] Optionally, the management plane clock can be synchronized with an external clock source. Specifically, the time synchronization module can acquire first time information and a first time synchronization indication, and adjust the data plane clock according to the first time information and the first time synchronization indication. For example, the external clock source can send first time information and a first time synchronization indication. The time synchronization module can acquire the first time information and the first time synchronization indication sent by the external clock source. After acquiring the first time information, the time synchronization module synchronizes the management plane clock with the external clock source according to the first time synchronization indication. Through the above method, the management plane clock can use an external clock source as its clock source, achieving synchronization between the management plane clock and the external clock source.

[0088] It should be understood that the time synchronization module can directly obtain the first time information and / or the first time synchronization indication from an external clock source, or it can obtain the first time information and / or the first time synchronization indication sent by the external clock source from other modules. For example, the external clock source can send the first time synchronization indication to the logic module, and the time management module obtains the first time synchronization indication from the logic module; or, for another example, the external clock source can send the first time information and the first time synchronization indication to the first clock receiving module (…). Figure 2 (Not shown), the first clock receiving module can send a first time synchronization indication to the logic module, and can also send first time information to the time synchronization module. The time synchronization module can obtain the first time synchronization indication and the first time information from the logic module and the first clock receiving module, respectively. Alternatively, an external clock source can send first time information and / or a first time synchronization indication to the first clock receiving module, and the time synchronization module obtains the first time information and / or the first time synchronization indication from the first clock receiving module. It should be understood that other modules, upon receiving the first time information and / or the first time synchronization indication, may choose not to send it to the time synchronization module, thus preventing the time synchronization module from obtaining the first time information and / or the first time synchronization indication and from synchronizing the management plane clock with the external clock source. It should be understood that there may be one or more clock synchronization modules.

[0089] It should be understood that the above methods for synchronizing the management plane clock with an external clock source are merely examples, and the embodiments of this application do not limit this.

[0090] Optionally, the data plane clock can be synchronized with an internal clock source. Specifically, the time synchronization module can acquire second time information and a second time synchronization indication, and adjust the data plane clock according to the second time information and the second time synchronization indication. For example, the internal clock source can send second time information and a second time synchronization indication. The time synchronization module can acquire the second time information and the second time synchronization indication sent by the internal clock source. After acquiring the second time information, the time synchronization module synchronizes the data plane clock with the internal clock source according to the second time synchronization indication. Through the above method, the data plane clock can use the internal clock source as its clock source, achieving synchronization between the data plane clock and the internal clock source.

[0091] It should be understood that the time synchronization module can directly obtain the second time information and / or the second time synchronization indication from the internal clock source, or it can obtain the second time information and / or the second time synchronization indication sent by the internal clock source from other modules. For example, the internal clock source can send the second time synchronization indication to the logic module, and the time management module obtains the second time synchronization indication from the logic module. It should be understood that after receiving the second time information and / or the second time synchronization indication, other modules may choose not to send it to the time synchronization module, thus preventing the time synchronization module from obtaining the second time information and / or the second time synchronization indication and from synchronizing the data plane clock with the internal clock source.

[0092] It should be understood that the above methods for synchronizing the data plane clock with the internal clock source are merely examples, and the embodiments of this application do not limit this.

[0093] For example, if the internal clock source does not send the second time information and / or the second time synchronization indication, the time synchronization module cannot obtain the second time information and / or the second time synchronization indication. Therefore, the data plane clock cannot synchronize with the internal clock source. The data plane clock can obtain the time information of the management plane clock and synchronize with it. Alternatively, the data plane clock can obtain the first time information and / or the first time synchronization indication from an external clock source and synchronize with it to maintain stable operation of the data plane clock. In this way, the data plane clock and the management plane clock can use the same clock source. It should be understood that since the data plane clock and the management plane clock are synchronized, they can also be the same clock. This clock uses the internal clock source as its clock source and can serve as both a data plane clock and a management plane clock. That is, the time synchronization management module can obtain the second time information and the second time synchronization indication, and can set only one clock and synchronize it with the internal clock source. This clock can serve as both a data plane clock providing time data for data processing within the autonomous driving algorithm logic and a management plane clock for maintaining and managing the autonomous driving algorithm. It should be understood that the above example of using the same clock source for the data plane clock and the management plane clock is merely an example and is not intended to limit the scope of this application.

[0094] For example, if the internal clock source sends second time information and / or a second time synchronization indication, and other modules, after obtaining the second time information and / or the second time synchronization indication, choose not to send the second time information and / or the second time synchronization indication, then the time synchronization module cannot obtain the second time information and / or the second time synchronization indication from that module, thus the data plane clock cannot synchronize with the internal clock source. The data plane clock can obtain the time information from the management plane clock and synchronize with it to maintain stable operation. In this way, the data plane clock and the management plane clock can use the same clock source. For example, if the internal clock source sends second time information to the time synchronization module and sends a second time synchronization indication to the logic module, and the logic module, after obtaining the second time synchronization indication from the internal clock source, chooses not to send the second time synchronization indication, then the time synchronization module can obtain the second time information but cannot obtain the second time synchronization indication, making it impossible for the data plane clock to synchronize with the internal clock source. In this case, the data plane clock can obtain time information from the management plane clock and synchronize with it. It should be understood that since the data plane clock and the management plane clock are synchronized and there is only one clock source, the data plane clock and the management plane clock can also be the same clock. This clock uses the second clock as its clock source and can serve as both a data plane clock and a management plane clock, which will not be elaborated further here. It should be understood that the above example of the data plane clock and the management plane clock using the same clock source is merely an example, and this application does not limit this.

[0095] It should be understood that, since the data plane clock and the management plane clock can use different clock sources, the data plane clock and the management plane clock may not be synchronized; however, since the time synchronization module can synchronize the data plane clock and the management plane clock, the data plane clock and the management plane clock can be synchronized.

[0096] Through the system architecture in this application embodiment, the data plane clock and the management plane clock can use the same clock source; the data plane clock and the management plane clock can also use different clock sources and remain synchronized; the data plane clock and the management plane clock can also use different clock sources and remain asynchronous. That is, according to the system architecture in this application embodiment, a variety of different clock schemes can be implemented.

[0097] It should be understood that the above is merely one possible implementation method. In actual operation, the specific implementation method can be determined based on the actual situation, and no restrictions are imposed here.

[0098] It should be understood that the above-mentioned module can be a hardware module in a hardware device, a software module running on dedicated hardware, or a virtualization module instantiated on a platform (e.g., a cloud platform). Optionally, the above-mentioned module can be implemented by one device, or by multiple devices, or it can be a functional module within a single device. This application embodiment does not specifically limit this.

[0099] It should be understood that the system architecture described above in the embodiments of this application is merely an example of a system architecture described from the perspective of clock synchronization in autonomous driving. The system architecture applicable to the embodiments of this application is not limited to this, and any system architecture that can realize the functions of the above modules is applicable to the embodiments of this application.

[0100] In the embodiments of this application, the management plane clock can be synchronized with the first clock based on the first time information, and the data plane clock can be synchronized with the second clock based on the second time information. This allows for the use of various clock schemes to meet different requirements during the operation of the autonomous driving algorithm, thereby satisfying different requirements such as the stable operation of the autonomous driving algorithm and external interaction.

[0101] For example, for ease of understanding, Figure 3 A schematic diagram of a clock synchronization system architecture is shown, in which a CPLD is used as an example of a logic module, an MCU is used as an example of a first time synchronization module, a SoC is used as an example of a second time synchronization module, a GNSS clock (GNSS_CLK) is used as an example of an external clock source, an operating system clock (Os_CLK) is used as an example of an internal clock source, and a GNSS_CLK PPS is used as an example of a first time synchronization indicator. The first clock receiving module is used to receive the first time information and the first time synchronization indicator sent by the external clock source. The first time information can be included in the GNSS_CLK GPRMC message. The second time synchronization indicator is used as an example of Os_CLK PPS. The methods of data plane clock synchronization and management plane clock synchronization of the MCU under this system architecture are illustrated by examples.

[0102] By way of example, the following describes a method for synchronizing the management plane clock with an external clock source based on the system architecture in the embodiments of this application.

[0103] like Figure 3 As shown, after receiving the GNSS_CLK time information, the combined inertial navigation system sends a GNSS_CLK PPS signal (GNSS_CLK PPS) to the CPLD every second. After receiving the GNSS_CLK PPS, the CPLD can send the PPS to the MCU. The PPS can be used to indicate the time when the management plane clock and the GNSS clock are synchronized. For example, the management plane clock can synchronize with the GNSS clock at the time the GNSS_CLK PPS is received. It should be understood that the above-mentioned timing of the synchronization between the management plane clock and the GNSS clock is only an example for illustrative purposes, and the embodiments of this application do not limit this.

[0104] The integrated inertial navigation system (INS) can send the GPRMC message corresponding to GNSS_CLK PPS to the MCU. The GPRMC message can include GNSS clock time information (i.e., first time information) and GNSS status information. The GNSS status information indicates whether the GNSS positioning status is valid. For example, if the number of satellites above the current antenna field of view is greater than or equal to 3, or the number of GNSS satellites in use is greater than or equal to 3, the GNSS positioning is considered valid, meaning a valid positioning can be obtained based on the current GNSS, or the GNSS status is valid. If the number of satellites above the current antenna field of view is less than 3, or the number of GNSS satellites in use is less than 3, the GNSS positioning is considered invalid, meaning a valid positioning cannot be obtained based on the current GNSS, or the GNSS status is invalid. It should be understood that the above relationship between GNSS status and the number of satellites above the current antenna field of view is merely an example for illustrative purposes, and this application does not limit the scope of the embodiments.

[0105] The MCU can obtain the GNSS clock time information and GNSS status information from the GPRMC message. If the GNSS status is invalid, the MCU can abandon the synchronization of the management plane clock based on an external clock source. If the GNSS status is valid, the MCU can synchronize the management plane clock according to the GNSS clock. For example, the MCU can use the GNSS clock time information in the GPRMC message to adjust the time of the management plane clock in the MCU; or, for another example, the MCU can use the integer second information of the GNSS clock time in the GPRMC message, as well as the delay information, to adjust the time of the management plane clock in the MCU. The delay information can be preset in the system configuration or calculated based on the vehicle status; this application does not limit this. It should be understood that the above-described management plane clock synchronization methods are merely examples for illustrative purposes, and the embodiments of this application do not limit this approach.

[0106] By way of example, the following describes a method for synchronizing the data plane clock with the internal clock source based on the system architecture in the embodiments of this application.

[0107] like Figure 3 As shown, after the CPLD starts up, based on the local crystal oscillator, the CPLD can output Os_CLK pulses per second, i.e., Os_CLK_PPS, to the MCU and SoC. The timing of the CPLD sending Os_CLK_PPS can be the same as or different from the timing of sending GNSS_CLK_PPS; this embodiment does not limit this.

[0108] After receiving the Os_CLK PPS sent by the CPLD, the MCU can synchronize its data plane clock with Os_CLK. For example, the time information of Os_CLK can be used to adjust the time of the data plane clock in the MCU; or, for example, the integer second information of Os_CLK and the delay information can be used to adjust the time of the data plane clock in the MCU. The integer second information of Os_CLK can be obtained by rounding the non-integer second part of Os_CLK. That is, when the non-integer second part of Os_CLK is less than 500ms, the integer second value of Os_CLK is used; when the non-integer second part of Os_CLK is greater than or equal to 500ms, the integer second value of Os_CLK is used plus 1. The delay information can be preset in the system configuration or calculated based on the vehicle status; this embodiment does not limit this.

[0109] It should be understood that the MCU data plane clock can be fine-tuned by following the Os_CLK_PPS sent by the CPLD.

[0110] It should be understood that when the CPLD does not send the second pulse of Os_CLK to the MCU, the data plane clock may not be synchronized with Os_CLK. Depending on the system configuration, the data plane clock can obtain time information from the management plane clock and synchronize with it, thereby synchronizing with the GNSS clock; or the data plane clock can obtain time information from the GNSS clock and synchronize with it; or the data plane clock and management clock can be the same clock, and this clock is synchronized with the GNSS clock. The above methods for synchronizing the data plane clock with the GNSS clock are merely examples for illustrative purposes, and the embodiments of this application do not limit this.

[0111] It should be understood that, through the system architecture in this application embodiment, the data plane clock and the management plane clock can use the same clock source, such as a GNSS clock source; alternatively, the data plane clock and the management plane clock can use different clock sources. Since the data plane clock and the management plane clock in the MCU can use different clocks as their clock sources, the data plane clock and the management plane clock can be synchronized or desynchronized. For example, the data plane clock and the management plane clock can use different clocks as their clock sources and remain synchronized. For instance, the data plane clock uses Os_CLK as its clock source, and the management plane clock uses GNSS_CLK as its clock source, and the data plane clock and the management plane clock are synchronized; that is, the synchronization mode of the data plane clock and the management plane clock is determined to be synchronized. Alternatively, the data plane clock and the management plane clock can use different clock sources and remain desynchronized. For instance, the data plane clock uses Os_CLK as its clock source, and the management plane clock uses GNSS_CLK as its clock source, and the data plane clock and the management plane clock are not synchronized; that is, the synchronization mode of the data plane clock and the management plane clock is determined to be desynchronized. It should be understood that, based on the system architecture in this application embodiment, various different clocking schemes can be implemented.

[0112] It should be understood that if there are multiple time synchronization modules, the management plane clock synchronization and data plane clock synchronization of these multiple time synchronization modules can be similar to those of the MCU. For example, the data plane clock synchronization and management plane clock synchronization of the second clock synchronization module SoC are similar to those of the first clock synchronization module MCU. For the sake of simplicity, this will not be elaborated here.

[0113] It should be understood that the above is merely one implementation method for a time synchronization system architecture. In actual operation, it can be determined according to the actual situation, and no limitation is made here.

[0114] Figure 4 A flowchart of a clock synchronization method provided in an embodiment of this application is shown. The method 200 includes steps S210 to S220. The steps of method S200 are described in detail below.

[0115] S210, acquire a first signal, which includes clock information from an external clock source.

[0116] Specifically, the external clock source can be a GNSS clock or an NTP clock. When the external clock source is a GNSS clock, the first signal can be a GNSS signal, which the vehicle can obtain from the Global Navigation Satellite System, and this signal includes the clock information of the GNSS clock. When the external clock source is an NTP clock, the first signal can be a mobile signal, which the vehicle can obtain from network devices such as base stations and Wi-Fi, and this signal includes the clock information of the NTP clock.

[0117] It should be understood that the first signal can be obtained through a receiving module, such as an antenna, a signal receiving unit, or an external device. The external device can be an inertial navigation system, a vehicle-mounted intelligent terminal (telematics box, T-BOX), etc. This application does not limit this.

[0118] S215, determine the signal quality of the first signal.

[0119] Specifically, the signal quality of the first signal can be determined based on the acquired first signal.

[0120] Optionally, the signal quality of the first signal may be the signal strength of the first signal, the signal-to-noise ratio of the first signal, or other indicators used to characterize the signal quality of the first signal.

[0121] It should be understood that the signal quality of a first signal can be evaluated using one or more signal parameters. For example, signal strength can be used to characterize the signal quality of a GNSS signal. Alternatively, multiple signal parameters can be used to characterize the signal quality of a GNSS signal. For example, signal strength, GNSS state, and signal-to-noise ratio can be used to comprehensively evaluate the quality of a GNSS signal. That is, the signal quality of a GNSS signal can be evaluated using one or more GNSS signal parameters, and this application does not limit this.

[0122] S220, determine the clock mode based on the signal quality of the first signal. The clock mode includes a first clock mode and a second clock mode. When the vehicle operates in the first clock mode, the vehicle obtains the first clock information from an external clock source. When the vehicle operates in the second clock mode, the vehicle obtains the first clock information from an external clock source and the second clock information from an internal clock source, respectively. The internal clock source is located inside the vehicle.

[0123] It should be understood that the first clock mode refers to the data plane clock and the management plane clock using the same clock source. Specifically, the data plane clock and the management plane clock use an external clock source, for example, both the data plane clock and the management plane clock use a GNSS clock as their clock source. The second clock mode refers to the data plane clock and the management plane clock using different clock sources. Specifically, the management plane clock uses an external clock source, which can be a GNSS clock or an NTP clock, while the data plane clock uses an internal clock source, which can be a local hardware real-time clock.

[0124] It should be understood that the first clock mode refers to the data plane clock and the management plane clock using the same clock source. This can mean that the same clock is used in the time synchronization module as both a data plane clock to provide time data for data processing within the autonomous driving algorithm logic and a management plane clock to manage and maintain the autonomous driving algorithm, and this clock uses an external clock source as its clock source. Alternatively, it can mean that in the time synchronization module, two clocks are used as the data plane clock and the management plane clock respectively, and the data plane clock and the management plane clock use the same clock source.

[0125] Optionally, the clock mode can be determined based on the system configuration. For example, when autonomous driving is first started, the clock mode can be determined based on the system's default clock scheme.

[0126] It should be understood that, depending on the system configuration, the clock mode can be determined as either a first clock mode or a second clock mode without needing to confirm signal quality. For example, the clock mode can be determined as either a first clock mode or a second clock mode based on the system configuration, allowing autonomous driving to operate solely in either the first or second clock mode without confirming the signal quality of a first signal or without needing to adjust the clock mode based on changes in the signal quality of the first signal. This system configuration can be used to indicate the vehicle's clock scheme, i.e., to instruct the vehicle to operate in either the first or second clock mode. It should be understood that the above method of determining the clock mode based on system configuration is merely an example, and this application does not limit it.

[0127] Optionally, when the signal quality of the first signal is greater than or equal to a first threshold, the clock mode is determined to be the first clock mode. Here, the first threshold represents a threshold representing the signal quality of the first signal that can provide stable clock information for autonomous driving.

[0128] It should be understood that when a signal parameter is used to characterize a first signal, the first threshold can be a threshold related to that parameter. For example, when signal strength is used to characterize the signal quality of a GNSS signal, the first threshold can be -130dBm; when signal strength is used to characterize a mobile signal transmitted by a base station, the first threshold can be -90dBm. When multiple signal parameters are used to characterize a GNSS signal or a wireless signal transmitted by a base station, the first threshold can refer to a threshold related to multiple signal parameters. For example, when signal strength and signal-to-noise ratio (SNR) are used to characterize the signal quality of a GNSS signal, the corresponding first threshold could be a signal strength of -130dBm and a SNR of 70dB; it could also be a score for different parameters. It should be understood that the above examples of the first threshold are for ease of understanding only, and the embodiments of this application do not limit this.

[0129] For example, when the signal strength of the first signal is greater than or equal to the first threshold, the clock mode is determined as the first clock mode. For instance, when the signal strength of the acquired GNSS signal is not lower than -130dBm, it is considered that the GNSS signal quality is good and can provide a stable signal for autonomous driving, and the clock mode can be determined as the first clock mode; or, for instance, when the signal strength of the acquired GNSS signal is lower than -130dBm for some periods of time, but the duration of the GNSS signal being lower than -130dBm is less than 200ms, it is considered that the GNSS signal quality is good and can provide a stable signal for autonomous driving, and the clock mode can be determined as the first clock mode.

[0130] For example, when acquiring GNSS signals from multiple satellites, if the signal strength of more than a specified number of GNSS signals received is higher than a specified GNSS signal strength threshold, the clock mode is determined to be the first clock mode. For instance, if GNSS signals from 10 satellites are acquired, and the signal strength of GNSS signals from at least 5 of these 10 satellites is not lower than -130dBm, the GNSS quality is considered good and can provide a stable signal for autonomous driving. In this case, the first threshold can be understood as the signal strength of 5 GNSS signals being not lower than -130dBm. When the signal quality of the GNSS signals is greater than or equal to the first threshold, the clock mode is determined to be the first clock mode.

[0131] For example, when the GNSS status is valid, or when the number of satellites above the current antenna field of view is greater than or equal to a first threshold, the clock mode is determined to be the first clock mode. For instance, if the number of satellites above the current antenna field of view is not less than 5, that is, if the current number of satellites searched is not less than 5, it is considered that the current GNSS can provide a valid signal for autonomous driving, and the clock mode can be set to the first clock mode.

[0132] For example, when the signal-to-noise ratio (SNR) of the GNSS signal is not lower than a first threshold, the clock mode is determined to be the first clock mode. For instance, when the SNR is not lower than 70 dB, it is considered that the current GNSS can provide a stable signal for autonomous driving, and the clock mode can be set to the first clock mode.

[0133] For example, when the difference between the time interval between two consecutive GNSS signal update times and the standard time interval exceeds a specified threshold multiple times consecutively, the clock mode is determined to be the first clock mode. For instance, for a GNSS signal with an update frequency of 1Hz, when the time difference between the time interval between two consecutive GNSS signal update times (e.g., 1.02s) and the standard GNSS signal update time interval (e.g., 1s) is less than a specified threshold (e.g., 0.05s) multiple times consecutively (e.g., 3 times consecutively), it is considered that the current GNSS signal can provide a stable signal for autonomous driving, and the clock mode can be set to the first clock mode. For simplicity, further examples are not provided.

[0134] It should be understood that different first thresholds can be set according to the different requirements of the autonomous driving algorithm for GNSS signal quality, and the clock mode can be determined based on the first threshold.

[0135] It should be understood that the external clock source can be determined based on the signal quality of the first signal. For example, when the signal strength of the first signal is greater than a first threshold, and autonomous driving is executed in a first clock mode, if the signal strength of the first signal is lower than the switching clock signal threshold, the clock source can be switched. The switching clock signal threshold can represent the threshold used to determine the signal quality of the first signal as the external clock source when the vehicle is driving in the first clock mode. It should be understood that the switching clock signal threshold is greater than the first threshold. For example, if the vehicle is driving in the first clock mode, and the current external clock source is a GNSS clock, and the first signal is a GNSS signal, and the signal strength of this GNSS signal (e.g., -123dBm) is higher than the first threshold (e.g., -130dBm) but lower than the corresponding switching clock signal threshold (e.g., -120dBm), while the signal strength of the mobile signal currently obtained by the vehicle from the base station (e.g., -80dBm) is higher than the corresponding switching clock signal threshold (e.g., -83dBm) when this signal is used as the first signal, and also higher than the corresponding first threshold (e.g., -90dBm), in this case, the external clock source can be switched from the GNSS clock to the NTP clock. For the sake of brevity, examples will not be provided one by one. This method can provide a more accurate clock for the first clock mode, ensuring the stable operation of autonomous driving.

[0136] Optionally, the external clock source can be determined based on the signal quality of the first signal and the vehicle's environment. For example, when a vehicle is traveling on an open urban road in the first clock mode and subsequently enters an underground parking garage, the vehicle's current external clock source is a GNSS clock. The corresponding first signal is a GNSS signal with a signal strength (e.g., -120dBm) higher than a first threshold (e.g., -130dBm). If the signal strength of the mobile signal obtained by the vehicle from the base station (e.g., -80dBm) is higher than the first threshold (e.g., -90dBm) when that signal is used as the first signal, and since the vehicle cannot obtain a stable GNSS signal in the underground parking garage, the external clock source can be switched from a GNSS clock to an NTP clock to ensure smooth operation of autonomous driving after the vehicle enters the underground parking garage. It should be understood that the vehicle's environment can be determined through image information obtained by the vehicle, the obtained GNSS signal, or the vehicle's interaction with the outside world. This method can provide a more accurate clock for the first clock mode, ensuring stable operation of autonomous driving.

[0137] Optionally, when the quality of the GNSS signal is below a first threshold, the clock mode is determined to be a second clock mode.

[0138] For example, when the GNSS signal strength is below a first threshold, such as when the GNSS signal strength is below -130dBm, the clock mode is determined to be the second clock mode, which will not be elaborated here.

[0139] For example, when the GNSS state is invalid, or the number of satellites above the current antenna field of view is less than a first threshold, for example, when the number of satellites above the current antenna field of view is less than 3, the clock mode is determined to be dual clock mode.

[0140] For example, when the signal-to-noise ratio of the GNSS signal is lower than a first threshold, such as when the signal-to-noise ratio of the GNSS signal is lower than 70dB, the clock mode is determined to be a dual-clock mode.

[0141] It should be understood that when the signal quality of the first signal acquired by the vehicle changes, the clock mode can be adjusted accordingly. For example, when the vehicle is driving in the first clock mode, if the signal quality of the GNSS signal acquired by the vehicle changes from being greater than or equal to a first threshold to being less than the first threshold—for example, if the signal strength of the GNSS signal changes from -120dBm to -135dBm and the corresponding first threshold is -130dBm—the clock mode can be adjusted from the first clock mode to the second clock mode, and the vehicle can subsequently drive in the second clock mode. For simplicity, further examples are not provided. It should be understood that the above method of adjusting the clock mode according to the signal quality of the first signal is merely an example, and the embodiments of this application do not limit this approach.

[0142] It should be understood that the above method for determining the clock mode based on the first threshold is merely an example, and this application does not limit it.

[0143] It should be understood that after determining the clock mode, the data plane clock and the management plane clock will be synchronized with their respective clock sources.

[0144] It should be understood that, according to the time synchronization system architecture of the embodiments of this application, the data plane clock and the management plane clock can be synchronized with their clock sources, which will not be elaborated here.

[0145] According to the method of this application embodiment, the clock mode can be determined based on the signal quality of the first signal, so that the vehicle can drive in the first clock mode or the second clock mode according to different scenario requirements, so as to ensure the stability of the application logic of the autonomous driving algorithm, and so that the hardware or software logic of the same domain controller can meet the needs of different scenarios for different clock schemes.

[0146] It should be understood that, in the embodiments of this application, by determining the clock mode as the first clock mode when the first signal quality is good, the clock synchronization logic can be simplified and the energy and computing resource dissipation caused by clock synchronization can be reduced, provided that the clock information provided by the first signal is sufficient to maintain the stability of the autonomous driving algorithm application logic. By determining the clock mode as the second clock mode when the first signal quality is poor, the time jump caused by the poor signal quality of the first signal when using only an external clock source can be avoided, thereby maintaining the stability of the autonomous driving algorithm application logic.

[0147] Optionally, the second clock mode includes a dual-clock synchronous mode and a dual-clock asynchronous mode. The choice between these modes depends on whether external interaction is involved. In the dual-clock synchronous mode, the data plane clock can be synchronized with the management plane clock, ensuring synchronization between them. In the dual-clock asynchronous mode, the data plane clock and management plane clock do not need to be synchronized. External interaction refers to communication between the vehicle and other devices, such as vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), and vehicle-to-cloud (V2C) control platforms.

[0148] In this embodiment, when there is no need for external interaction, the second clock mode can be determined as a dual-clock asynchronous mode, so that the data plane clock and the management plane clock do not need to be synchronized. This avoids the time jump caused by the synchronization of the management plane clock and the external clock source affecting the data plane clock when the signal quality of the first signal is poor, thus preventing this time jump from affecting the autonomous driving application logic and maintaining the stable operation of autonomous driving. When there is a need for external interaction, the second clock mode can be determined as a dual-clock synchronous mode. By synchronizing the data plane clock and the management plane clock, the needs of autonomous driving for external interaction can be met. By distinguishing between dual-clock synchronous mode and dual-clock asynchronous mode, the vehicle can determine a more reasonable clock scheme according to different needs.

[0149] It should be understood that the second clock mode can be determined as either a dual-clock synchronous mode or a dual-clock asynchronous mode based on the system configuration. For example, when starting autonomous driving for the first time, the second clock mode can be determined as either a dual-clock synchronous mode or a dual-clock asynchronous mode based on the system's default clock scheme.

[0150] It should be understood that, depending on the system configuration, the second clock mode can be determined as either a dual-clock synchronous mode or a dual-clock asynchronous mode without needing to confirm external interaction requirements. For example, the system configuration can determine the second clock mode as either a dual-clock synchronous mode or a dual-clock asynchronous mode, allowing the vehicle to operate solely in either dual-clock synchronous or dual-clock asynchronous mode without needing to confirm the signal quality of the first signal or external interaction requirements, or without needing to adjust the second clock mode to dual-clock synchronous or dual-clock asynchronous mode based on changes in external requirements. This system configuration can indicate the vehicle's clock scheme and can be used to instruct the vehicle to operate in either dual-clock synchronous or dual-clock asynchronous mode. It should be understood that the above method of determining the clock mode based on system configuration is merely an example, and this application does not limit it.

[0151] It should be understood that synchronization between the data plane clock and the management plane clock can mean that the time between the data plane clock and the management plane clock is exactly the same, or it can mean that the time difference between the data plane clock and the management plane clock is within a small range. For example, if the time difference between the data plane clock and the management plane clock is within a second threshold, it is considered that the data plane clock and the management plane clock are synchronized.

[0152] Optionally, in the dual-clock synchronization mode, the external clock source can be determined according to the vehicle's environment. In other words, the clock source for the management surface clock in the dual-clock synchronization mode can be determined according to the vehicle's driving scenario.

[0153] For example, the vehicle's environment can be determined based on image data acquired by the vehicle; the vehicle's environment can be determined based on acquired GNSS signals; the vehicle's environment can be determined based on acquired vehicle-to-everything (V2X) interactions; and the vehicle's driving scenario can be determined based on other acquired information. It should be understood that the above methods for determining the vehicle's environment are merely illustrative examples, and the embodiments of this application do not limit the scope of the invention.

[0154] Optionally, the scene management module can determine the vehicle's environment. The scene management module determines the vehicle's driving scenario, i.e., the vehicle's environment, based on the obtained information. For example, the scene management module can determine the vehicle's environment based on one or more of the following: image data acquired by the vehicle, GNSS signals, or interaction information between the vehicle and the outside world. It can also determine the vehicle's environment based on other methods, such as onboard radar detection results. It should be understood that the above-described method for the scene management module to determine the vehicle's driving scenario is merely an example, and this application embodiment does not impose any limitations on it.

[0155] For example, determining the external clock source, i.e., the clock source for the management plane clock, based on the vehicle's environment can be done by determining the clock source based on the vehicle's current environment. For instance, when the vehicle is on an open urban road, it is assumed that the GNSS signal in the current environment can provide clock information, and the external clock source is determined to be a GNSS clock; or when the vehicle is in an underground parking garage, it is assumed that the GNSS signal in the current environment cannot provide stable clock information, and the external clock source is determined to be an NTP clock; or when the vehicle is under a tunnel or bridge, the external clock source is determined to be an NTP clock; or when the vehicle is at the entrance or exit of a tunnel or open road, the external clock source is determined to be an NTP clock; or when the vehicle is in an indoor parking lot, the external clock source is determined to be an NTP clock; or when the vehicle is in an open-air parking lot, the external clock source is determined to be a GNSS clock; or when the vehicle is in other scenarios, the external clock source can be determined to be either a GNSS clock or an NTP clock. The above methods of determining the external clock source based on the vehicle's current environment are merely examples, and this application does not limit the scope of the embodiments.

[0156] For example, the clock source for the management clock can be determined based on the vehicle's current environment, or it can be determined based on the environment the vehicle will be in in the future. For instance, when the vehicle is on an open urban road and will subsequently enter an underground parking garage, the external clock source can be adjusted from a GNSS clock to an NTP clock while the vehicle is on the open urban road before entering the underground garage. This ensures the smooth operation of the autonomous driving function after the vehicle enters the underground garage and avoids time jumps caused by inappropriate clock synchronization timing affecting the application logic of autonomous driving. The above method of determining the external clock source based on the vehicle's future environment is merely an example, and this application does not limit the scope of the embodiments.

[0157] In this embodiment of the application, by determining the external clock source, a better clock source can be selected for the management plane clock, which can avoid the impact on the application logic of autonomous driving due to the management plane clock's inability to obtain accurate time information from its clock source.

[0158] Optionally, if the second clock mode is a dual-clock synchronization mode, the data plane clock can be synchronized with the management plane clock based on a second threshold. Specifically, if the time difference between the data plane clock and the management plane clock is greater than the second threshold `time_gap`, the data plane clock is synchronized with the management plane clock. For example, when the time difference between the data plane clock and the management plane clock is greater than or equal to 200ms, the data plane clock is synchronized with the management plane clock; or if the time difference between the data plane clock and the management plane clock is less than or equal to the second threshold, the management plane clock and the data plane clock are not synchronized. It should be understood that the above method of synchronizing the data plane clock with the management plane clock based on the second threshold is only an example, and this application does not limit it.

[0159] Optionally, if the second clock mode is a dual-clock synchronization mode, the data plane clock can be synchronized with the management plane clock based on the vehicle speed. Specifically, if the vehicle speed is less than a third threshold, the data plane clock is synchronized with the management plane clock. For example, when the vehicle speed is less than or equal to 5 km / h, the data plane clock is synchronized with the management plane clock; or if the vehicle speed is greater than or equal to the third threshold, the management plane clock and the data plane clock are not synchronized. The third threshold represents the maximum speed at which time jumps are permissible for autonomous driving in the current scenario. It should be understood that the third threshold can be a fixed value or a different threshold determined according to different scenarios. For example, when the vehicle is traveling on urban roads, the third threshold can be 5 km / h; or when the vehicle is traveling on an open highway, the third threshold can be 85 km / h. It should be understood that the above method of synchronizing the data plane clock with the management plane clock based on the vehicle speed is merely an example, and this application does not limit it.

[0160] Optionally, if the second clock mode is a dual-clock synchronization mode, the data plane clock can be synchronized with the management plane clock based on whether the vehicle has been taken over. For example, the driver monitoring system (DMS) determines the current driver status; if it determines the vehicle has been taken over by the user, the data plane clock can be synchronized with the management plane clock. This method allows the vehicle to synchronize its data plane clock with the management plane clock even when it is in a safe state under takeover, avoiding any impact on the autonomous driving algorithm.

[0161] It should be understood that the data plane clock can be synchronized with the management plane clock based on the second threshold and the vehicle speed. Specifically, when the time difference between the data plane clock and the management plane clock is greater than the second threshold `time_gap`, the synchronization of the data plane clock and the management plane clock can be determined based on the vehicle speed. For example, if the vehicle speed is less than the third threshold, the data plane clock is synchronized based on the management plane clock. For example, when a vehicle is driving on complex urban roads, such as during peak commuting hours in congested urban areas, the time difference between the data plane clock and the management plane clock is greater than the time gap. If the vehicle speed is less than the third threshold, such as 1 km / h, it can be determined that clock synchronization will not affect autonomous driving in the current state based on the vehicle's speed being less than the third threshold, and the data plane clock can be synchronized according to the management plane clock. Similarly, when a vehicle is traveling at a higher speed on simple road conditions, such as on a highway with no other vehicles, the time difference between the data plane clock and the management plane clock is greater than the time gap. If the vehicle speed is less than the third threshold, such as 85 km / h, it can be determined that clock synchronization will not affect autonomous driving in the current state based on the vehicle's speed being less than the third threshold, and the data plane clock can be synchronized according to the management plane clock.

[0162] For example, when the time difference between the data plane clock and the management plane clock is greater than a second threshold, the vehicle is determined to be under takeover before the management plane clock synchronizes the data plane clock. For instance, when the vehicle is traveling at a speed higher than the second threshold on a complex urban road, if the time difference between the data plane clock and the management plane clock is greater than time_gap, it is determined whether the vehicle has been under takeover. If the vehicle has been under takeover, it can be considered that the current vehicle is in a safe state, and the time jump caused by synchronizing the management plane clock with the data plane clock will not affect autonomous driving. If the vehicle has not been under takeover, it is determined whether autonomous driving has been discontinued. If it has not discontinued autonomous driving, the user can be prompted to take over the vehicle or discontinue autonomous driving.

[0163] It should be understood that the above method of synchronizing the data plane clock with the management plane clock is only an example for illustrative purposes, and the embodiments of this application do not limit it.

[0164] It should be understood that data plane clocks and management plane clocks can be synchronized according to system settings. For example, when developing autonomous driving algorithms, algorithm developers may configure the clock synchronization methods and conditions. For instance, during vehicle operation, the data plane clock and management plane clock can be synchronized according to system settings.

[0165] For example, when starting autonomous driving for the first time, the dual-clock mode can be determined as either a dual-clock synchronous mode or a dual-clock asynchronous mode based on the system's default clock scheme.

[0166] Optionally, the vehicle may include a first device and a second device, both of which include a data plane clock and a management plane clock, wherein both the first device and the second device can control the vehicle's movement.

[0167] For example, when the first device controls the vehicle's movement, if it needs to synchronize the data plane clock according to the management plane clock, for instance, when the time difference between the data plane clock and the management plane clock in the first device exceeds a second threshold, the data of the first device can be backed up to the second device. The second device then controls the vehicle's movement based on the backed-up data from the first device, and synchronizes the data plane clock of the first device according to the management plane clock of the first device. Here, the data of the first device can refer to the data used by the first device to control the vehicle's movement.

[0168] In this embodiment, by backing up the data of the first device controlling the vehicle's movement to the second device, and having the second device control the vehicle's movement, the data plane clock can be synchronized according to the management plane clock of the first device, thus avoiding any impact on the application logic of autonomous driving and ensuring the stable operation of autonomous driving.

[0169] Furthermore, after synchronizing its data plane clock with the management plane clock of the first device, the first device can control the vehicle's movement.

[0170] Specifically, the data from the second device can be backed up to the first device, so that the first device can control the vehicle to move again based on the backed-up data from the second device. Here, the data from the second device can refer to the data used by the second device to control the vehicle's movement.

[0171] In this embodiment, by backing up the data of the second device that temporarily controls the vehicle's movement to the first device, the first device can control the vehicle's movement again after synchronizing the data plane clock according to the management plane clock. When the performance of the first device in running autonomous driving is higher than that of the second device, the autonomous driving algorithm can run more smoothly and efficiently.

[0172] Furthermore, once the first device takes control of the vehicle again, its data plane clock can be synchronized with the second device's management plane clock. This ensures that when the second device subsequently needs to control the vehicle, the asynchrony between its data plane clock and management plane clock can be avoided, preventing any impact on autonomous driving.

[0173] In this embodiment of the application, when the algorithm development user can obtain clock synchronization permission in the domain controller, the system configuration set by the algorithm development user can be used to coordinate the switching of execution and state within the vehicle and the domain controller, and coordinate the vehicle driving controlled by the first device or the second device to achieve synchronization between the management plane clock and the data plane clock, thereby maintaining the stable operation of autonomous driving.

[0174] In this embodiment of the application, by synchronizing the data plane clock and the management plane clock, the impact of time jumps on autonomous driving can be avoided while satisfying external interaction, thus ensuring the stable operation of autonomous driving application logic.

[0175] For example, Figure 5 This is an exemplary flowchart of a clock synchronization method provided in an embodiment of this application. Figure 5 As shown, it includes the following steps:

[0176] The S310 allows you to configure the clock scheme through system configuration.

[0177] Optionally, a clock scheme can be configured in the system configuration. It should be understood that the system configuration can set one or more parameters including clock mode, a first threshold for determining the clock mode, a threshold for determining the switching clock signal of the external clock source, a synchronization mode between the data plane clock and the management plane clock, a second threshold, a third threshold, and the vehicle's environment for determining the external clock source. For example, setting the clock mode to the first clock mode or the second clock mode in the system configuration can configure a default clock mode for the vehicle. Optionally, the synchronization mode between the data plane clock and the management plane clock can be configured in the system configuration. For example, setting the clock mode to the second clock mode and setting the synchronization mode between the data plane clock and the management plane clock to synchronous, i.e., configuring the second clock mode as a dual-clock synchronous mode; or setting the synchronization mode between the data plane clock and the management plane clock to asynchronous, i.e., configuring the second clock mode as a dual-clock asynchronous mode. Optionally, a second threshold `time_gap` that triggers the synchronization of the data plane clock according to the management plane clock can be configured in the system configuration. For example, the second threshold for triggering synchronization can be: when the time difference between the data plane clock and the management plane clock is less than the second threshold, the data plane clock and the management plane clock are considered to be in a synchronized state, meeting the requirements of autonomous driving, and there is no need to synchronize the data plane clock according to the management plane clock; when the time difference between the data plane clock and the management plane clock is greater than or equal to the second threshold, the data plane clock and the management plane clock are considered to be in a desynchronized state, and the data plane clock can be synchronized according to the management plane clock. It should be understood that the above method of configuring the clock scheme in the system configuration is only an example for illustrative purposes, and the embodiments of this application do not limit it.

[0178] S320, activate autopilot.

[0179] It should be understood that autonomous driving can be initiated by powering on the autonomous driving domain controller; or by powering on the onboard central computer, onboard central computing platform, or onboard cloud computing controller. This application does not limit this to any particular type of controller.

[0180] S330, the basic time synchronization service module, determines whether the clock mode is the first clock mode or the second clock mode. If the clock mode is determined to be the first clock mode, proceed to S340; if the clock mode is determined to be the second clock mode, proceed to S350.

[0181] Optionally, the clock mode can be determined based on the signal quality of the GNSS signal. When the GNSS signal quality is greater than or equal to a first threshold, the clock mode is determined as the first clock mode, and when the GNSS signal quality is less than the first threshold, the clock mode is determined as the second clock mode.

[0182] It should be understood that the clock mode is determined based on the signal quality of the GNSS signal, and the GNSS signal is acquired before the clock mode is determined.

[0183] For example, when the vehicle is traveling on an open road with good GNSS signal, the clock mode can be determined as the first clock mode based on the good GNSS signal quality. For instance, when the signal parameters of the GNSS signal are greater than or equal to a first threshold, the clock mode is determined as the first clock mode. This simplifies the clock synchronization logic while meeting the requirements of autonomous driving, thereby saving the overhead of resources used for clock synchronization. When the vehicle is traveling in a tunnel, the clock mode can be determined as the second clock mode based on the poor GNSS signal quality. This allows the autonomous driving operation to be maintained based on the internal clock source when the GNSS signal quality is poor.

[0184] It should be understood that step S330 can correspond to step S220, and will not be described again here.

[0185] Optionally, the clock mode can be determined based on the system configuration. For example, the system configuration in step S310 can be read to obtain the clock mode configuration information in the system configuration of step S310, and the clock mode can be determined based on the configuration information.

[0186] S340, the vehicle operates in autonomous driving mode according to the first clock mode.

[0187] It should be understood that in the first clock mode, the clock source for the data plane clock and the management plane clock can be a GNSS clock.

[0188] For example, the first clock mode can be applied in autonomous driving scenarios with good GNSS signal quality, or in autonomous driving scenarios that can withstand GNSS clock jumps. It should be understood that autonomous driving algorithms that can withstand GNSS clock jumps and those that cannot can have different first thresholds set. This application does not limit this approach.

[0189] In this embodiment of the application, by determining the clock mode, autonomous driving can operate according to the first clock mode. While satisfying the application logic of autonomous driving, the logic of clock synchronization can be simplified, the complexity of clock synchronization can be reduced, and thus the overhead of resources used for clock synchronization can be saved.

[0190] S350, the vehicle operates in autonomous driving mode according to the second clock mode.

[0191] It should be understood that in the dual-clock mode, the management plane clock can be based on an external clock source, and the data plane clock can be based on an internal clock source. For example, the external clock source can be a GNSS clock or an NTP clock, and the second clock can be an RTC clock, which will not be elaborated here.

[0192] Optionally, depending on the scenario, either a GNSS clock or an NTP clock can be selected as the clock source for the management plane clock. For example, when the vehicle is in a scenario with good GPS signal, such as on an open urban road, the management plane clock can choose to use a GNSS clock as its clock source; in a scenario under a tunnel or bridge, the management plane clock can choose to use an NTP clock as its clock source; at the entrance / exit of a tunnel and an open road, the management plane clock can choose to use a GNSS clock as its clock source; and in a scenario in an underground parking garage, the management plane clock can choose to use an NTP clock as its clock source. It should be understood that the above examples of choosing either a GNSS clock or an NTP clock as the clock source for the management plane clock in different scenarios are merely examples, and this application embodiment does not impose any limitations on this.

[0193] It should be understood that before autonomous driving can be executed in a dual-clock manner, the data plane clock and the management plane clock need to be synchronized with their respective clock sources, which will not be elaborated here.

[0194] In this embodiment of the application, by selecting the clock source of the management plane, a more accurate clock source can be selected. This can avoid the impact on the application logic of autonomous driving due to the inaccuracy of the clock source of the management plane.

[0195] In this embodiment of the application, by determining the clock mode as the second clock mode, the impact of time jumps on the application logic of autonomous driving can be avoided.

[0196] S360, confirm dual clock synchronization setting. If the data plane clock and management plane clock are set to synchronize, confirm the second clock mode as dual clock synchronization mode, and proceed to S370; or if the data plane clock and management plane clock are set to desynchronize, confirm the second clock mode as dual clock desynchronization mode, and proceed to S380.

[0197] It should be understood that the system configuration file set by the user in the algorithm development can be used to determine whether the second clock mode is a dual-clock synchronous mode or a dual-clock asynchronous mode, based on the configuration of the second clock mode in the clock scheme configured in step S310; it can also be determined based on whether the vehicle has communication requirements with external devices; or it can be determined by other methods. It should be understood that the above methods for determining whether the second clock mode is a dual-clock synchronous mode or a dual-clock asynchronous mode are merely examples for illustrative purposes, and the embodiments of this application do not limit this approach.

[0198] The S370 vehicle operates in autonomous driving mode based on a dual-clock synchronization system.

[0199] It should be understood that the dual-clock synchronization mode refers to the synchronization of the data plane clock and the management plane clock, which will not be elaborated here.

[0200] For example, when a vehicle is traveling on complex urban roads with poor GNSS signal quality in some sections and needs to interact with the outside world, autonomous driving can be performed in a dual-clock synchronization mode. This method allows for both external interaction and stable operation of the autonomous driving system. It should be understood that the above scenarios applicable to autonomous driving in dual-clock synchronization mode are merely examples for illustrative purposes, and the embodiments of this application do not limit the scope of the application.

[0201] S380: The vehicle operates in an autonomous driving mode based on a dual-clock asynchronous mode.

[0202] It should be understood that the dual-clock asynchronous mode refers to the data plane clock and the management plane clock being out of sync, which will not be elaborated further here.

[0203] For example, when a vehicle is traveling on complex urban roads with poor GNSS signal quality in some sections and does not need to interact with the outside world, autonomous driving can be performed in a dual-clock asynchronous mode. In this way, the stable operation of autonomous driving can be maintained. It should be understood that the above applies to scenarios in which autonomous driving operates in a way that the data plane clock and the management plane clock are asynchronous in the dual-clock mode. It is only an example for illustrative purposes, and the embodiments of this application do not limit this.

[0204] According to the clock synchronization method for autonomous driving according to the embodiments of this application, a clock mode can be determined, which can be either a first clock mode or a second clock mode. If the clock mode is determined to be the second clock mode, it can be determined to be either a dual-clock synchronous mode or a dual-clock asynchronous mode. By determining the clock mode and whether the data plane clock and management plane clock are synchronized, users can flexibly configure different clock schemes such as the first clock mode, dual-clock synchronous mode, and dual-clock asynchronous mode for autonomous driving functions according to different autonomous driving scenarios. This allows the same set of domain controller hardware and software logic to meet the different clock synchronization requirements of users in different scenarios.

[0205] For example, Figure 6 This is an exemplary flowchart of a method for dual-clock synchronization mode provided in an embodiment of this application. Figure 6 As shown, the following steps may be included:

[0206] S410, obtains vehicle driving scenario information.

[0207] Specifically, information about the vehicle driving scenario can be obtained from image data, GPS signals, V2X, and other information. It should be understood that the methods described above for obtaining vehicle driving scenario information are merely examples, and this application does not limit the scope of the embodiments described.

[0208] S420, determine the vehicle's environment.

[0209] Specifically, the vehicle driving scenario, i.e., the environment in which the vehicle is located, can be determined based on the acquired information about the vehicle driving scenario. For example, the scenario management module can determine the vehicle driving scenario based on the acquired information about the vehicle driving scenario; for instance, based on image data of the vehicle being inside a tunnel, the scenario management module can determine that the vehicle driving scenario is inside a tunnel. It should be understood that the above methods for determining the vehicle driving scenario are merely illustrative examples, and the embodiments of this application do not limit the scope of the application.

[0210] S430 determines the clock source for the management surface clock based on the vehicle's environment.

[0211] For example, if the vehicle is in an open urban road environment, the external clock source, i.e., the clock source of the management plane clock, can be determined as a GNSS clock; if the vehicle is driving in a tunnel or under a bridge, the clock source of the management plane clock can be determined as an NTP clock; if the vehicle is driving at the entrance or exit of a tunnel or open road, the management plane clock can be determined as a GNSS clock; if the vehicle is driving in an underground parking garage, the clock source of the management plane clock can be determined as an NTP clock; if the vehicle is in an indoor parking lot, the clock source of the management plane clock can be determined as an NTP clock; if the vehicle is in other environments, the clock source of the management plane clock can be determined as a GNSS clock or an NTP clock according to the autonomous driving application logic, which will not be elaborated here.

[0212] In this embodiment of the application, by determining the clock source of the management plane clock, a more accurate time can be provided for the management plane clock, which can avoid the impact on the application logic of autonomous driving caused by an inappropriate clock source of the management plane clock.

[0213] S440 initializes and synchronizes the data plane clock and management plane clock.

[0214] For example, if the vehicle driving scenario is on an open urban road, the clock source can be selected as the management plane clock of the GNSS clock, and initialized and synchronized with the data plane clock whose clock source is the RTC clock; if the vehicle driving scenario is in a tunnel or under a bridge, the clock source can be selected as the management plane clock of the NTP clock, and initialized and synchronized with the data plane clock whose clock source is the RTC clock. For simplicity, further examples are not provided here. It should be understood that the above methods for initializing and synchronizing the data plane clock and management plane clock according to the vehicle's environment are merely examples, and the embodiments of this application do not limit this.

[0215] It should be understood that, in the embodiments of this application, by initializing and synchronizing the data plane clock and the management plane clock, the time difference between the data plane clock and the management plane clock can be eliminated when entering autonomous driving, thus avoiding the additional accumulation of the time difference between the data plane clock and the management plane clock after entering autonomous driving, thereby affecting the application of autonomous driving.

[0216] S450, having determined that the conditions for autonomous driving are met, enters autonomous driving mode.

[0217] For example, determining whether autonomous driving conditions are met includes checking if the data plane clock and management plane clock are synchronized, ensuring the vehicle's tire pressure is normal, and confirming that autonomous driving-related sensors such as radars or cameras are functioning normally or within their available operating range. It should be understood that the methods described above for determining whether autonomous driving conditions are met are merely examples, and this application does not limit the scope of these methods; further examples will not be provided here.

[0218] Specifically, the system enters autonomous driving mode when the conditions for autonomous driving are met.

[0219] S460 synchronizes the data plane clock with the management plane clock.

[0220] For example, in autonomous driving, the data plane clock can be synchronized according to the management plane clock. For instance, when the vehicle is taken over, the data plane clock is synchronized according to the management plane clock; or, when the vehicle speed is less than a third threshold, such as 5 km / h, the data plane clock is synchronized according to the management plane clock; or, when the time difference between the data plane clock and the management plane clock is greater than a second threshold `time_gap`, and the vehicle state meets the requirements for data plane and management plane synchronization, such as the vehicle being in a taken-over state or the speed being less than the third threshold, the data plane clock can be synchronized according to the management plane clock. For simplicity, further examples are not provided. It should be understood that the above methods for synchronizing the data plane clock according to the management plane clock are merely illustrative examples, and the embodiments of this application do not limit this approach.

[0221] For example, when the time difference between the data plane clock and the management plane clock is greater than the second threshold `time_gap`, and the scenario of data plane and management plane synchronization is met, it can be determined whether the autonomous driving system has been discontinued based on the vehicle's state. For instance, when the vehicle is traveling at a high speed, if the time difference between the data plane clock and the management plane clock is greater than the second threshold `time_gap`, and the vehicle has not been taken over, it can be determined whether the autonomous driving mode has been discontinued to prompt the user to engage in manual driving, or to indicate that the conditions for autonomous driving cannot be met and it is necessary to discontinue autonomous driving.

[0222] It should be understood that the data plane clock can be synchronized with the management plane clock according to the settings of the algorithm development user. Specifically, if the algorithm development user can obtain clock synchronization permissions, the algorithm development user can switch the execution and state of the vehicle and the domain controller by calling the interfaces of the execution management module and the state management module of the domain controller, so as to realize the synchronization of the data plane clock according to the management plane clock.

[0223] It should be understood that the above method of synchronizing the data plane clock with the management plane clock is only an example, and the embodiments of this application do not limit it.

[0224] To facilitate understanding of the above method for developing user settings based on an algorithm to manage plane clock synchronization data plane clocks, exemplarily, Figure 7 This is an exemplary flowchart illustrating a method for synchronizing a management plane clock based on a data plane clock, as provided in an embodiment of this application. The vehicle may include a first device and a second device, which may include a data plane clock and a management plane clock. The first device may be... Figure 3 The SoC shown, the second device can be Figure 3 The MCU shown above is for illustrative purposes only, and this application does not limit its scope.

[0225] The following combination Figure 7 The method for coordinating vehicle and domain controller execution and state switching to synchronize the data plane clock according to the management plane clock is described. For example... Figure 7 As shown, it may include some or all of the following steps:

[0226] S605, the first device can send its data, and correspondingly, the second device can acquire the data of the first device.

[0227] Specifically, the second device may obtain data directly from the first device, or it may obtain data from the first device through other devices, such as the unified data management module. This application does not limit this. The data from the first device refers to the data used by the first device to control the vehicle's movement.

[0228] S610, the second device backs up the data of the first device.

[0229] It should be understood that through steps S605 and S610, the data of the first device can be backed up to the second device, so that the second device can control the vehicle's movement based on the data.

[0230] S615, the second device controls the vehicle's movement based on data from the backup first device.

[0231] It should be understood that by backing up the data of the first device and having the second device control the vehicle's movement, the device controlling the vehicle's movement is switched from the first device to the second device. In other words, when the second device controls the vehicle's movement, the first device no longer controls the vehicle's movement.

[0232] S620, synchronizes its data plane clock according to the management plane clock of the first device.

[0233] For example, the data of the SoC controlling the vehicle's movement can be backed up to the MCU, and the vehicle movement can be switched to be controlled by the MCU; after the MCU controls the vehicle's movement, the data plane clock in the SoC is synchronized according to the management plane clock in the SoC.

[0234] It should be understood that the clock source for the first device's management surface clock can be determined based on the vehicle's environment. As described in step S430, it will not be repeated here.

[0235] It should be understood that during the synchronization of the data plane clock with the management plane clock, the autonomous driving algorithm can be coordinated to ignore the impact of time jumps. For example, during the synchronization of the data plane clock with the management plane clock (e.g., the synchronization process takes 1 second), the algorithm can ignore the impact of the data timestamp on the algorithm logic during this period. For example, the algorithm will no longer judge the validity of the data timestamp within this 1 second. The data timestamp can be used to verify the time when the data was generated.

[0236] It should be understood that since the vehicle's movement is controlled by the second device, fault reporting can be coordinated, and data plane time jumps caused by synchronizing the data plane clock with the management plane clock of the first device can be tolerated. Faults caused by such time jumps can be left unreported, thereby enabling the autonomous driving system to operate stably.

[0237] In this embodiment of the application, by backing up the data of the first device that controls the vehicle's movement to the second device, and having the second device control the vehicle's movement, the data plane clock of the first device can be synchronized with its management plane clock, thus avoiding any impact on the application logic of autonomous driving and ensuring the stable operation of autonomous driving.

[0238] Furthermore, the device for controlling vehicle movement can be switched back from the second device to the first device.

[0239] S625, the second device can send its data, and correspondingly, the first device can acquire the data from the second device.

[0240] Specifically, the first device may obtain data directly from the second device, or it may obtain data from the second device through other devices, such as the unified data management module. This application does not limit this. The data from the second device refers to the data used by the second device to control vehicle movement.

[0241] S630, the first device backs up the data of the second device.

[0242] It should be understood that through steps S625 and S630, the data of the second device can be backed up to the first device, so that the first device can control the vehicle's movement based on the data.

[0243] S635, the first device can control the vehicle's movement based on the data from the backup second device.

[0244] For example, data from the MCU controlling vehicle movement can be backed up to the SoC, and the SoC can then control the vehicle's movement.

[0245] It should be understood that after the data plane clock of the first device is synchronized with its management plane clock, its data plane clock and management plane clock are in a synchronized state. By backing up the data of the second device that controls the vehicle's movement, the first device can control the vehicle's movement again based on the backed-up data. When the performance of the first device in running autonomous driving is higher than that of the second device, the first device can control the vehicle's movement again, which can make the autonomous driving operation smoother and more efficient.

[0246] Furthermore, after the first device controls the vehicle to move again, the data plane clock and management plane clock of the second device can be synchronized.

[0247] S640 synchronizes its data plane clock according to the management plane clock of the second device.

[0248] For example, when the SoC takes control of the vehicle again, it can synchronize the data plane clock in the MCU with the management plane clock in the MCU.

[0249] It should be understood that the clock source of the management plane clock of the second device can be determined based on the vehicle's environment; the autonomous driving algorithm can be coordinated to ignore time jumps caused by this clock synchronization; and fault reporting caused by this time jump can be coordinated. For the sake of brevity, further details are omitted here.

[0250] In this embodiment, by synchronizing the data plane clock of the second device with the management plane clock, it is possible to avoid the impact on autonomous driving caused by the asynchrony between the data plane clock and the management plane clock of the second device when the second device is required to control the vehicle driving in the future.

[0251] Figure 8 This is a structural example diagram of a time synchronization device provided in an embodiment of this application. The device 700 includes an acquisition module 710 and a processing module 720.

[0252] The acquisition module 710 is used to acquire a first signal sent by an external clock source; the processing module 720 is used to determine the signal quality of the first signal and to determine a clock mode based on the signal quality of the first signal. The clock mode includes a first clock mode or a second clock mode. When the vehicle operates in the first clock mode, the vehicle acquires first clock information from an external clock source; or, when the vehicle operates in the second clock mode, the vehicle acquires first clock information and second clock information from both an external clock source and an internal clock source, wherein the internal clock source is located within the vehicle.

[0253] Optionally, the processing module 720 is specifically used to: determine the clock mode as a first clock mode when the signal quality of the first signal is greater than or equal to a first threshold; or, determine the clock mode as a second clock mode when the signal quality of the first signal is less than the first threshold.

[0254] Optionally, when the clock mode is the second clock mode, the processing module 720 is also used to synchronize the management plane clock according to the first clock information and synchronize the data plane clock according to the second clock information.

[0255] Optionally, the processing module 720 is also used to synchronize the data plane clock according to the management plane clock.

[0256] Optionally, the processing module 720 is also configured to: determine whether the vehicle needs to communicate with external devices before synchronizing the data plane clock according to the management plane clock.

[0257] Optionally, the processing module 720 is further configured to: determine that the time difference between the data plane clock and the management plane clock is greater than or equal to a second threshold before synchronizing the data plane clock according to the management plane clock.

[0258] Optionally, the processing module 720 is further configured to: determine that the vehicle speed is less than or equal to a third threshold before synchronizing the data plane clock according to the management plane clock.

[0259] Optionally, the processing module 720 is also configured to: determine whether the user has taken over the vehicle before synchronizing the data plane clock according to the management plane clock.

[0260] Optionally, the processing module 720 is also configured to: determine an external clock source based on the environment in which the vehicle is located.

[0261] For example, the processing module 720 is specifically used to: when the vehicle is on an open road or at the entrance / exit of a tunnel or open road, the processing module 720 is used to determine that the external clock source is a GNSS clock; or, when the vehicle is in a tunnel, under a bridge, or in an underground garage, the processing module 720 is used to determine that the external clock source is a Network Time Protocol (NTP) clock.

[0262] Optionally, the processing module 720 may include a first device and a second device, both of which include a data plane clock and a management plane clock. Specifically, the processing module 720 is used to: synchronize the data plane clock of the first device according to the management plane clock of the first device; the processing module 720 is also used to: back up the data of the first device to the second device; and control the vehicle to drive using the second device according to the backed-up data of the first device.

[0263] Optionally, the processing module 720 is also configured to control the vehicle's movement using the first device after synchronizing its data plane clock according to the management plane clock of the first device.

[0264] Optionally, the processing module 720 is further configured to synchronize the data plane clock of the second device according to the management plane clock of the second device after controlling the vehicle's movement using the first device.

[0265] It should be understood that Figure 8 The time synchronization device shown can be used to implement the time synchronization method 200 described above, wherein the acquisition module can be used to implement step S210, and the processing module can be used to implement steps S215 and S220. Figure 8 The time synchronization device shown can also be used to achieve Figures 5 to 7 The specific steps of the time synchronization method can be found in the above description. Figures 5 to 7 For the sake of brevity, the description will not be repeated here.

[0266] It should be understood that the time synchronization device in this application embodiment can be implemented by software, for example, by a computer program or instructions with the above-mentioned functions. The corresponding computer program or instructions can be stored in the internal memory of the terminal, and the above functions can be implemented by the processor reading the corresponding computer program or instructions in the memory. Alternatively, the time synchronization device in this application embodiment can also be implemented by hardware. In this case, the processing module 720 is a processor (such as an NPU, GPU, or processor in a system chip), and the acquisition module 710 is a data interface. Alternatively, the time synchronization device in this application embodiment can also be implemented by a combination of a processor and a software module.

[0267] Figure 9 This is a structural example diagram of a device 1300 provided in an embodiment of this application. Device 1300 includes a processor 1302, a communication interface 1303, and a memory 1304. One example of device 1300 is a chip. Another example of device 1300 is a computing device.

[0268] The processor 1302, memory 1304, and communication interface 1303 can communicate via a bus. The memory 1304 stores executable code, and the processor 1302 reads the executable code from the memory 1304 to execute the corresponding method. The memory 1304 may also include other software modules required for running processes, such as an operating system. The operating system can be Linux. TM UNIX TM WINDOWS TM wait.

[0269] For example, the executable code in memory 1304 is used to implement Figures 2 to 7 The method shown involves processor 1302 reading the executable code from memory 1304 to execute it. Figures 2 to 7 The method shown.

[0270] The processor 1302 can be a CPU. The memory 1304 can include volatile memory, such as random access memory (RAM). The memory 1304 can also include non-volatile memory (NVM), such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state disk (SSD).

[0271] In some embodiments of this application, the disclosed methods can be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or on other non-transitory media or articles of art. Figure 10 A conceptual partial view of an example computer program product arranged according to at least some embodiments shown herein is schematically illustrated. The example computer program product includes a computer program for executing computer processes on a computing device. In one embodiment, the example computer program product 1400 is provided using a signal carrying medium 1401. The signal carrying medium 1401 may include one or more program instructions 1402 that, when executed by one or more processors, can provide the above-described instructions for… Figure 4 The functions or parts thereof described in the methods shown. Therefore, for example, refer to... Figure 4 In the embodiments shown, one or more features of S210 to S220 may be provided by one or more instructions associated with the signal carrying medium 1401.

[0272] In some examples, signal-bearing medium 1401 may comprise computer-readable medium 1403, such as, but not limited to, hard disk drives, compact discs (CDs), digital video optical discs (DVDs), digital magnetic tapes, memory, ROM, or RAM, etc. In some embodiments, signal-bearing medium 1401 may comprise computer-recordable medium 1404, such as, but not limited to, memory, read / write (R / W) CDs, R / W DVDs, etc. In some embodiments, signal-bearing medium 1401 may comprise communication medium 1405, such as, but not limited to, digital and / or analog communication media (e.g., fiber optic cables, waveguides, wired communication links, wireless communication links, etc.). Therefore, for example, signal-bearing medium 1401 may be conveyed by wireless communication medium 1405 (e.g., wireless communication media conforming to the IEEE 802.11 standard or other transmission protocols). One or more program instructions 1402 may be, for example, computer-executable instructions or logical implementation instructions. In some examples, the aforementioned computing device can be configured to provide various operations, functions, or actions in response to program instructions 1402 transmitted to the computing device via one or more of computer-readable media 1403, computer-recordable media 1404, and / or communication media 1405. It should be understood that the arrangements described herein are merely illustrative. Therefore, those skilled in the art will understand that other arrangements and other elements (e.g., machines, interfaces, functions, sequences, and functional groups, etc.) can be used instead, and some elements can be omitted depending on the desired result. Furthermore, many of the described elements are functional entities that can be implemented as discrete or distributed components, or in any suitable combination and location in conjunction with other components.

[0273] In the embodiments of this application, the terms "first," "second," and various numerical designations are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. For example, they can be used to distinguish different clock sources, media, etc.

[0274] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0275] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0276] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0277] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0278] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0279] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0280] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0281] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, RAM, magnetic disks, or optical disks.

[0282] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for clock synchronization, said method being applied to a vehicle, characterized in that, The vehicle includes a management plane clock and a data plane clock, including: Acquire a first signal, the first signal including clock information from a first external clock source; Determine the signal quality of the first signal; Based on the signal quality of the first signal, a clock mode is determined. The clock mode includes either a first clock mode or a second clock mode. When the vehicle operates in the first clock mode, the management plane clock and the data plane clock are synchronized according to a second external clock source; or... When the vehicle operates in the second clock mode, the vehicle obtains first clock information and second clock information from a third external clock source and an internal clock source, respectively, and synchronizes the vehicle's management plane clock according to the first clock information and synchronizes the vehicle's data plane clock according to the second clock information; wherein, the internal clock source is located in the vehicle.

2. The method according to claim 1, characterized in that, The step of determining the clock mode based on the signal quality of the first signal includes: When the signal quality of the first signal is greater than or equal to the first threshold, the clock mode is determined to be the first clock mode; or, When the signal quality of the first signal is less than the first threshold, the clock mode is determined to be the second clock mode.

3. The method according to claim 1 or 2, characterized in that, When the clock mode is the second clock mode, the method further includes: synchronizing the data plane clock according to the management plane clock.

4. The method according to claim 3, characterized in that, Before synchronizing the data plane clock according to the management plane clock, the method further includes: It was determined that the vehicle needed to communicate with external devices.

5. The method according to claim 3 or 4, characterized in that, Before synchronizing the data plane clock according to the management plane clock, the method further includes: The time difference between the data plane clock and the management plane clock is determined to be greater than or equal to a second threshold.

6. The method according to any one of claims 3 to 5, characterized in that, Before synchronizing the data plane clock according to the management plane clock, the method further includes: The vehicle speed is determined to be less than or equal to a third threshold.

7. The method according to any one of claims 3 to 5, characterized in that, Before synchronizing the data plane clock according to the management plane clock, the method further includes: It was determined that the vehicle had been taken over.

8. The method according to any one of claims 1 to 7, characterized in that, The method further includes: determining the second external clock source or the third external clock source based on the environment in which the vehicle is located or based on the environment in which the vehicle will be located in the future.

9. The method according to claim 8, characterized in that, The step of determining the second external clock source or the third external clock source based on the current environment of the vehicle or the environment in which the vehicle will be located in the future includes: When the vehicle is on an open road or at the entrance / exit of a tunnel or open road, the second external clock source or the third external clock source is determined to be a GNSS clock; or... When the vehicle is in a tunnel, under a bridge, or in an underground parking garage, the second external clock source or the third external clock source is determined to be a Network Time Protocol (NTP) clock.

10. The method according to any one of claims 3 to 9, characterized in that, The vehicle includes a first device and a second device, both of which include the data plane clock and the management plane clock. The step of synchronizing the data plane clock according to the management plane clock includes: Synchronize the data plane clock of the first device with the management plane clock of the first device; The method further includes: Back up the data from the first device to the second device; The second device controls the vehicle's movement based on the data from the backup first device.

11. The method according to claim 10, characterized in that, The method further includes: After the management plane clock of the first device synchronizes with the data plane clock of the first device, the first device controls the vehicle to drive.

12. The method according to claim 11, characterized in that, After the vehicle is controlled to move by the first device, the method further includes: The data plane clock of the second device is synchronized with the management plane clock of the second device.

13. A clock synchronization device, said device being applied to a vehicle, characterized in that, The vehicle includes a management plane clock and a data plane clock, including: An acquisition module is used to acquire a first signal, wherein the first signal includes clock information from a first external clock source; The processing module is used to determine the signal quality of the first signal; The processing module is further configured to determine a clock mode based on the signal quality of the first signal, the clock mode including a first clock mode or a second clock mode, wherein when the vehicle operates in the first clock mode, the management plane clock and the data plane clock are synchronized according to a second external clock source; or, When the vehicle operates in the second clock mode, the vehicle obtains first clock information and second clock information from a third external clock source and an internal clock source, respectively, and synchronizes the vehicle's management plane clock according to the first clock information and synchronizes the vehicle's data plane clock according to the second clock information; wherein, the internal clock source is located in the vehicle.

14. The apparatus according to claim 13, characterized in that, The processing module is specifically used for: When the signal quality of the first signal is greater than or equal to a first threshold, the clock mode is determined to be the first clock mode; or, When the signal quality of the first signal is less than the first threshold, the clock mode is determined to be the second clock mode.

15. The apparatus according to claim 13 or 14, characterized in that, When the clock mode is the second clock mode, the processing module is further configured to: The data plane clock is synchronized according to the management plane clock.

16. The apparatus according to claim 15, characterized in that, The processing module is further configured to: Before synchronizing the data plane clock according to the management plane clock, it is determined that the vehicle needs to communicate with external devices.

17. The apparatus according to claim 15 or 16, characterized in that, The processing module is further configured to: Before synchronizing the data plane clock according to the management plane clock, it is determined that the time difference between the data plane clock and the management plane clock is greater than or equal to a second threshold.

18. The apparatus according to any one of claims 15 to 17, characterized in that, The processing module is further configured to: Before synchronizing the data plane clock according to the management plane clock, it is determined that the vehicle speed is less than or equal to a third threshold.

19. The apparatus according to any one of claims 15 to 17, characterized in that, The processing module is further configured to: Before synchronizing the data plane clock according to the management plane clock, it is determined that the user takes over the vehicle.

20. The apparatus according to any one of claims 13 to 19, characterized in that, The processing module is further configured to: The second external clock source or the third external clock source is determined based on the current environment of the vehicle or the environment in which the vehicle will be located in the future.

21. The apparatus according to claim 20, characterized in that, The processing module is specifically used for: When the vehicle is on an open road or at the entrance / exit of a tunnel or open road, the processing module is used to determine whether the second external clock source or the third external clock source is a GNSS clock; or, When the vehicle is in a tunnel, under a bridge, or in an underground parking garage, the processing module is used to determine whether the second external clock source or the third external clock source is a Network Time Protocol (NTP) clock.

22. The apparatus according to any one of claims 15 to 21, characterized in that, The processing module includes a first device and a second device, both of which include the data plane clock and the management plane clock. The processing module is specifically used to: synchronize the data plane clock of the first device according to the management plane clock of the first device; The processing module is further configured to: Back up the data from the first device to the second device; The second device is used to control the vehicle's movement based on the data from the backup first device.

23. The apparatus according to claim 22, characterized in that, The processing module is further configured to: After the management plane clock of the first device is synchronized with the data plane clock of the first device, the first device is used to control the vehicle's movement.

24. The apparatus according to claim 23, characterized in that, The processing module is further configured to: After controlling the vehicle's movement using the first device, the data plane clock of the second device is synchronized according to the management plane clock of the second device.

25. A clock synchronization device, said device being applied to a vehicle, characterized in that, It includes a processor and a memory, the memory being used to store program instructions, and the processor being used to invoke the program instructions to perform the clock synchronization method according to any one of claims 1 to 12.

26. A vehicle, characterized in that, The device includes the clock synchronization according to any one of claims 13 to 25.

27. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores program instructions that, when executed by a processor, implement the clock synchronization method according to any one of claims 1 to 12.

28. A chip, characterized in that, The chip includes a processor and a data interface. The processor reads instructions stored in the memory through the data interface to execute the clock synchronization method as described in any one of claims 1 to 12.