Method, device, electronic equipment and FPGA chip for providing time service

CN115685270BActive Publication Date: 2026-10-23APOLLO INTELLIGENT DRIVING (BEIJING) TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211185514.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-27
Publication Date
2026-10-23
Estimated Expiration
2042-09-27

AI Technical Summary

Benefits of technology

[0011]根据本公开的一个或多个实施例,可以为自动驾驶系统提供准确的时间服务。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115685270B_ABST
    Figure CN115685270B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method, device, electronic equipment and FPGA chip for providing time service, relates to the technical field of automatic driving, in particular to the fields of time synchronization of an automatic driving system, sensors and the like, and the implementation scheme is as follows: a first time determined based on a satellite positioning system is acquired and it is verified whether the first time is reliable; in response to verifying that the first time is reliable, the first time is determined as a start time for timing; and time information for providing time service is generated by timing from the start time via a reference pulse.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of autonomous driving technology, and in particular to the fields of system operation, time synchronization, and sensors of autonomous driving systems. Specifically, it relates to a method, apparatus, electronic device, computer-readable storage medium, and computer program product for providing time services, as well as an FPGA (Field Programmable Gate Array) chip. Background Technology

[0002] Currently, autonomous driving systems typically obtain time services from GPS (Global Positioning System). This method places high demands on the signal quality when the autonomous driving system connects to GPS; generally, good signal quality is required to receive accurate GPS time.

[0003] In recent years, with the development and evolution of autonomous driving technology and the increasing complexity of urban construction and planning, more challenges have been posed to ensuring accurate time services for autonomous driving systems.

[0004] The methods described in this section are not necessarily methods that had been previously conceived or adopted. Unless otherwise specified, no method described in this section should be assumed to be prior art simply because it is included in this section. Similarly, unless otherwise specified, the issues mentioned in this section should not be considered to be accepted in any prior art. Summary of the Invention

[0005] This disclosure provides a method, apparatus, electronic device, computer-readable storage medium, and computer program product for providing time services, as well as an FPGA chip.

[0006] According to one aspect of this disclosure, a method for providing a time service is provided, comprising: acquiring a first time determined based on a satellite positioning system and verifying whether the first time is reliable; in response to verifying the reliability of the first time, determining the first time as a start time for timing; and generating time information for providing a time service by timing via a reference pulse from the start time.

[0007] According to another aspect of this disclosure, an apparatus for providing time services is provided, comprising: a verification module configured to acquire a first time determined based on a satellite positioning system and verify whether the first time is reliable; a first determination module configured to determine the first time as a start time for timing in response to verifying the reliability of the first time; and a first timing module configured to generate time information for providing time services by timing via a reference pulse from the start time.

[0008] According to another aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method described above.

[0009] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause a computer to perform the methods described above.

[0010] According to another aspect of this disclosure, an FPGA chip is provided, including circuitry configured to perform the methods described above.

[0011] According to one or more embodiments of this disclosure, accurate timing services can be provided for autonomous driving systems.

[0012] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0013] The accompanying drawings exemplify embodiments and form part of the specification, serving together with the textual description to explain exemplary implementations of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numerals refer to similar but not necessarily identical elements.

[0014] Figure 1 A schematic diagram of an exemplary system in which various methods described herein may be implemented according to embodiments of the present disclosure is shown;

[0015] Figure 2 A flowchart of a method for providing time services according to an embodiment of the present disclosure is shown;

[0016] Figure 3 A flowchart illustrating a verification process for verifying the reliability of GPS time according to an embodiment of the present disclosure is shown;

[0017] Figure 4 A flowchart illustrating a verification process for verifying the reliability of GPS time according to another embodiment of this disclosure is shown;

[0018] Figure 5 A schematic diagram illustrating the configuration of an FPGA chip for providing time services according to an embodiment of the present disclosure is shown;

[0019] Figure 6A structural block diagram of an apparatus for providing time services according to an embodiment of the present disclosure is shown;

[0020] Figure 7 A structural block diagram of an apparatus for providing time services according to another embodiment of the present disclosure is shown;

[0021] Figure 8 A structural block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure is shown. Detailed Implementation

[0022] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0023] In this disclosure, unless otherwise stated, the use of terms such as "first," "second," etc., to describe various elements is not intended to limit the positional, temporal, or importance relationships of these elements; such terms are merely used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of that element, while in other cases, based on the context, they may refer to different instances.

[0024] The terminology used in the description of the various examples described in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context explicitly indicates otherwise, an element may be one or more unless the number of elements is specifically limited. Furthermore, the term "and / or" as used in this disclosure covers any one of the listed items and all possible combinations thereof.

[0025] In technologies related to time services for autonomous driving, the traditional approach still relies on receiving GPS time from GPS to provide time services for the autonomous driving system. This method can cause various problems when GPS signals are weak, as the received GPS time may occasionally jump. If the GPS time jumps, the OS (Operating System) time of the autonomous driving system will also jump, which will cause the timestamps of various sensors in the autonomous driving system to not match each other, leading to disengagement from autonomous driving or causing system malfunctions.

[0026] While the current practice involves restarting the autonomous driving system in such situations to attempt to regain GPS time, this does not fundamentally address how to ensure a continuous supply of accurate time service to the autonomous driving system.

[0027] In response to the aforementioned technical problems, according to one aspect of this disclosure, a method for providing time services is proposed.

[0028] Before describing the method according to embodiments of this disclosure in detail, firstly, in conjunction with Figure 1 The description includes schematic diagrams of exemplary systems in which the various methods and apparatuses described herein may be implemented.

[0029] Figure 1 A schematic diagram of an exemplary system 100 in which the various methods and apparatus described herein can be implemented according to embodiments of this disclosure is shown. Reference Figure 1 The system 100 includes a motor vehicle 110, a server 120, and one or more communication networks 130 coupling the motor vehicle 110 to the server 120. The motor vehicle 110 may be an autonomous vehicle as described herein.

[0030] In embodiments of this disclosure, the motor vehicle 110 may include a computing device according to embodiments of this disclosure and / or be configured to perform a method according to embodiments of this disclosure.

[0031] Server 120 may run one or more services or software applications that enable the execution of methods according to embodiments of this disclosure. In some embodiments, server 120 may also provide other services or software applications, which may include non-virtual environments and virtual environments. Figure 1 In the configuration shown, server 120 may include one or more components that implement the functions performed by server 120. These components may include software components, hardware components, or combinations thereof that can be executed by one or more processors. A user of motor vehicle 110 may sequentially interact with server 120 using one or more client applications to utilize the services provided by these components. It should be understood that various different system configurations are possible and may differ from system 100. Therefore, Figure 1 This is an example of a system used to implement the various methods described herein, and is not intended to be limiting.

[0032] Server 120 may include one or more general-purpose computers, special-purpose server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running a virtual operating system, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that can be virtualized to maintain virtual storage devices for servers). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.

[0033] The computing unit in server 120 can run one or more operating systems, including any of the aforementioned operating systems and any commercially available server operating system. Server 120 can also run any of a variety of additional server applications and / or middleware applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.

[0034] In some implementations, server 120 may include one or more applications to analyze and merge data feeds and / or event updates received from vehicle 110. Server 120 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of vehicle 110.

[0035] Network 130 can be any type of network well known to those skilled in the art, and can support data communication using any of a variety of available protocols (including, but not limited to, TCP / IP, SNA, IPX, etc.). By way of example only, one or more networks 130 can be satellite communication networks, local area networks (LANs), Ethernet-based networks, token ring networks, wide area networks (WANs), the Internet, virtual networks, virtual private networks (VPNs), intranets, extranets, blockchain networks, public switched telephone networks (PSTNs), infrared networks, wireless networks (including, for example, Bluetooth, WiFi), and / or any combination of these with other networks.

[0036] System 100 may also include one or more databases 150. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 150 may be used to store information such as audio files and video files. The data repository 150 may reside in various locations. For example, a data repository used by server 120 may be local to server 120, or it may be located away from server 120 and may communicate with server 120 via a network-based or dedicated connection. The data repository 150 may be of different types. In some embodiments, the data repository used by server 120 may be a database, such as a relational database. One or more of these databases may store, update, and retrieve data from and from the database in response to commands.

[0037] In some embodiments, one or more of the databases 150 may also be used by an application to store application data. The databases used by the application may be of different types, such as key-value stores, object stores, or regular stores supported by a file system.

[0038] Motor vehicle 110 may include sensors 111 for sensing the surrounding environment. Sensors 111 may include one or more of the following sensors: a visual camera, an infrared camera, an ultrasonic sensor, a millimeter-wave radar, and a lidar (LiDAR). Different sensors can provide different detection accuracy and range. Cameras may be mounted in front of, behind, or at other locations on the vehicle. Visual cameras can capture the situation inside and outside the vehicle in real time and present it to the driver and / or passengers. In addition, by analyzing the images captured by the visual cameras, information such as traffic light indications, intersection conditions, and the operating status of other vehicles can be obtained. Infrared cameras can capture objects in night vision conditions. Ultrasonic sensors may be mounted around the vehicle to measure the distance of objects outside the vehicle using the strong directionality of ultrasound. Millimeter-wave radar may be mounted in front of, behind, or at other locations on the vehicle to measure the distance of objects outside the vehicle using the characteristics of electromagnetic waves. LiDAR may be mounted in front of, behind, or at other locations on the vehicle to detect the edges and shape information of objects, thereby performing object recognition and tracking. Due to the Doppler effect, the radar device can also measure the speed changes of the vehicle and moving objects.

[0039] The motor vehicle 110 may also include a communication device 112. The communication device 112 may include a satellite positioning module capable of receiving satellite positioning signals (e.g., BeiDou, GPS, GLONASS, and GALILEO) from satellite 141 and generating coordinates based on these signals. The communication device 112 may also include a module for communicating with a mobile communication base station 142. The mobile communication network can implement any suitable communication technology, such as current or emerging wireless communication technologies (e.g., 5G technology) like GSM / GPRS, CDMA, and LTE. The communication device 112 may also have a vehicle-to-everything (V2X) module, configured to enable vehicle-to-the-world communication, for example, vehicle-to-vehicle (V2V) communication with other vehicles 143 and vehicle-to-infrastructure (V2I) communication with infrastructure 144. Furthermore, the communication device 112 may also have a module configured to communicate with a user terminal 145 (including but not limited to smartphones, tablets, or wearable devices such as watches) via, for example, a wireless local area network conforming to the IEEE 802.11 standard or Bluetooth. Using the communication device 112, the motor vehicle 110 can also access the server 120 via the network 130.

[0040] The motor vehicle 110 may also include a control unit 113. The control unit 113 may include a processor, such as a central processing unit (CPU) or a graphics processing unit (GPU), or other dedicated processors, that communicates with various types of computer-readable storage devices or media. The control unit 113 may include an autonomous driving system for automatically controlling various actuators in the vehicle. The autonomous driving system is configured to control the powertrain, steering system, and braking system of the motor vehicle 110 (not shown) via multiple actuators in response to inputs from multiple sensors 111 or other input devices to control acceleration, steering, and braking respectively, without human intervention or with limited human intervention. Some processing functions of the control unit 113 can be implemented via cloud computing. For example, some processing can be performed using an onboard processor while other processing can be performed using cloud computing resources. The control unit 113 may be configured to perform methods according to this disclosure. Furthermore, the control unit 113 may be implemented as an example of a computing device on the motor vehicle side (client) according to this disclosure.

[0041] Figure 1 The system 100 can be configured and operated in various ways to enable the application of the various methods and apparatus described in this disclosure.

[0042] Figure 2A flowchart of a method 200 for providing a time service according to an embodiment of the present disclosure is shown. Figure 2 As shown, method 200 includes steps S202, S204 and S206.

[0043] In step S202, the first time determined based on the satellite positioning system is obtained and its reliability is verified.

[0044] In the example, the satellite positioning system can be, for example, GPS, BeiDou, GLONASS, and GALILEO. Taking GPS as an example, the first time determined based on GPS can be GPS time. GPS time generally has its specific time format, which can be converted into the time format used in autonomous driving systems, such as year, month, day, hour, second, and minute.

[0045] It should be noted that, for ease of description, this document will primarily use GPS and GPS time as examples. Those skilled in the art will understand that the scope of this disclosure is not limited thereto.

[0046] In the embodiments of this disclosure, unlike conventional methods, the received GPS time is used as the starting point for providing accurate time, rather than continuously using GPS time to provide time services. Considering the potential for poor signal quality when accessing GPS signals, it cannot be guaranteed that the received GPS time is real-time. To construct an independent time source based on GPS time, it is first necessary to verify the reliability of the GPS time used as the timing starting point.

[0047] In step S204, in response to verifying the credibility of the first time, the first time is determined as the start time for timing.

[0048] In other words, if the received GPS time is reliable, it will be used as the starting point for timing, and an independent time source will be built based on this starting point to provide accurate time service.

[0049] In step S206, time information for providing time service is generated by timing via a reference pulse starting from the start time.

[0050] In this step, an independent time source is constructed, in which the received reliable GPS is used as the timing starting point, i.e. the starting time, and the accurate time is generated by timing via reference pulses.

[0051] In the example, the reference pulse can be provided by a crystal oscillator (Xtal), so the frequency of the reference pulse is optional.

[0052] The method for providing time services according to embodiments of this disclosure constructs an independent time source using received reliable GPS time. This received reliable GPS time serves as a timing starting point, and accurate time is generated by timing based on this starting point. Therefore, it can continuously provide accurate time services for autonomous driving systems. This eliminates the reliance on GPS time in traditional methods, avoiding problems such as autonomous driving system restarts or malfunctions caused by GPS time jumps, thereby ensuring the stability and safety of autonomous driving.

[0053] Figure 3 A flowchart is shown of a verification process 300 for verifying the reliability of GPS time according to an embodiment of the present disclosure.

[0054] The verification process 300 can be as follows: Figure 2 An embodiment of step S202 is shown. The verification process 300 may include: continuously receiving a plurality of first times (e.g., GPS time) at predetermined time intervals; determining whether the received plurality of first times increment at predetermined time intervals; and determining that the received plurality of first times are all reliable in response to determining that the received plurality of first times increment at predetermined time intervals.

[0055] like Figure 3 As shown, in step S302, a GPS time (i.e., the first GPS time) can be received, and a second GPS time (i.e., the second GPS time) can be received, for example, after 1 second.

[0056] In step S304, it can be determined whether the first GPS time and the second GPS time increase at 1-second intervals. If the two GPS times satisfy the condition of increasing at 1-second intervals, then the two GPS times can be considered reliable. Therefore, process 300 can continue to step S306. Conversely, if the two GPS times do not satisfy the condition of increasing at 1-second intervals, then at least one of the two GPS times can be considered unreliable. Therefore, process 300 can return to step S302 to receive GPS times again and re-verify the reliability of the GPS times.

[0057] In step S306, a GPS time can be received again after 1 second (i.e., the third GPS time).

[0058] In step S308, it can be determined whether the second and third GPS times increase at 1-second intervals. If these two GPS times satisfy the condition of increasing at 1-second intervals, then these two GPS times are reliable. Therefore, process 300 can end, thus determining that all three GPS times are reliable. Conversely, if these two GPS times do not satisfy the condition of increasing at 1-second intervals, then at least one of these two GPS times is unreliable. Therefore, process 300 can return to step S302 to receive GPS times again and re-verify the reliability of the GPS times.

[0059] Those skilled in the art will understand that Figure 3 The process of receiving three GPS times for credibility verification is illustrated by way of example only. To improve the credibility of the GPS time, verification can also be performed by receiving more GPS times, such as receiving six GPS times consecutively. Furthermore, those skilled in the art will understand that the predetermined time interval can also be selected according to the actual situation, such as 0.5 seconds or 2 seconds.

[0060] In the above verification process, the reliability of the GPS time can be verified by continuously receiving multiple GPS times at predetermined time intervals through a "self-verification" method. This provides a simple and convenient verification process, ensuring that the constructed independent time source can use a reliable GPS time as the starting point for timing, thereby facilitating the provision of accurate time services.

[0061] According to some embodiments, after performing the verification process 300 to verify the reliability of the GPS time, the last GPS time among the multiple received GPS times can be determined as the start time for timing.

[0062] In such Figure 3 In the example shown, the third GPS time can be determined as the starting time for timing.

[0063] In this way, once the reliability of the GPS time is verified, the GPS time can be used as the starting point for timing immediately, thus creating an independent time source that no longer depends on GPS time.

[0064] According to some embodiments of this disclosure, in addition to obtaining a first time related to GPS (e.g., GPS time), a second time determined based on NTP (Network Time Protocol) (i.e., NTP time) can also be obtained.

[0065] In the example, the step of obtaining the NTP time may be performed simultaneously with, before or after the step of obtaining the GPS time, and this disclosure does not impose any restrictions on this.

[0066] Acquiring additional NTP time can offer several advantages. For example, the reliability of GPS time can be determined through cross-validation between NTP and GPS time. Furthermore, NTP time can be used as a backup timing starting point in scenarios where GPS time is unavailable, thus establishing an independent time source. For instance, scenarios where GPS time is unavailable could include situations where autonomous driving systems (such as self-driving vehicles) are located in underground buildings such as underground parking garages. In such scenarios, the autonomous driving system can generally still receive NTP time as a backup through a network connection with wider coverage and higher stability (such as a mobile network).

[0067] Figure 4 A 400 flowchart illustrating a verification process for verifying the reliability of GPS time according to another embodiment of this disclosure is shown.

[0068] The verification process 400 can be as follows: Figure 2 The embodiment of step S202 shown can be performed when the autonomous driving system acquires the NTP time. The verification process 400 may include: determining whether a first time (e.g., GPS time) is consistent with a second time (i.e., NTP time); and determining that the first time is reliable in response to determining that the first time is consistent with the second time.

[0069] As an example, such as Figure 4 The verification process 400 shown will be illustrated in the following scenario: Suppose that the autonomous vehicle has just driven out of the underground garage. While it is in the underground garage, it cannot access the GPS time and can only access the NTP time. It can only reconnect to the GPS time after it has completely driven out of the underground garage.

[0070] like Figure 4 As shown, in step S402, the autonomous vehicle can reconnect to the GPS time to obtain a GPS time (e.g., the time received by the autonomous vehicle when it is able to access GPS after it has completely driven out of the underground garage).

[0071] In step S404, it can be determined whether the GPS time is consistent with the acquired NTP time. If the GPS time is consistent with the NTP time, process 400 can end, thus determining that the GPS time is reliable. Conversely, if the GPS time is inconsistent with the NTP time, process 400 can return to step S402 to re-receive the GPS time and re-verify its reliability.

[0072] During the verification process described above, the reliability of GPS time can be verified using NTP time through "cross-validation." This provides convenience for quickly verifying GPS time, ensuring that the constructed independent time source can use reliable GPS time as its timing starting point, thereby facilitating the provision of accurate time services.

[0073] According to some embodiments of this disclosure, when NTP time is obtained, it can also be used as a backup timing starting point to avoid situations where GPS time is unavailable.

[0074] Specifically, the NTP time can be determined as a backup start time for timing; the availability of GPS time can be determined; and in response to the determination that GPS time is unavailable, time information for providing time services can be generated by timing via a reference pulse from the backup start time.

[0075] In this way, it can be ensured that NTP time can be temporarily used to maintain an independent time source even when GPS time is unavailable, thereby ensuring accurate time service for autonomous driving systems.

[0076] According to some embodiments of this disclosure, the reference pulse may include a pulse generated by a crystal oscillator (Xtal). Frequency drift of the crystal oscillator can be corrected via pulses per second (PPS) obtained from GPS.

[0077] In this way, parameters other than time provided by GPS can be used to ensure the accuracy of the reference pulse, thereby ensuring the accuracy of the constructed independent time source and generating accurate time information.

[0078] Figure 5 A schematic diagram of the configuration of an FPGA chip 500 for providing time services according to an embodiment of the present disclosure is shown.

[0079] The method for providing a time service according to embodiments of the present disclosure can be implemented using an FPGA chip 500. The FPGA chip 500 may include circuitry configured to perform the method according to embodiments of the present disclosure.

[0080] like Figure 5 As shown, the FPGA chip 500 may include a time verification circuit 502, a timer circuit 504, and a pulse correction circuit 506. In this example, the FPGA chip 500 may be mounted on or connected to an autonomous driving system 520 to provide it with accurate time information 524.

[0081] According to some embodiments, the time verification circuit 502 can be configured to receive GPS time 512 from GPS 510 and verify whether GPS time 512 is reliable. If the time verification circuit 502 verifies that GPS time 512 is reliable, GPS time 512 can be transmitted to timer circuit 504 as a start time 512' for timing.

[0082] In the example, the time verification circuit 502 can be configured to continuously receive a plurality of GPS times 512 at predetermined time intervals; determine whether the received plurality of GPS times 512 increment at predetermined time intervals; and, in response to determining that the received plurality of GPS times 512 increment at predetermined time intervals, determine that the received plurality of first times are all reliable. The time verification circuit 502 can be configured to determine the last GPS time 512 among the received plurality of GPS times 512 as the start time 512'.

[0083] The timer circuit 504 can be configured to generate time information 524 by timing via a reference pulse 508 starting from a start time 512', to be transmitted to the autonomous driving system 520.

[0084] According to some embodiments, the time verification circuit 502 may also be configured to receive NTP time 522 transmitted from the autonomous driving system 520. In an example, the time verification circuit 502 may determine whether the received GPS time 512 is consistent with the NTP time 522; and if the GPS time 512 is consistent with the NTP time 522, determine that the GPS time 512 is reliable.

[0085] The time verification circuit 502 can also be configured to determine the NTP time 522 as a backup start time 522' for timing. Additionally, the time verification circuit 502 can also be configured to determine whether the GPS time 512 is available, and if the GPS time 512 is unavailable, transmit the backup start time 522' to the timer circuit 504.

[0086] The timer circuit 504 can also be configured to generate time information 524 for transmission to the autonomous driving system 520 by timing via a reference pulse 508 starting from a backup start time 522'.

[0087] The pulse correction circuit 506 can be configured to receive PPS 514 from GPS 510 and use PPS 514 to correct the frequency drift of crystal oscillator 530 to generate a corrected reference pulse 508.

[0088] According to the FPGA chip in this disclosure, an independent time source is constructed using received reliable GPS time. This received reliable GPS time serves as the starting point for timing, and accurate time is generated based on this starting point through timing. Therefore, it can continuously provide accurate time services for the autonomous driving system. This eliminates the dependence on GPS time in traditional methods, avoiding problems such as system restarts or malfunctions caused by GPS time jumps, thereby ensuring the stability and safety of autonomous driving.

[0089] According to one aspect of this disclosure, an apparatus for providing time services is also proposed.

[0090] Figure 6 A structural block diagram of an apparatus 600 for providing time services according to an embodiment of the present disclosure is shown.

[0091] like Figure 6 As shown, the device 600 includes a verification module 602, a first determination module 604, and a first timing module 606.

[0092] The verification module 602 is configured to acquire the first time determined based on the satellite positioning system and verify whether the first time is reliable.

[0093] The first determining module 604 is configured to, in response to verifying the credibility of the first time, determine the first time as the start time for timing; and

[0094] The first timing module 606 is configured to generate time information for providing time services by timing via a reference pulse starting from the start time.

[0095] Since the verification module 602, the first determination module 604, and the first timing module 606 can respectively correspond to, as follows: Figure 2 Steps S202, S204, and S206 are described above, so the details of each aspect will not be repeated here.

[0096] Additionally, the device 600 and its included verification module 602, first determination module 604, and first timing module 606 may also include further sub-modules, which will be combined as follows Figure 7 Please provide a detailed explanation.

[0097] Figure 7 A structural block diagram of an apparatus 700 for providing time services according to another embodiment of the present disclosure is shown.

[0098] like Figure 7As shown, the device 700 may include a verification module 702, a first determination module 704, and a first timing module 706. The verification module 702, the first determination module 704, and the first timing module 706 can be used with... Figure 6 The verification module 602, the first determination module 604, and the first timing module 606 shown correspond to each other.

[0099] According to some embodiments, the verification module 702 may include: a receiving module 7020 configured to continuously receive a plurality of first times at predetermined time intervals; a first processing module 7022 configured to determine whether the plurality of received first times increment at predetermined time intervals; and a second processing module 7024 configured to determine that the plurality of received first times are all reliable in response to determining that the plurality of received first times increment at predetermined time intervals.

[0100] According to some embodiments, the first determining module 704 may include: an execution module 7040, configured to determine the last of a plurality of first times as the start time.

[0101] According to some embodiments, the device 700 may include a backup time module 708 configured to acquire a second time determined based on a network time protocol.

[0102] According to some embodiments, the verification module 702 may include: a third processing module 7026 configured to determine whether the first time is consistent with the second time; and a fourth processing module 7028 configured to determine that the first time is reliable in response to determining that the first time is consistent with the second time.

[0103] According to some embodiments, the device 700 may further include: a second determining module 710 configured to determine the second time as a backup start time for timing; a scene determining module 712 configured to determine whether the first time is available; and a second timing module 714 configured to generate time information for providing time services by timing from the backup start time via a reference pulse in response to determining that the first time is unavailable.

[0104] According to some embodiments, the reference pulse may include a pulse generated by a crystal oscillator, wherein the frequency drift of the crystal oscillator is corrected by the number of pulses per second obtained from a satellite positioning system.

[0105] According to another aspect of this disclosure, an electronic device is also provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method described above.

[0106] According to another aspect of this disclosure, a non-transitory computer-readable storage medium storing computer instructions is also provided, wherein the computer instructions are used to cause a computer to perform the methods described above.

[0107] According to another aspect of this disclosure, a computer program product is also provided, including a computer program, wherein the computer program implements the method described above when executed by a processor.

[0108] refer to Figure 8 The present invention describes a structural block diagram of an electronic device 800 that can serve as a server or client of the present disclosure, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0109] like Figure 8 As shown, the electronic device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. The RAM 803 may also store various programs and data required for the operation of the electronic device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0110] Multiple components in electronic device 800 are connected to I / O interface 805, including: input unit 806, output unit 807, storage unit 808, and communication unit 809. Input unit 806 can be any type of device capable of inputting information to electronic device 800. Input unit 806 can receive input digital or character information and generate key signal inputs related to user settings and / or function control of electronic device, and can include, but is not limited to, a mouse, keyboard, touchscreen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 807 can be any type of device capable of presenting information, and can include, but is not limited to, a monitor, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 808 can include, but is not limited to, a hard disk and an optical disk. Communication unit 809 allows electronic device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and can include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets, such as Bluetooth™ devices, 802.11 devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.

[0111] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as methods for providing time services. For example, in some embodiments, the methods for providing time services may be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the methods for providing time services described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform methods for providing time services by any other suitable means (e.g., by means of firmware).

[0112] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0113] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0114] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0115] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0116] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, and blockchain networks.

[0117] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0118] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0119] While embodiments or examples of this disclosure have been described with reference to the accompanying drawings, it should be understood that the methods, systems, and devices described above are merely exemplary embodiments or examples, and the scope of the invention is not limited by these embodiments or examples, but only by the granted claims and their equivalents. Various elements in the embodiments or examples may be omitted or replaced by their equivalents. Furthermore, the steps may be performed in a different order than that described in this disclosure. Further, various elements in the embodiments or examples may be combined in various ways. Importantly, as the technology evolves, many elements described herein can be replaced by equivalents that appear after this disclosure.

Claims

1. A method for providing a time service, comprising: Obtaining the first time determined by the satellite positioning system and verifying the reliability of the first time includes: Multiple first times are received continuously at predetermined time intervals; Determine whether the received plurality of first times increment at the predetermined time interval; and In response to determining that the received plurality of first times increment at the predetermined time interval, it is determined that the received plurality of first times are all reliable; In response to verifying the credibility of the first time, the first time is determined as the start time for timing; and Time information for providing the time service is generated by timing via a reference pulse starting from the start time, wherein the reference pulse includes pulses generated by a crystal oscillator, wherein the frequency drift of the crystal oscillator is corrected by the number of pulses per second obtained from the satellite positioning system.

2. The method according to claim 1, wherein, The step of determining the first time as the start time for timing in response to verifying the credibility of the first time includes: The last of the multiple first times received is determined as the start time.

3. The method according to claim 1, further comprising: Obtain the second time determined based on the network time protocol.

4. The method according to claim 3, wherein, The step of obtaining the first time determined based on the satellite positioning system and verifying the reliability of the first time includes: Determine whether the first time is consistent with the second time; and In response to determining that the first time is consistent with the second time, the first time is determined to be reliable.

5. The method according to claim 3 or 4, further comprising: The second time is determined as the backup start time for timing; Determine if the first time slot is available; as well as In response to determining that the first time is unavailable, time information for providing the time service is generated by timing via the reference pulse from the backup start time.

6. An apparatus for providing time services, comprising: A verification module is configured to acquire a first time determined based on a satellite positioning system and verify whether the first time is reliable. The verification module includes: The receiving module is configured to continuously receive multiple first times at predetermined time intervals; A first processing module is configured to determine whether the received plurality of first times increment by the predetermined time interval; and The second processing module is configured to determine, in response to determining that the received plurality of first times increment by the predetermined time interval, that the received plurality of first times are all reliable; The first determining module is configured to, in response to verifying the credibility of the first time, determine the first time as the start time for timing; and A first timing module is configured to generate time information for providing the time service by timing via a reference pulse from the start time, wherein the reference pulse includes pulses generated by a crystal oscillator, wherein the frequency drift of the crystal oscillator is corrected by the number of pulses per second obtained from the satellite positioning system.

7. The apparatus according to claim 6, wherein, The first determining module includes: The execution module is configured to determine the last of the multiple first times received as the start time.

8. The apparatus according to claim 6, further comprising: The backup time module is configured to acquire a second time determined based on the network time protocol.

9. The apparatus according to claim 8, wherein, The verification module includes: The third processing module is configured to determine whether the first time is consistent with the second time; and The fourth processing module is configured to determine that the first time is reliable in response to determining that the first time is consistent with the second time.

10. The apparatus according to claim 8 or 9, further comprising: The second determining module is configured to determine the second time as a backup start time for timing. The scenario determination module is configured to determine whether the first time is available; as well as The second timing module is configured to generate time information for providing the time service by timing via the reference pulse from the backup start time in response to determining that the first time is unavailable.

11. An electronic device, comprising: At least one processor; as well as The memory that is communicatively connected to the at least one processor The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the method according to any one of claims 1 to 5.

12. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1 to 5.

13. A computer program product comprising a computer program, wherein, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 5.

14. An FPGA chip, comprising: A circuit configured to perform the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Satellite based high-precision continuous time obtaining method

    CN108957494A

  • Method and device for providing time source for automatic driving

    CN114641951A