IP Library Granted Patent US 7,409,023
Granted Patent B2
US 7,409,023 · App. 11/474,689 · Granted Aug 5, 2008

Method and apparatus for effecting synchronous pulse generation for use in serial communications

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 7,409,023
App. No.
11/474,689
Granted
Aug 5, 2008
Kind
B2
Abstract

A method for effecting synchronous pulse generation for use in serial communications is provided. The method includes the steps of generating a difference signal representing a signal level difference between at least two data stream signals; providing a clock signal; providing a counter, defining a sample count value of the counter; incrementing the counter in relation to the clock signal; and determining whether a current count value of the counter corresponds to the sample count value. If the current count value corresponds to the sample count value, then the method performs a step of generating a synchronous pulse. If the current count value does not correspond to the sample count value, then the method performs a step of determining whether a signal level of said difference signal has changed, and if the signal level of the difference signal has changed then performing a step of ignoring further changes in the signal level of the difference signal until the current count value of the counter corresponds to the sample count value at which time the step of generating the synchronous pulse is repeated.

Claims (48)

1. A method for effecting synchronous pulse generation for use in serial communications, comprising:

generating a difference signal representing a signal level difference between at least two data stream signals;

providing a clock signal;

providing a counter;

defining a sample count value of said counter;

incrementing said counter in relation to said clock signal;

determining whether a current count value of said counter corresponds to said sample count value, and

if said current count value corresponds to said sample count value then performing generating a synchronous pulse, and

if said current count value does not correspond to said sample count value then performing determining whether a signal level of said difference signal has changed, and if said signal level of said difference signal has changed then performing ignoring further changes in said signal level of said difference signal until said current count value of said counter corresponds to said sample count value at which time said generating said synchronous pulse is repeated.

2. The method of claim 1 , wherein said synchronous pulse is used to signify a time for performing sampling said difference signal to extract data from said difference signal.

3. The method of claim 1 , further comprising defining a maximum count value of said counter, wherein if said current count value corresponds to said maximum count value then performing resetting said counter.

4. The method of claim 1 , wherein said ignoring further changes in said signal level of said difference signal further comprises:

resetting said counter;

determining whether said current count value corresponds to said sample count value; and

if said current count value does not correspond to said sample count value then performing incrementing said counter each cycle of said clock signal until said current count value corresponds to said sample count value at which time sampling said difference signal to extract data from said difference signal is performed.

5. The method of claim 1 , wherein said generating said synchronous pulse further comprises selecting between a full speed pulse for use during full speed Universal Serial Bus (USB) communication and a slow speed pulse for use during slow speed USB communication.

6. The method of claim 5 , wherein said full speed USB communication is at a frequency of 12 MHz.

7. The method of claim 5 , wherein said slow speed USB communication is at a frequency of 1.5 MHz.

8. A method of extracting data from a difference signal representing a signal level difference between at least two data stream signals, comprising:

providing a clock signal;

providing a counter;

defining a sample count value of said counter;

incrementing said counter in relation to said clock signal;

determining whether a current count value of said counter corresponds to said sample count value, and

if said current count value corresponds to said sample count value then performing sampling said difference signal to extract data from said difference signal, and

if said current count value does not correspond to said sample count value then performing determining whether a signal level of said difference signal has changed, and if said signal level of said difference signal has changed then performing ignoring further changes in said signal level of said difference signal until said current count value of said counter corresponds to said sample count value at which time said sampling said difference signal to extract data from said difference signal is repeated.

9. The method of claim 8 , wherein when said current count value corresponds to said sample count value, said method further comprises generating a synchronization pulse to signify a time for said sampling of said difference signal to extract data from said difference signal.

10. The method of claim 8 , wherein said generating said synchronous pulse further comprises selecting between a full speed pulse for use during full speed Universal Serial Bus (USB) communication and a slow speed pulse for use during slow speed USB communication.

11. The method of claim 10 , wherein said full speed USB communication is at a frequency of 12 MHz.

12. The method of claim 10 , wherein said slow speed USB communication is at a frequency of 1.5 MHz.

13. The method of claim 8 , further comprising defining a maximum count value of said counter, wherein if said current count value corresponds to said maximum count value then performing resetting said counter.

14. The method of claim 8 , wherein said ignoring further changes in said signal level of said difference signal further comprises:

resetting said counter;

determining whether said current count value corresponds to said sample count value; and

if said current count value does not correspond to said sample count value then performing incrementing said counter each cycle of said clock signal until said current count value corresponds to said sample count value at which time said sampling said difference signal to extract data from said difference signal is repeated.

15. A method for synchronizing a receiver to data, comprising:

providing a single clock signal;

initializing a counter to count clock cycles;

detecting a current count value;

defining a sampling count value;

detecting a change in said data;

incrementing said count value if no change in said data is detected;

generating a pulse when said counter reaches said sampling count value; and

sampling said data using said single clock signal when said pulse is asserted.

16. The method of claim 15 , wherein said generating occurs if a change in said data is detected.

17. The method of claim 15 , wherein said generating occurs when said count value equals said sampling count value.

18. The method of claim 15 , further comprising delaying said pulse to center said pulse in a data bit.

19. The method of claim 15 , further comprising resetting said current count value to zero when said pulse is generated.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jan 18, 2024
From: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
To: LEXMARK INTERNATIONAL, INC.
Reel/Frame 066345/0026 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT U.S. PATENT NUMBER PREVIOUSLY RECORDED AT REEL: 046989 FRAME: 0396. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Oct 24, 2018
From: LEXMARK INTERNATIONAL, INC.
To: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
Reel/Frame 047760/0795 →
PATENT SECURITY AGREEMENT Recorded Aug 30, 2018
From: LEXMARK INTERNATIONAL, INC.
To: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
Reel/Frame 046989/0396 →