IP Library Granted Patent US 9,866,220
Granted Patent B2
US 9,866,220 · App. 15/369,848 · Granted Jan 9, 2018

Timing device

Inventors: Yuqiu Zhao (Shenyang, CN); Guodong Liang (Shenyang, CN); Long Yang (Shenyang, CN); Peng Gao (Shenyang, CN); Jun Zhang (Shenyang, CN)
Assignee: SHENYANG NEUSOFT MEDICAL SYSTEMS CO., LTD.
H03K23/005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,866,220
App. No.
15/369,848
Granted
Jan 9, 2018
Kind
B2
Abstract

A timing method and a timing device are disclosed. A Gray code count output may be obtained by performing a Gray code count on a basic clock. Then m number of sub-clocks may be obtained by separately performing a phase shift on a least significant bit output of the Gray code count output, where a phase difference φ between each of the m number of sub-clocks and the least significant bit output may satisfy: φ=n×α and φ≠90°, 180° may be divisible by α with no remainder, and n may be an integer greater than 0 and less than 180°/α. If 90° is divisible by α with no remainder, m=180/α−2; and if 90° is divisible by α with a remainder, m=180/α−1. When a predetermined event occurs, a timing result of the predetermined event may be obtained according to the Gray code count output value, outputs of the m number of sub-clocks, a period of the basic clock, and the α.

Claims (63)

1. A timing method, comprising:

obtaining a Gray code count output by performing a Gray code count on a basic clock;

obtaining m number of sub-clocks by separately performing a phase shift on a least significant bit output of the Gray code count output, wherein a phase difference φ between each of the m number of sub-clocks and the least significant bit output satisfies: φ=n×α and φ≠90°, wherein, 180° is divisible by α with no remainder, and n is an integer greater than 0 and less than 180°/α;

when 90° is divisible by α with no remainder, m=180/α−2,

when 90° is divisible by α with a remainder, m=180/α−1; and

obtaining a timing result of a predetermined event according to the Gray code count output value, outputs of the m number of sub-clocks, a period of the basic clock, and the α when the predetermined event occurs.

2. The method according to claim 1 , wherein obtaining the timing result comprises:

obtaining a sub-clock count value; and

determining the timing result according to a formula as follows:

( B× 90°/α+ X )×Δ t;

wherein B is a Gray code count output value,

X is the sub-clock count value,

when a remainder obtained through dividing B by 4 is 0, X is equal to a number of sub-clocks with a high-level output among the m number of sub-clocks,

when the remainder obtained through dividing B by 4 is 1, X is equal to a difference between the number of sub-clocks with the high-level output among the m number of sub-clocks and i,

when the remainder obtained through dividing B by 4 is 2, X is equal to a difference between a product of 2×i and the number of sub-clocks with the high-level output among the m number of sub-clocks,

when the remainder obtained through dividing B by 4 is 3, X is equal to a difference between i and the number of sub-clocks with the high-level output among the m number of sub-clocks,

i is a smallest integer greater than or equal to 90°/α−1,

Δt=t 0 ×α/90°, and

t 0 is the period of the basic clock.

3. The method according to claim 2 , wherein obtaining the sub-clock count value X comprises:

obtaining a remainder through dividing the Gray code count output value B by 4;

when the remainder is 0, taking the number of sub-clocks with the high-level output among the m number of sub-clocks as the sub-clock count value X;

when the remainder is 1, taking the number of sub-clocks with the high-level output among a second set of m number of sub-clocks as the sub-clock count value X, wherein the second set of m number of sub-clocks are generated by shifting the outputs of the m number of sub-clocks to the right by i number of bits;

if the remainder is 2, taking the number of sub-clocks with the high-level output among a third set of m number of sub-clocks as the sub-clock count value X, wherein the third set of m number of sub-clocks are generated by inverting the outputs of the m number of sub-clocks; and

if the remainder is 3, taking the number of sub-clocks with the high-level output among a fourth set of m number of sub-clocks as the sub-clock count value X, wherein the fourth set of m number of sub-clocks are generated by inverting the outputs of the m number of sub-clocks and then shifting inverted outputs of the m number of sub-clocks to the right by i number of bits.

4. The method according to claim 2 , wherein obtaining the sub-clock count value X comprises:

obtaining the sub-clock count value by searching a lookup table,

wherein the lookup table comprises the sub-clock count value X and the Gray code count output value.

5. The method according to claim 1 , wherein obtaining the Gray code count output by performing the Gray code count on the basic clock comprises:

obtaining an original binary count output by performing an original binary count on the basic clock; and

converting the original binary count output into the Gray code count output.

6. The method according to claim 1 , wherein obtaining the Gray code count output by performing the Gray code count on the basic clock comprises:

obtaining the Gray code count output by performing a frequency division and a delay on the basic clock.

7. A timing device, comprising:

a count module configured to obtain a Gray code count output by performing a Gray code count on a basic clock;

m number of sub-clock modules respectively configured to obtain a sub-clock by performing a phase shift on a least significant bit output of the Gray code count output, wherein a phase difference φ between each of the m number of sub-clocks and the least significant bit output satisfies: φ=n×α and φ≠90°, wherein 180° is divisible by α with no remainder, and n is an integer greater than 0 and less than 180°/α;

when 90° is divisible by a with no remainder, m=180/α−2,

when 90° is divisible by a with no remainder, m=180/α−1;

a latch module configured to latch the Gray code count output and outputs of m number of sub-clocks obtained by the m number of sub-clock modules when a predetermined event occurs; and

a timing module configured to obtain a timing result of the predetermined event according to the Gray code count output value, outputs of the m number of sub-clocks, a period of the basic clock, and the α.

8. The timing device according to claim 7 , wherein the timing result comprises:

( B× 90°/α+ X )×Δ t;

wherein B is a Gray code count output value,

X is a sub-clock count value,

when a remainder obtained through dividing B by 4 is 0, X is equal to a number of sub-clocks with a high-level output among the m number of sub-clocks,

when the remainder obtained through dividing B by 4 is 1, X is equal to a difference between the number of sub-clocks with the high-level output among the m number of sub-clocks and i,

when the remainder obtained through dividing B by 4 is 2, X is equal to a difference between a product of 2×i and the number of sub-clocks with the high-level output among the m number of sub-clocks,

when the remainder obtained through dividing B by 4 is 3, X is equal to a difference between i and the number of sub-clocks with the high-level output among the m number of sub-clocks,

i is a smallest integer greater than or equal to 90°/α−1,

Δt=t 0 ×α/90°, and

t 0 , is the period of the basic clock.

9. The timing device according to claim 8 , wherein the timing module is configured to:

obtain a remainder through dividing the Gray code count output value B by 4;

when the remainder is 0, take the number of sub-clocks with the high-level output among the m number of sub-clocks i as the sub-clock count value X;

when the remainder is 1, take the number of sub-clocks with the high-level output among a second set of m number of sub-clocks as the sub-clock count value X, wherein the second set of m number of sub-clocks are generated by shifting the outputs of the m number of sub-clocks to the right by i number of bits;

when the remainder is 2, take the number of sub-clocks with the high-level output among a third set of m number of sub-clocks as the sub-clock count value X, wherein the third set of m number of sub-clocks are generated by inverting the outputs of the m number of sub-clocks; and

when the remainder is 3, take the number of sub-clocks with the high-level output among a fourth set of m number of sub-clocks as the sub-clock count value X, wherein the fourth set of m number of sub-clocks are generated by inverting the outputs of the m number of sub-clocks and then shifting inverted outputs of the m number of sub-clocks to the right by i number of bits.

10. The timing device according to claim 8 , wherein the timing module obtains the sub-clock count value X by searching a lookup table, wherein the lookup table comprises the sub-clock count value X and the Gray code count output value.

11. The timing device according to claim 7 , wherein the timing module comprises:

a count sub-module configured to obtain an original binary count output by performing an original binary count on the basic clock; and

a conversion sub-module configured to convert the original binary count output into the Gray code count output.

12. The timing device according to claim 7 , wherein the timing module comprises:

a frequency division and delay sub-module configure to obtain the Gray code count output by performing a frequency division and a delay on the basic clock.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2023
From: NEUSOFT MEDICAL SYSTEMS CO., LTD.
To: SHENYANG INTELLIGENT NEUCLEAR MEDICAL TECHNOLOGY CO., LTD.
Reel/Frame 063199/0764 →
CHANGE OF NAME Recorded Apr 14, 2020
From: SHENYANG NEUSOFT MEDICAL SYSTEMS CO.,LTD.
To: NEUSOFT MEDICAL SYSTEMS CO., LTD.
Reel/Frame 052386/0332 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2016
From: ZHAO, YUQIU; LIANG, GUODONG; YANG, LONG; GAO, PENG; ZHANG, JUN
To: SHENYANG NEUSOFT MEDICAL SYSTEMS CO., LTD.
Reel/Frame 040819/0030 →
Priority Claims (1)
CN 2015 1 0897299 · Dec 8, 2015 · national
Continuity (1)
Related Publication 20170163262A1 · Jun 8, 2017