Patent US5778218A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5778218A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for clock synchronization across an isochronous bus by adjustment of frame clock rates

Assignee: GlobalFoundries Inc
•
Filing: 1996-12-19
•
Granted: 1998-07-07
•
Expires: 2016-12-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A mechanism for adjusting the frame clock used by an audio DSP or other functional unit to transfer data to the rate at which data is transferred across an isochronous bus. According to one embodiment of the present invention, there is provided a mechanism for monitoring the level of data in a data buffer. The data are transferred to the buffer from the audio DSP, and then out the buffer across the isochronous bus, such as a Universal Serial bus. If the level in the buffer is too high, the audio DSP is filling the data buffer too quickly. If the data level in the buffer is too low, then the audio DSP is not providing the data quickly enough. The frame clock on the audio logic which is used to generate and transfer the data to the buffer is adjusted. Thus, if the level in the buffer is too high, the frame clock will be slowed; if the level in the buffer is too low, the rate of the frame clock will be increased. More particularly, there is provided a programmable clock divider which receives as input a master clock used by the audio DSP for computational purposes, and from which the frame clock is derived. Responsive to the level of data in the buffer, the programmable clock divider will adjust the rate of the frame clock.

Inventors

  • 👤 Dale E. Gulick

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 03:55
CPC Classifications
G; G06; G06F; G06F1/00; G06F1/04; G06F1/08

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 205 words
A computer system, comprising: a central processing unit (CPU); a data buffer operably coupled to said CPU, wherein said CPU is configured to read data from said data buffer at a first predetermined clock rate; a clock controller coupled to said data buffer and configured to monitor levels of data in said data buffer, and to provide a signal indicative of said levels of data to said CPU; a peripheral device operably coupled to said data buffer and including a data generating unit configured to generate said data and write said data to said data buffer at a second predetermined clock rate, wherein said peripheral device further includes: a master clock coupled to said data generating unit and configured to provide a computational clock for said data generating unit; and a programmable clock divider coupled to said master clock; wherein said second predetermined clock rate is generated by programming a value into said programmable clock divider and dividing said master clock by said value; and wherein said value is programmed by said CPU responsive to said clock controller determining that said levels of data in said data buffer cross a predetermined threshold, such that said second predetermined clock rate approximates said first predetermined clock rate.
Claim 2
Dependent Claim 205 words
A computer system, comprising: a central processing unit (CPU); a data buffer operably coupled to said CPU, wherein said CPU is configured to read data from said data buffer at a first predetermined clock rate; a clock controller coupled to said data buffer and configured to monitor levels of data in said data buffer, and to provide a signal indicative of said levels of data to said CPU; a peripheral device operably coupled to said data buffer and including a data generating unit configured to generate said data and write said data to said data buffer at a second predetermined clock rate, wherein said peripheral device further includes: a master clock coupled to said data generating unit and configured to provide a computational clock for said data generating unit; and a programmable clock divider coupled to said master clock; wherein said second predetermined clock rate is generated by programming a value into said programmable clock divider and dividing said master clock by said value; and wherein said value is programmed by said CPU responsive to said clock controller determining that said levels of data in said data buffer cross a predetermined threshold, such that said second predetermined clock rate approximates said first predetermined clock rate.
Claim 3
Dependent Claim 23 words
The computer system of claim 1, wherein said data buffer comprises one or more dual port first-in/first-out (FIFO) random access memory (RAM) arrays.
Claim 4
Dependent Claim 22 words
The computer system of claim 2, wherein said one or more dual port FIFO RAM arrays includes a plurality of control flags.
Claim 5
Dependent Claim 32 words
The computer system of claim 3, wherein one of said control flags is a Threshold Flag, which is asserted when an amount of data in said data buffer exceeds a predetermined threshold.
Claim 6
Dependent Claim 30 words
The computer system of claim 4, wherein said clock controller is configured to detect an assertion of said Threshold Flag and provide an indication of said assertion to said CPU.
Claim 7
Dependent Claim 33 words
The computer system of claim 5, wherein said CPU is configured to adjust said value programmed into said programmable clock divider responsive to said clock controller detecting said assertion of said Threshold Flag.
Claim 8
Dependent Claim 33 words
The computer system of claim 6, wherein said CPU is configured to increase said value programmed into said programmable clock divider responsive to said clock controller detecting said assertion of said Threshold Flag.
Claim 9
Dependent Claim 33 words
The computer system of claim 6, wherein said CPU is configured to decrease said value programmed into said programmable clock divider responsive to said clock controller detecting said assertion of said Threshold Flag.
Claim 10
Dependent Claim 30 words
The computer system of claim 4, wherein said clock controller is configured to detect a deassertion of said Threshold Flag and provide an indication of said deassertion to said CPU.
Claim 11
Dependent Claim 33 words
The computer system of claim 9, wherein said CPU is configured to adjust said value programmed into said programmable clock divider responsive to said clock controller detecting said deassertion of said Threshold Flag.
Claim 12
Dependent Claim 33 words
The computer system of claim 10, wherein said CPU is configured to increase said value programmed into said programmable clock divider responsive to said clock controller detecting said deassertion of said Threshold Flag.
Claim 13
Dependent Claim 33 words
The computer system of claim 10, wherein said CPU is configured to decrease said value programmed into said programmable clock divider responsive to said clock controller detecting said deassertion of said Threshold Flag.
Claim 14
Dependent Claim 17 words
The computer system of claim 1, wherein said second predetermined clock rate is a frame clock rate.
Claim 15
Independent Claim 104 words
A method for synchronizing clocks in a computer system, comprising: generating data at a first predetermined clock rate, wherein said first predetermined clock rate is generated by dividing a master clock by a predetermined value; providing said data to a data buffer; reading said data from said data buffer at a second predetermined clock rate; monitoring a level of data in said data buffer; adjusting said first predetermined clock rate by adjusting said predetermined value responsive to determining that said level of data in said data buffer crosses a predetermined threshold, such that said first predetermined clock rate approaches said second predetermined clock rate.
Claim 16
Independent Claim 104 words
A method for synchronizing clocks in a computer system, comprising: generating data at a first predetermined clock rate, wherein said first predetermined clock rate is generated by dividing a master clock by a predetermined value; providing said data to a data buffer; reading said data from said data buffer at a second predetermined clock rate; monitoring a level of data in said data buffer; adjusting said first predetermined clock rate by adjusting said predetermined value responsive to determining that said level of data in said data buffer crosses a predetermined threshold, such that said first predetermined clock rate approaches said second predetermined clock rate.
Claim 17
Dependent Claim 29 words
The method of claim 14, wherein said monitoring comprises monitoring a Threshold Flag on one or more one or more dual port first-in/first-out (FIFO) random access memory (RAM) arrays.
Claim 18
Dependent Claim 27 words
The method of claim 15, wherein said adjusting said first predetermined clock rate includes providing an indication of an assertion of said Threshold Flag to a CPU.
Claim 19
Dependent Claim 27 words
The method of claim 15, wherein said adjusting said first predetermined clock rate includes providing an indication of a deassertion of said Threshold Flag to a CPU.
Claim 20
Dependent Claim 16 words
The method of claim 15, wherein said first predetermined clock rate is a frame clock rate.
Claim 21
Independent Claim 160 words
A method for synchronizing clocks in a computer system, comprising: generating data at a first predetermined clock rate, wherein said first predetermined clock rate is generated by dividing a master clock by a predetermined value; providing said data to a data buffer; reading said data from said data buffer at a second predetermined clock rate; monitoring a first level of data in said data buffer at a first predetermined time; monitoring a second level of data in said data buffer at a second predetermined time; comparing said first level of data in said buffer with said second level of data in said buffer; and adjusting said first predetermined clock rate by adjusting said predetermined value responsive to determining that said second level of data in said data buffer is greater than or less than said first predetermined level of data in said buffer by a predetermined threshold, such that said first predetermined clock rate approaches said second predetermined clock rate.
Claim 22
Independent Claim 160 words
A method for synchronizing clocks in a computer system, comprising: generating data at a first predetermined clock rate, wherein said first predetermined clock rate is generated by dividing a master clock by a predetermined value; providing said data to a data buffer; reading said data from said data buffer at a second predetermined clock rate; monitoring a first level of data in said data buffer at a first predetermined time; monitoring a second level of data in said data buffer at a second predetermined time; comparing said first level of data in said buffer with said second level of data in said buffer; and adjusting said first predetermined clock rate by adjusting said predetermined value responsive to determining that said second level of data in said data buffer is greater than or less than said first predetermined level of data in said buffer by a predetermined threshold, such that said first predetermined clock rate approaches said second predetermined clock rate.
Claim 23
Dependent Claim 16 words
The method of claim 19, wherein said first predetermined clock rate is a frame clock rate.

References Cited (Backward Citations)

US4378588A Cited
US5025457A Cited
US5249271A Cited
US5204882A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-07-06 2002-01-05 2002-07-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-07-06 2006-01-05 2006-07-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-07-06 2010-01-05 2010-07-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag