CN110661609B - Clock synchronization method and first equipment - Google Patents

Clock synchronization method and first equipment Download PDF

Info

Publication number
CN110661609B
CN110661609B CN201810689091.2A CN201810689091A CN110661609B CN 110661609 B CN110661609 B CN 110661609B CN 201810689091 A CN201810689091 A CN 201810689091A CN 110661609 B CN110661609 B CN 110661609B
Authority
CN
China
Prior art keywords
time
equipment
crystal oscillator
count value
deviation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810689091.2A
Other languages
Chinese (zh)
Other versions
CN110661609A (en
Inventor
吕军杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikrobot Co Ltd
Original Assignee
Hangzhou Hikrobot Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikrobot Co Ltd filed Critical Hangzhou Hikrobot Co Ltd
Priority to CN201810689091.2A priority Critical patent/CN110661609B/en
Publication of CN110661609A publication Critical patent/CN110661609A/en
Application granted granted Critical
Publication of CN110661609B publication Critical patent/CN110661609B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation

Abstract

The embodiment of the application provides a clock synchronization method and first equipment. The method comprises the following steps: acquiring clock deviation of the first equipment relative to the second equipment within a specified time length; according to the clock deviation in the appointed duration, determining a second number of vibration deviation times of the crystal oscillator of the first equipment relative to the crystal oscillator of the second equipment when the crystal oscillator vibrates for a first number of times; when the number of vibration times of the crystal oscillator of the first equipment is counted, when the counted value is increased by the first number, the counted value is adjusted by the second number; and determining the current time of the first equipment according to the adjusted count value. By applying the scheme provided by the embodiment of the application, the accuracy of clock synchronization between devices can be improved.

Description

Clock synchronization method and first equipment
Technical Field
The present disclosure relates to the technical field of clock synchronization, and in particular, to a clock synchronization method and a first device.
Background
There is a need for clock synchronization between electronic devices. For example, in the field of mobile communications, synchronization time is required between individual base stations; within a local area network of units, synchronization time is required between different host devices. The precision time protocol (Precision Time Protocol, PTP) is a time synchronized protocol that can be used for high precision time synchronization between devices. The PTP protocol adopts a method of adding a time stamp in a Physical layer (PHY) to achieve synchronization of time between devices.
However, at the current moment of time synchronization, the time between devices is consistent. However, since the crystal oscillation frequencies of different devices are different, the time between the devices becomes inconsistent within a period of time after PTP time synchronization is performed between the devices. That is, the accuracy of the above-described clock synchronization method is not high enough.
Disclosure of Invention
An embodiment of the application aims to provide a clock synchronization method and first equipment so as to improve accuracy in clock synchronization between the equipment. The specific technical scheme is as follows.
In a first aspect, an embodiment of the present application provides a clock synchronization method, where the method includes:
acquiring clock deviation of the first equipment relative to the second equipment in a specified time length;
determining a second number of vibration deviation times of the crystal oscillator of the first device relative to the crystal oscillator of the second device when the crystal oscillator vibrates for a first number of times according to the clock deviation within the specified duration;
when the number of vibration times of the crystal oscillator of the first equipment is counted, when the count value is increased by the first number, the count value is adjusted by the second number;
and determining the current time of the first equipment according to the adjusted count value.
Optionally, the step of adjusting the count value by the second number when the count value is increased by the first number includes:
when the clock bias within the specified duration indicates that the time of the first device is slower than the time of the second device, increasing the count value by the second amount each time the count value is increased by the first amount; or,
when the clock deviation in the specified duration indicates that the time of the first equipment is faster than the time of the second equipment, stopping counting when the count value is increased by the third quantity, and continuing counting after the crystal oscillator vibrates the second quantity; the third number is the difference between the first number and the second number.
Optionally, the step of determining the current time of the first device according to the adjusted count value includes:
and determining the current time of the first equipment according to the corresponding relation between the preset vibration times and the time length of the crystal oscillator and the adjusted count value.
Optionally, the step of determining, according to the clock deviation within the specified duration, a second number of vibration deviation times of the crystal oscillator of the first device existing with respect to the crystal oscillator of the second device every first number of vibration times includes:
According to the following formula, determining a second number of vibration deviation times of the crystal oscillator of the first equipment relative to the crystal oscillator of the second equipment when the crystal oscillator vibrates for a first number of times according to the clock deviation in the specified time period;
n=m*Δt/t
wherein m is the first number, n is the second number, t is the specified duration, and Δt is the clock bias.
Optionally, the first number is a preset value; or, the second number is a preset value.
Optionally, the step of obtaining the clock bias of the first device relative to the second device in a specified duration includes:
receiving a synchronous message sent by second equipment, and recording a first receiving time of the synchronous message;
acquiring a first sending time when the second equipment sends the synchronous message;
acquiring a second receiving time of the first device for receiving the last synchronization message and a second sending time when the second device sends the last synchronization message;
determining a first time interval according to the first receiving time and the second receiving time; determining a second time interval according to the first transmission time and the second transmission time;
And determining clock deviation of the first equipment relative to the second equipment in a specified duration according to the difference value of the first time interval and the second time interval.
Optionally, the method further comprises: and acquiring the absolute time deviation of the first equipment relative to the second equipment, and correcting the current time of the first equipment according to the absolute time deviation.
In a second aspect, embodiments of the present application provide a first device, including: a processor and a crystal oscillator;
the processor is used for acquiring clock deviation of the first equipment relative to the second equipment in a specified duration; determining a second number of vibration deviation times of the crystal oscillator of the first device relative to the crystal oscillator of the second device when the crystal oscillator vibrates for a first number of times according to the clock deviation within the specified duration; when the number of vibration times of the crystal oscillator of the first equipment is counted, when the count value is increased by the first number, the count value is adjusted by the second number; and determining the current time of the first equipment according to the adjusted count value.
Optionally, the processor adjusts the count value by the second amount when the count value increases by the first amount, including:
When the clock bias within the specified duration indicates that the time of the first device is slower than the time of the second device, increasing the count value by the second amount each time the count value is increased by the first amount; or,
when the clock deviation in the specified duration indicates that the time of the first equipment is faster than the time of the second equipment, stopping counting when the count value is increased by the third quantity, and continuing counting after the crystal oscillator vibrates the second quantity; the third number is the difference between the first number and the second number.
Optionally, the processor determines, according to the adjusted count value, a current time of the first device, including:
and determining the current time of the first equipment according to the preset corresponding relation between the vibration times and the time length of the crystal oscillator and the adjusted count value.
Optionally, the processor determines a second number of vibration deviations times that exist for the crystal oscillator of the first device per first number of vibrations relative to the crystal oscillator of the second device, including:
according to the following formula, determining a second number of vibration deviation times of the crystal oscillator of the first equipment relative to the crystal oscillator of the second equipment when the crystal oscillator vibrates for a first number of times according to the clock deviation in the specified time period;
n=m*Δt/t
Wherein m is the first number, n is the second number, t is the specified duration, and Δt is the clock bias.
Optionally, the first number is a preset value; or, the second number is a preset value.
Optionally, the processor obtains a clock bias of the first device relative to the second device within a specified duration, including:
receiving a synchronous message sent by second equipment, and recording a first receiving time of the synchronous message;
acquiring a first sending time when the second equipment sends the synchronous message;
acquiring a second receiving time of the first device for receiving the last synchronization message and a second sending time when the second device sends the last synchronization message;
determining a first time interval according to the first receiving time and the second receiving time; determining a second time interval according to the first transmission time and the second transmission time;
and determining clock deviation of the first equipment relative to the second equipment in a specified duration according to the difference value of the first time interval and the second time interval.
Optionally, the processor is further configured to:
And acquiring the absolute time deviation of the first equipment relative to the second equipment, and correcting the current time of the first equipment according to the absolute time deviation.
In a third aspect, embodiments of the present application provide a computer-readable storage medium having a computer program stored therein, which when executed by a processor implements the clock synchronization method provided in the first aspect.
According to the clock synchronization method and the first device, when the vibration times of the crystal oscillator of the first device are counted, the count value can be adjusted according to the second number of vibration deviation times of the crystal oscillator of the first device relative to the crystal oscillator of the second device when the crystal oscillator of the first device vibrates for a first number of times, and therefore the current time determined according to the adjusted count value is synchronous with the second device. The adjustment process is continuously performed during the counting of the vibration times, so that the time can be continuously adjusted to an accurate value during the timing process. Therefore, the method and the device can improve accuracy in time synchronization between devices. Of course, not all of the above-described advantages need be achieved simultaneously in practicing any one of the products or methods of the present application.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following description will make a brief introduction to the drawings used in the description of the embodiments or the prior art. It is apparent that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained from these drawings without inventive effort for a person of ordinary skill in the art.
Fig. 1 is a schematic flow chart of a clock synchronization method according to an embodiment of the present application;
FIG. 2 is a reference diagram of the crystal vibration differences between the devices provided in the embodiments of the present application;
fig. 3a is a reference diagram of a first device adjustment count value according to an embodiment of the present application;
fig. 3b is another reference diagram of the first device adjustment count value provided in the embodiment of the present application;
fig. 4 is a schematic flow chart of step S101 in fig. 1.
Fig. 5 is a reference diagram of a message sending process provided in an embodiment of the present application.
Fig. 6 is a schematic structural diagram of a first device according to an embodiment of the present application;
fig. 7 is another schematic structural diagram of the first device according to the embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. It will be apparent that the described embodiments are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present application based on the embodiments herein.
In order to improve accuracy in time synchronization between devices, a clock synchronization method and a first device are provided. The present application will be described in detail with reference to specific examples.
Fig. 1 is a schematic flow chart of a clock synchronization method according to an embodiment of the present application. The method is applied to a first device. The first device may be an electronic device, such as a computer, a smart phone, a handheld device, an image capturing device, a network device, etc., which is clocked according to the number of vibrations of the crystal oscillator. The first device may also be a slave device that adjusts the clock according to the time of the master device, and the second device may be the master device. The second device may also be a standard time server. The crystal oscillator may also be referred to as a crystal oscillator. The method comprises the following steps S101 to S104.
Step S101: and acquiring clock deviation of the first equipment relative to the second equipment in a specified time period.
The second device may be the same electronic device as the first device, or may be a device such as a server. The second device is a device to which a precision time protocol (Precision Time Protocol, PTP) is applied. The first device and the second device may also be a slave device and a master device, respectively, in the system. The time of the second device is defined as the standard time.
A clock bias within a specified time period is understood to be the time period difference between the specified time period of the first device relative to the specified time period of the second device. For example, the clock bias within a specified period of time may be 5000ns within 1s, or 10 within 10s 6 ns, etc. A clock skew within 1s of 5000ns is understood to be a 1s length of the first device differing by 5000ns from a 1s length of the second device.
The clock bias within the specified duration may represent a value that is slower for the first device than for the second device, or may represent a value that is faster for the first device than for the second device.
The time in the device may include two layers of meaning, one being absolute time, i.e. a few minutes; and secondly, a unit time length, for example, a time length of 1 s. The absolute time and unit time length may be different between different devices. In order to achieve the absolute time consistency of different moments of each device, the unit time length of the devices can be adjusted to be consistent.
The difference in unit time length may be due to the difference in timing frequency or may be caused by the difference in vibration frequency of the crystal oscillator. The device may be clocked by the number of oscillations of the crystal oscillator. For example, according to 10 per vibration of crystal oscillator 9 The time is counted for 1s, so the time frequency can be understood as the vibration frequency of the crystal oscillator corresponding to the unit time length, for example, the calculated frequency can be 10 times of vibration of the crystal oscillator 9 Count time 1s. The vibration frequency of the crystal oscillator is the physical property of the crystal oscillator and cannot be changed.
To achieve clock synchronization between devices, the timing frequency of the devices may be adjusted to be the same. In this embodiment, the timing frequencies of the first device and the second device can be regarded as the same. For example, the first device and the second device are each configured to vibrate at a rate of 10 per crystal oscillation 9 Count time 1s. In one embodiment, the first device may obtain a standard timing frequency of the second device, and use the standard timing frequency as the timing frequency of the first device.
In order to realize clock synchronization between devices, there may be a difference in unit time length caused by different vibration frequencies of crystal oscillators between different devices. The present embodiment may perform the following steps so that the unit time length between the first device and the second device is uniform.
Step S102: and determining a second number of vibration deviation times of the crystal oscillator of the first device relative to the crystal oscillator of the second device when the crystal oscillator vibrates for a first number of times according to clock deviation in the designated duration.
Wherein the first number may be a preset value, or the second number may be a preset value. When one of the first number and the second number is a preset value, the other can be obtained according to this step. When the second number or the first number is smaller, the frequency of count value adjustment is larger, the time synchronism is better, and after adjustment, the clock error of the first equipment and the second equipment is smaller. In the middle of two adjacent adjustment count deviations, the count value of the first device is inconsistent with the count value of the second device, and at such times there is a clock error between the first device and the second device. When the second number or the first number is set larger, the frequency of adjustment can be reduced. When the second number or the first number is set smaller, the time synchronism between the devices can be made better, and the error is smaller.
The minimum value of the second number is one. When the second number is one, the clock error between the first device and the second device is minimum. This enables the device to adjust the timing value at minimum intervals, thereby enabling better time synchronization.
The vibration deviation number can be understood as the deviation vibration number. The second number of vibration deviation times exists when the crystal oscillator of the first device vibrates for a first number of times relative to the crystal oscillator of the second device, and it can be understood that n deviations exist when the crystal oscillator of the first device a vibrates for m times relative to the crystal oscillator of the second device B, namely, the time length used when the crystal oscillator of the first device a vibrates m times is ta, and the crystal oscillator of the second device B also vibrates m0 times when the crystal oscillator vibrates for a time length ta, and the m times have n vibration times deviations relative to the m0 times. The deviation may indicate that the first device vibrates n times more or that the second device vibrates n times less.
According to the method and the device, according to the preset corresponding relation between the vibration times and the time length of the crystal oscillator of the first device, the second number of vibration deviation times of the crystal oscillator of the first device, which exist relative to the crystal oscillator of the second device, can be determined according to clock deviation in the appointed time length. The corresponding relation between the vibration times and the time length of the crystal oscillator can be understood as the timing frequency.
When the step is executed, the number of second number of vibration deviations existing in each first number of vibration times of the crystal oscillator of the first device relative to the crystal oscillator of the second device can be determined according to the following formula: n=m×Δt/t.
Wherein m is a first number, n is a second number, t is a specified duration, and Δt is a clock bias.
The derivation of the above formula is as follows. The correspondence between the number of vibration times and the duration of the crystal oscillator is known as the above-mentioned timing frequency, and is denoted by f. Delta t/f is the vibration times corresponding to clock deviation, t/f is the vibration times corresponding to the appointed time length, and (delta t/f)/(t/f) is the deviation times corresponding to one time of crystal vibration, so that the number of deviation times corresponding to m times of crystal vibration can be obtained, wherein the number of deviation times is as follows: n= (Δt/f) ×m/(t/f) =m×Δt/t.
For example, 5000ns is differentiated within 1s when the clock skew is within a specified period. When m is 10 9 When n is 10 9 *5000ns/10 9 ns=5000, i.e. crystal oscillation 10 9 There are 5000 offset times for the secondary correspondence. Alternatively, when n is 1, m is 1×10 9 ns/5000ns, i.e. crystal oscillator vibration 10 9 There are 1 number of deviations per 5000 correspondences.
As another example, when the clock bias within a specified period of time is 10 seconds, the phase difference is 10 6 ns, when m=10 10 When n is 10 10 *10 6 ns/10 10 ns=10 6 I.e. crystal oscillator vibration 10 10 Secondary correspondence exists 10 6 Number of deviations. Alternatively, when n is 1, m is 1×10 10 ns/10 6 ns=10 3 I.e. crystal oscillator vibration 10 3 The secondary correspondence has 1 offset number.
As another example, when the clock bias within a specified period of time is 1s, the phase difference is 10 8 ns, when n is 1, m is 1 x 10 9 ns/10 8 ns=10, i.e. there is 1 deviation number corresponding to 10 oscillations of the crystal oscillator.
See fig. 2. Fig. 2 is a reference diagram of the difference in crystal vibration between a first device and a second device. Wherein each arrow represents a vibration of the device. The upper and lower arrows at the left dashed line position are aligned, which represents that the crystal oscillator in the first device and the second device simultaneously generates one vibration. The direction of time duration is to the right. Since the crystal frequencies of the first device and the second device are different, i.e. the durations between the arrows in fig. 2 are different. After a period of time, the arrows do not overlap. At the position of the right broken line, both devices simultaneously generate one vibration. At this time, the crystal oscillator of the first device vibrates 11 times and the crystal oscillator of the second device vibrates 12 times within the same time period corresponding to the two broken lines. Assuming that both devices are clocked at a frequency corresponding to 1s for 10 oscillations, between the two dashed lines, the second device clocks 1.2s, the first device clocks 1.1s, and the second device clocks 1.2s-1.1s = 0.1s slower than the first device for a specified period of 1.2 s. When m=12, n=1, i.e. the crystal oscillator of the second device is slowed by 1 oscillation number per 12 oscillations, according to n=m×Δt/t, Δt=0.1 s, t=1.2 s.
Step S103: when the number of vibration times of the crystal oscillator of the first equipment is counted, the count value is adjusted by a second number when the count value is increased by the first number.
Specifically, when the count value is adjusted by the second number, the count value may be subtracted by the second number or the count value may be added by the second number according to specific situations, to obtain an adjusted count value.
For example, when the first number is 10 and the second number is 1, the count value may be increased by 1 or decreased by 1 every 10 increases in the count value, resulting in an adjusted count value.
For another example, when the clock of the first device is slower than the clock of the second device, when the count value reaches 10 from 0, the count value 10 is incremented by 1, resulting in 11. I.e. the count value jumps directly from 9 to 11. The subsequent count continues to increase on the basis of 11, and when increasing from 11 to 21, 21 is increased by 1, yielding 22. The subsequent count value continues to increase on a 22 basis. And continuing to adjust according to the adjustment mode.
When the clock of the first device is faster than the clock of the second device, when the count value reaches 10 from 0, the count value 10 is subtracted by 1, resulting in 9. That is, when there are two times of vibration, the count values are 9. The subsequent count continues to increase on a 9 basis, subtracting 1 from 19 when increasing from 9 to 19, yielding 18. The subsequent count value continues to increase on the basis of 18. And continuing to adjust according to the adjustment mode.
Step S104: and determining the current time of the first equipment according to the adjusted count value.
The current time is understood to be an absolute time, i.e. a time of several minutes.
After the count value is adjusted in the above manner, the count value of the first device can be synchronized with the count value of the second device once every first number of count values, and consistency of the count value of the first device and the count value of the second device can be achieved.
When determining the current time of the first device according to the adjusted count value, the current time of the first device can be determined according to the corresponding relation between the preset vibration times and the duration of the crystal oscillator and the adjusted count value.
For example, when the correspondence between the vibration frequency and the time length of the crystal oscillator is that the crystal oscillator vibrates 10 9 When the time corresponds to 1s duration, the current time is 1 point, 0 minutes and 0s, and the count value is 20; when the count value gradually increases to 40, the current time becomes 1 point, 0 minutes, 20ns. The timing of the first device may be continuous, i.e. the current time is increased by 1ns each time the count value is increased.
As can be seen from the foregoing, in this embodiment, when counting the number of vibration times of the crystal oscillator of the first device, the count value is adjusted according to the second number of vibration deviation times existing in the crystal oscillator of the first device with respect to the crystal oscillator of the second device every first number of vibration times, so that the current time determined according to the adjusted count value is synchronous with the second device. The adjustment process is continuously performed during the counting of the vibration times, so that the time can be continuously adjusted to an accurate value during the timing process. The present embodiment can thus improve accuracy in time synchronization between devices.
Meanwhile, the embodiment can realize high-precision synchronization of unit time length through simple data addition and subtraction, and finally, the precision in clock synchronization is met. According to the embodiment, hardware improvement on the crystal oscillator is not needed, and higher precision adjustment can be realized with lower cost.
In another embodiment of the present application, in the embodiment shown in fig. 1, step S103, the step of adjusting the count value by the second number when the count value is increased by the first number may specifically include the following embodiments.
When the clock skew within the specified duration indicates that the time of the first device is slower than the time of the second device, the count value is incremented by a second amount each time the count value is incremented by the first amount.
See fig. 3a. Fig. 3a is a reference diagram of the first device adjusting the count value. Wherein each arrow represents a vibration of the device. It is known that the clock of the first device is slow relative to the clock of the second device and that the crystal oscillator of the first device vibrates 1 time less than the crystal oscillator of the second device for every 10 vibrations, i.e. a first number of 10 and a second number of 1. When the count value is from 0 to 10, the count value 10 is incremented by 1 to become 11. The number of vibrations of the crystal oscillator of the first device is continuously counted on the basis of 11, and when the count value is changed from 11 to 21, 21 is increased by 1 to 22. The number of vibrations of the crystal oscillator is continuously counted on the basis of 22.
When the clock deviation within the specified duration indicates that the time of the first device is faster than the time of the second device, the counting is stopped every time the count value is increased by a third amount, and the counting is continued after the crystal oscillator of the first device vibrates a second number of times. Wherein the third number is the difference between the first number and the second number.
See fig. 3b. Fig. 3b is another reference diagram of the first device adjusting the count value. Wherein each arrow represents a vibration of the device. It is known that the clock of the first device is fast relative to the clock of the second device and that the crystal oscillator of the first device vibrates 1 more than the second device for every 10 vibrations, i.e. a first number of 10, a second number of 1 and a third number of 10-1=9. When the count value is from 0 to 9, the counting is stopped, and after the crystal oscillator of the first device vibrates 1 time, the counting is continued, namely the crystal oscillator vibrates 10 times and counts 9 times. The number of vibration times of the crystal oscillator of the first equipment is continuously counted on the basis of 9, when the count value is changed from 9 to 18, the counting is stopped, and after the crystal oscillator of the first equipment vibrates 1 time, the counting is continued. The number of oscillations of the crystal oscillator is counted on the basis of 18.
The count value corresponds to time, which can only be increased. Therefore, in this embodiment, when the first device is faster than the second device, the count value is adjusted by adopting the manner of suspending the count, so that clock synchronization between the first device and the second device can be realized, and the situation that the count value is reduced is avoided.
In another embodiment of the present application, in the embodiment shown in fig. 1, step S101, the step of obtaining the clock deviation of the first device relative to the second device in the specified duration may be performed with reference to the flowchart shown in fig. 4, and specifically includes:
step S101A: and receiving the synchronous message sent by the second equipment and recording the first receiving time of the synchronous message.
The synchronization message may be a Sync message.
The first device may send a synchronization request to the second device before receiving the synchronization message sent by the second device, and send the synchronization message to the first device when the second device receives the synchronization request of the first device.
Because the vibration frequency of the crystal oscillator is changed due to the influence of environmental factors, in order to realize more accurate clock synchronization, the first device can receive the synchronization message sent by the second device according to a preset period, further obtain a new clock deviation according to the preset period, and adjust the count value according to the new clock deviation. Thus, in different time periods, the first device can adjust the count value according to more accurate clock deviation, and real-time adjustment of clock synchronization is achieved.
Step S101B: and acquiring a first sending time when the second device sends the synchronous message.
The first device may agree with the second device in advance, and after the second device transmits the synchronization message to the first device, the first transmission time is transmitted to the second device. Thus, the first device may receive a first transmission time when the second device transmits the synchronization message.
The second device may send the first transmit time via a follow_up message Wen Fasong. The first device may receive a follow_up packet sent by the second device, and analyze a first sending time from the follow_up packet.
Step S101C: the method comprises the steps of obtaining a second receiving time of the first device for receiving the last synchronous message and a second sending time when the second device sends the last synchronous message.
The second device may send the synchronization message to the first device in a preset period, and the time of each sending of the synchronization message. When the first device receives the synchronous message sent by the second device each time and the time of sending the synchronous message each time, the first device records the time of receiving the synchronous message each time and the time of sending the synchronous message each time by the second device.
The first device may determine the second reception time and the second transmission time from the recorded time of each reception of the synchronization message and the time of each transmission of the synchronization message by the second device when acquiring the second reception time and the second transmission time.
Step S101D: determining a first time interval according to the first receiving time and the second receiving time; and determining a second time interval according to the first transmission time and the second transmission time.
The first time interval is a time interval between the first reception time and the second reception time. The second time interval is a time interval between the first transmission time and the second transmission time.
Step S101E: and determining clock deviation of the first device relative to the second device in a specified duration according to the difference value between the first time interval and the second time interval.
In this embodiment, the time of the second device is a standard time, and the unit time length of the second device is a standard time length. Thus, the clock bias of the first device relative to the second device over a specified period of time may be determined according to the following formula: Δt=t (Δt) s -Δt m )/Δt m
Wherein t is the designated duration, Δt is the clock bias, Δt s For a first time interval, Δt m For a second time interval. The specified duration may be a preset value.
For example, if the time interval between the first device and the second device receiving the synchronization message twice is 1s (i.e. the first time interval) and the time interval between the second device and the second device sending the synchronization message twice is 1s10ns (i.e. the second time interval), the first device slows down by 10ns within 1s relative to the second device, and the calculation formula is (1 s-1s10 ns)/1 s.
In another implementation manner of this embodiment, the first device may also send a synchronization message to the second device, record a first sending time of the synchronization message, obtain a first receiving time of the second device for receiving the synchronization message, and obtain a second sending time of a last synchronization message sent by the first device to the second device and a second receiving time of the second device for receiving the last synchronization message; determining a first time interval according to the first sending time and the second sending time, and determining a second time interval according to the first receiving time and the second receiving time; and determining clock deviation of the first device relative to the second device in a specified duration according to the difference value between the first time interval and the second time interval.
In this embodiment, the first device may determine, by sending a synchronization message with the second device, a clock offset of the first device within a specified duration relative to the second device, so that the clock offset obtained in real time may improve accuracy of the clock offset.
In another embodiment of the present application, an absolute time offset of the first device relative to the second device may also be obtained, and the current time of the first device may be corrected according to the absolute time offset.
For example, if the absolute time offset is 1s faster for the first device relative to the second device, the first device may slow the current time by 1s. If the absolute time offset is 1s slower for the first device relative to the second device, the first device may speed the current time up by 1s.
The present embodiment may be executed before step S101, or may be executed at any other time. After the count value is adjusted according to the deviation times, synchronization of the unit time length of the first device and the unit time length of the second device can be achieved. The time of the first device is corrected according to the absolute time deviation, so that the absolute time can be synchronized. The unit time length and the absolute time are synchronized, so that the time can be continuously kept synchronized in the timing process, and the accuracy of clock synchronization is improved.
In another embodiment of the present application, when acquiring the absolute time offset of the first device with respect to the second device, the following steps 1 to 5 may be included.
Step 1: and receiving the first message sent by the second equipment, and recording the second time for receiving the first message.
The time for the second device to send the first message is the first time. The first message may be a Sync message.
Step 2: a first time sent by a second device is received.
The second device may report Wen Fasong the first time via the show_up. When the first device receives a Follow_Up message sent by the second device, the first device analyzes a first time from the Follow_Up message.
Step 3: and sending the second message to the second equipment, and recording a third time for sending the second message. The time for the second device to receive the second message is a fourth time.
The second message may be a delay_req message.
Step 4: and receiving a fourth time sent by the second device.
The second device may send the fourth time via a Delay Resp message. When the first device receives the delay_resp message sent by the second device, the fourth time is analyzed from the delay_resp message.
Step 5: and determining the absolute time deviation of the first equipment relative to the second equipment according to the first time, the second time, the third time and the fourth time and the preset formula.
Specifically, the absolute time offset of the first device relative to the second device may be determined according to the following formula:
offset= [ (second time-first time) - (fourth time-third time) ]. Wherein Offset is the absolute time Offset of the first device relative to the second device.
The present application will be described in more detail with reference to specific examples. Referring to fig. 5, fig. 5 is a schematic diagram illustrating a process of sending a message interactively between a first device and a second device.
In fig. 5, (1) the second device sends a Sync message to the first device, and records the sending time t1. After the first device receives the message, the receiving time t2 is recorded. (2) After the second device sends the Sync message, it sends a follow_up message carrying t1. (3) The first device sends a delay_req message to the second device, and is used for initiating calculation of reverse transmission Delay and recording the sending time t3. (4) After receiving the delay_req message, the second device records a receiving time t4. After receiving the delay_req message, the second device replies a delay_resp message carrying t4.
At this time, the first device has four time stamps t1 to t4. From this, it can be calculated that the total round trip delay between the second device and the first device is [ (t 2-t 1) + (t 4-t 3) ], and the unidirectional delay between the second device and the first device is [ (t 2-t 1) + (t 4-t 3) ]/2. Thus, the deviation of the absolute time of the first device relative to the second device is: offset= (t 2-t 1) - [ (t 2-t 1) + (t 4-t 3) ]/2= [ (t 2-t 1) - (t 4-t 3) ]/2.
When the first device obtains clock deviation of the first device relative to the second device within a specified time period, the first device sends the synchronous message according to (1) and (2) in fig. 5, and obtains the receiving time and the sending time of the synchronous message. The receiving time and the transmitting time of the plurality of groups of synchronous messages can be obtained by transmitting the synchronous messages according to (1) and (2) in fig. 5 with the designated time period as a period.
Fig. 6 is a schematic structural diagram of a first device according to an embodiment of the present application. This embodiment corresponds to the embodiment of the method shown in fig. 1. The first device may be an electronic device, such as a computer, a smart phone, a handheld device, an image capturing device, a network device, etc., which is clocked according to the number of vibrations of the crystal oscillator. The first device may also be a slave device that adjusts the clock according to the time of the master device, and the second device may be the master device. The second device may also be a standard time server. The first device includes: a processor 601 and a crystal oscillator 602. The crystal oscillator may also be referred to as a crystal oscillator.
A processor 601, configured to obtain a clock bias of the first device relative to the second device within a specified duration; determining a second number of vibration deviation times of the crystal oscillator 602 relative to the crystal oscillator of the second device when the crystal oscillator is vibrated a first number of times according to the clock deviation within the specified time period; when counting the vibration times of the crystal oscillator 602, adjusting the count value by the second number when the count value is increased by the first number; and determining the current time of the first equipment according to the adjusted count value.
The processor 601 may be a Field programmable gate array (Field-Programmable Gate Array, FPGA), CPU, MCU, or the like.
In another embodiment of the present application, in the embodiment shown in fig. 6, the processor 601 adjusts the count value by a second amount each time the count value is increased by the first amount, including:
when the clock bias within the specified duration indicates that the time of the first device is slower than the time of the second device, increasing the count value by the second amount each time the count value is increased by the first amount;
when the clock deviation in the specified duration indicates that the time of the first equipment is faster than the time of the second equipment, stopping counting when the count value is increased by the third quantity, and continuing counting after the crystal oscillator vibrates the second quantity; the third number is the difference between the first number and the second number.
In another embodiment of the present application, in the embodiment shown in fig. 6, the determining, by the processor 601, the current time of the first device according to the adjusted count value includes:
and determining the current time of the first equipment according to the preset corresponding relation between the vibration times and the time length of the crystal oscillator and the adjusted count value.
In another embodiment of the present application, in the embodiment shown in fig. 6, the processor 601 determines a second number of vibration deviations times that exist per first number of vibrations of the crystal oscillator of the first device relative to the crystal oscillator of the second device, including:
determining a second number of vibration deviations of the crystal oscillator 602 relative to the crystal oscillator of the second device per the first number of vibrations according to the clock deviations within the specified time period according to the following formula;
n=m*Δt/t
wherein m is a first number, n is a second number, t is a specified duration, and Δt is a clock bias.
In another embodiment of the present application, in the embodiment shown in fig. 6, the first number is a preset value; or, the second number is a preset value.
In another embodiment of the present application, in the embodiment shown in fig. 6, the processor 601 obtains clock bias of the first device relative to the second device for a specified period of time, including:
receiving a synchronous message sent by second equipment, and recording a first receiving time of the synchronous message;
acquiring a first sending time when the second equipment sends the synchronous message;
acquiring a second receiving time of the first device for receiving the last synchronization message and a second sending time when the second device sends the last synchronization message;
Determining a first time interval according to the first receiving time and the second receiving time; determining a second time interval according to the first transmission time and the second transmission time;
and determining clock deviation of the first equipment relative to the second equipment in a specified duration according to the difference value of the first time interval and the second time interval.
In another embodiment of the present application, in the embodiment shown in fig. 6, the processor 601 is further configured to:
and acquiring the absolute time deviation of the first equipment relative to the second equipment, and correcting the current time of the first equipment according to the absolute time deviation.
Since the above embodiment of the apparatus is obtained based on the embodiment of the method, and has the same technical effects as the method, the technical effects of the embodiment of the apparatus are not described herein. For the device embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference is made to the description of the method embodiments for relevant points.
Fig. 7 is another schematic structural diagram of the first device according to the embodiment of the present application. In fig. 7, the processor of the first device is an FPGA. The FPGA comprises a network card, a PTP message module, a clock count adjustment module and a system application module. The FPGA can receive the PTP message (i.e. the synchronous message) through the network card and send the PTP message to the PTP message module, the clock count adjustment module determines clock deviation in a designated time period according to the PTP message received by the PTP message module, determines second number of vibration deviation times of the crystal oscillator of the first equipment relative to the crystal oscillator of the second equipment when the crystal oscillator of the first equipment vibrates for a first number of times, adjusts the count value by the second number when the count value is increased by the first number when the count value is counted, and determines the current time of the first equipment according to the adjusted count value. The system application module may execute the system application based on the current time determined by the clock count adjustment module.
The embodiment of the application also provides a computer readable storage medium, and a computer program is stored in the computer readable storage medium, and when the computer program is executed by a processor, the clock synchronization method provided by the embodiment of the application is realized. The clock synchronization method comprises the following steps:
acquiring clock deviation of the first equipment relative to the second equipment in a specified time length;
determining a second number of vibration deviation times of the crystal oscillator of the first equipment relative to the crystal oscillator of the second equipment when the crystal oscillator vibrates for a first number of times according to the clock deviation in the designated time length;
when the number of vibration times of the crystal oscillator of the first equipment is counted, when the count value is increased by the first number, the count value is adjusted by the second number;
and determining the current time of the first equipment according to the adjusted count value.
When the number of vibration times of the crystal oscillator of the first device is counted, the count value can be adjusted according to the second number of vibration deviation times of the crystal oscillator of the first device relative to the crystal oscillator of the second device when the crystal oscillator of the first device vibrates for a first number of times, and therefore the current time determined according to the adjusted count value is synchronous with the second device. The adjustment process is continuously performed during the counting of the vibration times, so that the time can be continuously adjusted to an accurate value during the timing process. The present embodiment can thus improve accuracy in time synchronization between devices.
It is noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In this specification, each embodiment is described in a related manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments.
The foregoing description is only of the preferred embodiments of the present application and is not intended to limit the scope of the present application. Any modifications, equivalent substitutions, improvements, etc. that are within the spirit and principles of the present application are intended to be included within the scope of the present application.

Claims (12)

1. A method of clock synchronization, the method comprising:
acquiring clock deviation of a first device relative to a second device in a designated time length, wherein the clock deviation in the designated time length is a time length difference value of the designated time length of the first device relative to the designated time length of the second device;
according to a preset corresponding relation between the vibration times and the time length of the crystal oscillator of the first equipment, determining a second number of vibration deviation times of the crystal oscillator of the first equipment relative to the crystal oscillator of the second equipment when the crystal oscillator vibrates for a first number of times according to the clock deviation in the designated time length, wherein the vibration deviation times are the vibration times of the deviation between the first equipment and the second equipment;
when the number of vibration times of the crystal oscillator of the first equipment is counted, when the count value is increased by the first number, the count value is adjusted by the second number; the adjusting process is continuously executed in the counting process of the vibration times;
determining the current time of the first equipment according to the adjusted count value;
wherein the step of adjusting the count value by the second number when the count value is increased by the first number each time includes:
When the clock bias within the specified duration indicates that the time of the first device is slower than the time of the second device, increasing the count value by the second amount each time the count value is increased by the first amount; or,
when the clock deviation in the specified duration indicates that the time of the first equipment is faster than the time of the second equipment, stopping counting when the count value is increased by a third number, and continuing counting after the crystal oscillator vibrates the second number; the third number is the difference between the first number and the second number.
2. The method of claim 1, wherein the step of determining the current time of the first device based on the adjusted count value comprises:
and determining the current time of the first equipment according to the corresponding relation between the preset vibration times and the time length of the crystal oscillator and the adjusted count value.
3. The method according to claim 1 or 2, wherein the step of determining a second number of vibration deviations times per vibration of the crystal oscillator of the first device a first number of times with respect to the crystal oscillator of the second device based on the clock deviations within the specified time period comprises:
According to the following formula, determining a second number of vibration deviation times of the crystal oscillator of the first equipment relative to the crystal oscillator of the second equipment when the crystal oscillator vibrates for a first number of times according to the clock deviation in the specified time period;
n=m*Δt/t
wherein m is the first number, n is the second number, t is the specified duration, and Δt is the clock bias.
4. A method according to claim 3, wherein the first number is a preset value; or, the second number is a preset value.
5. The method of claim 1, wherein the step of obtaining the clock bias of the first device relative to the second device for a specified period of time comprises:
receiving a synchronous message sent by second equipment, and recording a first receiving time of the synchronous message;
acquiring a first sending time when the second equipment sends the synchronous message;
acquiring a second receiving time of the first device for receiving the last synchronization message and a second sending time when the second device sends the last synchronization message;
determining a first time interval according to the first receiving time and the second receiving time; determining a second time interval according to the first transmission time and the second transmission time;
And determining clock deviation of the first equipment relative to the second equipment in a specified duration according to the difference value of the first time interval and the second time interval.
6. The method as recited in claim 1, further comprising:
and acquiring the absolute time deviation of the first equipment relative to the second equipment, and correcting the current time of the first equipment according to the absolute time deviation.
7. A first device, comprising: a processor and a crystal oscillator;
the processor is used for acquiring clock deviation of the first equipment relative to the second equipment in a specified time length, wherein the clock deviation in the specified time length is a time length difference value of the specified time length of the first equipment relative to the specified time length of the second equipment; according to a preset corresponding relation between the vibration times and the time length of the crystal oscillator of the first equipment, determining a second number of vibration deviation times of the crystal oscillator of the first equipment relative to the crystal oscillator of the second equipment when the crystal oscillator vibrates for a first number of times according to the clock deviation in the designated time length, wherein the vibration deviation times are the vibration times of the deviation between the first equipment and the second equipment; when the number of vibration times of the crystal oscillator of the first equipment is counted, when the count value is increased by the first number, the count value is adjusted by the second number; the adjusting process is continuously executed in the counting process of the vibration times; determining the current time of the first equipment according to the adjusted count value;
Wherein the processor, when the count value is increased by the first number, adjusts the count value by the second number, includes:
when the clock bias within the specified duration indicates that the time of the first device is slower than the time of the second device, increasing the count value by the second amount each time the count value is increased by the first amount; or,
when the clock deviation in the specified duration indicates that the time of the first equipment is faster than the time of the second equipment, stopping counting when the count value is increased by a third number, and continuing counting after the crystal oscillator vibrates the second number; the third number is the difference between the first number and the second number.
8. The first device of claim 7, wherein the processor to determine the current time of the first device based on the adjusted count value comprises:
and determining the current time of the first equipment according to the preset corresponding relation between the vibration times and the time length of the crystal oscillator and the adjusted count value.
9. The first device of claim 7 or 8, wherein the processor determines a second number of vibration deviations times per first number of vibrations of the crystal oscillator of the first device relative to the crystal oscillator of the second device, comprising:
According to the following formula, determining a second number of vibration deviation times of the crystal oscillator of the first equipment relative to the crystal oscillator of the second equipment when the crystal oscillator vibrates for a first number of times according to the clock deviation in the specified time period;
n=m*Δt/t
wherein m is the first number, n is the second number, t is the specified duration, and Δt is the clock bias.
10. The first device of claim 9, wherein the first number is a preset value; or, the second number is a preset value.
11. The first device of claim 7, wherein the processor to obtain a clock bias of the first device relative to a second device over a specified period of time comprises:
receiving a synchronous message sent by second equipment, and recording a first receiving time of the synchronous message;
acquiring a first sending time when the second equipment sends the synchronous message;
acquiring a second receiving time of the first device for receiving the last synchronization message and a second sending time when the second device sends the last synchronization message;
determining a first time interval according to the first receiving time and the second receiving time; determining a second time interval according to the first transmission time and the second transmission time;
And determining clock deviation of the first equipment relative to the second equipment in a specified duration according to the difference value of the first time interval and the second time interval.
12. The first device of claim 7, wherein the processor is further configured to:
and acquiring the absolute time deviation of the first equipment relative to the second equipment, and correcting the current time of the first equipment according to the absolute time deviation.
CN201810689091.2A 2018-06-28 2018-06-28 Clock synchronization method and first equipment Active CN110661609B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810689091.2A CN110661609B (en) 2018-06-28 2018-06-28 Clock synchronization method and first equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810689091.2A CN110661609B (en) 2018-06-28 2018-06-28 Clock synchronization method and first equipment

Publications (2)

Publication Number Publication Date
CN110661609A CN110661609A (en) 2020-01-07
CN110661609B true CN110661609B (en) 2024-02-02

Family

ID=69027445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810689091.2A Active CN110661609B (en) 2018-06-28 2018-06-28 Clock synchronization method and first equipment

Country Status (1)

Country Link
CN (1) CN110661609B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112003668B (en) * 2020-08-28 2023-04-14 石家庄科林电气股份有限公司 Real-time dynamic tracking time synchronization method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102013970A (en) * 2010-12-23 2011-04-13 北京北方烽火科技有限公司 Clock synchronization method and device thereof as well as base station clock device
CN102104475A (en) * 2011-01-31 2011-06-22 上海交通大学 IEEE 1588-based synchronization system and synchronization method thereof
CN102546071A (en) * 2011-12-23 2012-07-04 北京北方烽火科技有限公司 Clock synchronization method and system
CN104065341A (en) * 2013-03-18 2014-09-24 厦门歌乐电子企业有限公司 Crystal oscillator clock compensation method and device
CN105897394A (en) * 2016-06-16 2016-08-24 桥弘数控科技(上海)有限公司 Method and device for synchronous adjustment of clocks

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611922B2 (en) * 1999-08-09 2003-08-26 Power Measurement, Ltd. Power system time synchronization device and method for sequence of event recording
US9184861B2 (en) * 2013-10-01 2015-11-10 Khalifa University of Science, Technology, and Research Method and devices for synchronization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102013970A (en) * 2010-12-23 2011-04-13 北京北方烽火科技有限公司 Clock synchronization method and device thereof as well as base station clock device
CN102104475A (en) * 2011-01-31 2011-06-22 上海交通大学 IEEE 1588-based synchronization system and synchronization method thereof
CN102546071A (en) * 2011-12-23 2012-07-04 北京北方烽火科技有限公司 Clock synchronization method and system
CN104065341A (en) * 2013-03-18 2014-09-24 厦门歌乐电子企业有限公司 Crystal oscillator clock compensation method and device
CN105897394A (en) * 2016-06-16 2016-08-24 桥弘数控科技(上海)有限公司 Method and device for synchronous adjustment of clocks

Also Published As

Publication number Publication date
CN110661609A (en) 2020-01-07

Similar Documents

Publication Publication Date Title
CN104836630B (en) IEEE1588 clock synchronization system and implementation method therefor
US10019333B2 (en) Methods, systems, and computer readable media for emulating network devices with different clocks
CN101960770B (en) Clock synchronization system, node, clock synchronization method
EP3531610B1 (en) Frequency synchronization method and slave clock
WO2016168063A1 (en) Methods, systems, and computer readable media for synchronizing timing among network interface cards (nics) in a network equipment test device
WO2018006686A1 (en) Method, apparatus and device for optimizing time synchronization between communication network devices
JP5080202B2 (en) Time synchronization processing system, time information distribution device, time synchronization processing device, time information distribution program, and time synchronization processing program
CN102244603B (en) Method, equipment and system for transmitting message bearing time
CN102577194A (en) Measurement and adjustment of real-time values according to residence time in networking equipment without access to real time
TW201625040A (en) Method of synchronising clocks of network devices
CN101729180A (en) Method and system for synchronizing precision clocks, and precision clock frequency/time synchronizing device
CN105577349A (en) Airborne network IEEE1588 protocol master-slave clock port synchronization method
CN103763055A (en) Method for precise time synchronization
JP2014238357A (en) Reception device, time difference calculation method and program
CN103368721A (en) Computing method for transparent clock in time-triggered Ethernet
WO2017054554A1 (en) Clock synchronization method, device, and communication apparatus
WO2021026023A1 (en) Systems for timestamping events on edge devices
CN102356603A (en) Apparatus and method of scheduling timing packets to enhance time distribution in telecommunication networks
WO2016054884A1 (en) Frequency deviation monitoring method, device and computer storage medium
CN110572230A (en) correction method and device for realizing time synchronization
CN110661609B (en) Clock synchronization method and first equipment
CN107800529B (en) Clock frequency synchronization method of network node
CN108631897B (en) A kind of correcting time in network method and device
CN103857029A (en) Uplink and downlink time-delay difference determination method, device and equipment thereof
JP2012023705A (en) Timing adjustment device, timing information generating device, and time synchronization system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Hikvision Robot Co.,Ltd.

Address before: No.555, Qianmo Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant