A clock synthesis system may include a feed forward divider circuit configured to divide a source clock signal by one of a plurality of integers in response to a select signal to generate a reference clock that is synchronous to a synchronous pulse; a modulator that modulates the select signal in response to at least a difference value; a multiplier circuit that frequency multiplies the reference clock to generate an output clock; and a timing circuit that generates the difference value in response to the source clock and synchronous pulse.
|
15. A method, comprising:
dividing a source clock by multiple integer values based on a select signal to generate a reference clock signal that is synchronous with, and a rational multiple of, a synchronization pulse input;
modulating the select signal in response to at least a difference value generated in response to a difference between the synchronization pulse input and the source clock; and
frequency multiplying and filtering the reference clock signal to generate an output signal, wherein the frequency multiplying and filtering of the reference clock signal is performed by a phase lock loop (PLL) circuit after the dividing of the source clock and the modulating of the select signal.
1. A clock synthesis system, comprising:
a feed forward stage including a divider circuit configured to divide a source clock signal by one of a plurality of integers in response to a select signal to generate a reference clock that is synchronous to a synchronization pulse;
a modulator that modulates the select signal in response to at least a difference value;
a multiplier circuit that frequency multiplies the reference clock to generate an output clock, wherein the frequency multiplication of the reference clock is performed by a phase lock loop (PLL) circuit after the division of the source clock signal and the modulation of the select signal; and
a timing circuit that generates the difference value in response to the source clock signal and synchronization pulse.
8. A clock synthesis system, comprising:
a frequency synthesis circuit that divides a source clock by different integer values in response to at least a difference between the source clock and a synchronous clock to generate a reference clock, wherein the reference clock is an audio clock capable of being used to process audio data; and
a multiplier circuit that generates at least one output clock by frequency multiplying the reference clock, wherein the frequency multiplying of the reference clock is performed by a phase lock loop (PLL) circuit after the division of the source clock; and wherein
the synchronous clock is slower than the source clock and the reference clock, and the at least one output clock is a rational multiple of, and synchronous with, the synchronous clock.
2. The clock synthesis system of
the modulator comprises a pulse density modulator; and
the divider circuit comprises a dual modulus prescaler that divides by integers L or L+1 in response to a logic state of the select signal.
3. The clock synthesis system of
the modulator comprises a delta-sigma modulator that encodes at least the difference value into a pulse stream to generate the select signal.
4. The clock synthesis system of
the timing circuit comprises a counter that generates the difference value by comparing an ideal count to a measured count of source clock cycles occurring between synchronous pulses.
5. The clock synthesis system of
the multiplier circuit comprises a phase locked loop having a frequency dividing value Q and frequency multiplying value P, such that
foutput =P/Q * freference where, foutput is the frequency of the output clock, freference is the frequency of the reference clock, and P and Q are integer values selected from a plurality of integer values.
6. The clock synthesis system of
serial communications interface configured to receive serial data synchronized with the synchronous pulse.
7. The clock synthesis system of
the serial communications interface is selected from: a Universal Serial Bus (USB) interface or a S/PDIF interface.
9. The clock synthesis system of
the frequency synthesis circuit comprises a dual modulus prescaler circuit that divides the source clock by either integer L or L+1.
10. The clock synthesis system of
the multiplier circuit comprises a phase locked loop (PLL) having a frequency dividing value Q and frequency multiplying value P, where Q and P are integers; and
PLL configuration registers configured to receive values Q and Pas write values received from a source external to the clock synthesis system.
11. The clock synthesis system of
the synchronous clock is generated from a synchronous event source selected from the group of: a start-of-frame pulse for a serial communications signal, an alternate current (AC) line voltage, and a crystal oscillator output having a frequency less than 50 kHz.
12. The clock synthesis system of
at least the frequency synthesis circuit comprises programmable logic circuits configured by configuration data.
13. The clock synthesis system of
a serial communications interface that generates the synchronous clock in response to signals on a serial communications channel; and
at least one data processing circuit that processes data transmitted in synchronism with the synchronous clock; wherein
he at least one data processing circuit is selected from the group of: data converter circuits that convert data in synchronism with the synchronous clock, including analog-to-digital converter circuits and digital-to-analog converter circuits; encoding or decoding circuits that encode or decode data in synchronism with the synchronous clock; and
modulating or demodulating circuits that modulate at least one carrier signal with data or demodulate data from at least one modulated carrier signal.
14. The frequency synthesis system of
the serial communications interface is selected from the group that includes: a Universal Serial Bus Interface and a S/PDIF compatible interface.
16. The method of
dividing the source clock includes dividing by an integer L or L+1 according to the select signal.
17. The method of
modulating the select signal includes encoding at least a difference between an ideal value and the difference value into a variable pulse density signal.
18. The method of
receiving the synchronous pulse input at an external serial communication connection; and
processing data received at the serial connection in synchronism with the master clock.
19. The method of
the synchronous pulse is generated in response to a Universal Serial Bus start-of-frame pulse.
20. The method of
processing data includes steps selected from the group that includes: generating analog output audio data in response to digital input audio data; generating audio output data according to the FS standard; and generating audio output data according to the S/PDIF standard.
|
This application claims the benefit U.S. provisional patent applications having Ser. No. 61/321,602 filed on Apr. 7, 2010 and Ser. No. 61/306,612 filed on Feb. 22, 2010, the contents of which are incorporated by reference herein.
The present disclosure relates to the generation of timing signals, and more particularly to rapidly generating a clock signal synchronous to a lower frequency synchronizing signal or event.
In some electronic systems or devices, it is desirable to synchronize a clock signal to some defined standard or an external repetitive event. However, generating such a clock signal can present challenges when the target frequency is very high with respect to the synchronizing event, and the clock must be exact (i.e., relatively low jitter) and fast responding with respect to the synchronizing event.
One particular environment where such clock requirements can be important is a system having data conversion circuits that operate at a relatively high frequency with respect to a rate at which data is received. As but one very particular example, audio data may be received at an interface (e.g., serial interface) associated with a relatively low frequency signal be converted into analog audio signals by digital-to-analog converters (DACs) operating at a sampling rate that is tens of thousands of times faster than the low frequency signal. For sufficient performance, a clock signal must not only meet the sampling rate, but it must also be rigorously locked (e.g., low jitter) to the lower frequency signal. Further, the clock synthesis approach should be capable of rapidly responding to changes in the lower frequency signal.
Clock multiplication using one or more phased lock loops (PLLs) is known. However, achieving very large multiplication factors with a single PLL may suffer from unacceptably high amounts of phase noise. Higher phase precision may be achieved by employing multiple PLLs. However, such solutions may undesirably increase response time, and may be more expensive to implement when realized with a single integrated circuit device.
Various embodiments will now be described that show systems, circuits and methods of generating an output clock signal that is an exact rational multiple of, and therefore synchronous with, a lower frequency synchronizing signal or event. A resulting reference clock signal may be further multiplied to arrive at one or more output clocks that are locked to the synchronizing signal/event.
In the embodiments described below, like sections may be referred to by the same reference character but with the leading digits corresponding to the figure number.
Embodiments may utilize an initial rapid integer dividing stage in combination with a control method to generate a reference clock signal. The reference clock signal may be further processed by a phase locked loop (PLL) circuit. More particularly, a dividing stage may divide a source clock by different integer values according to a sequence to generate a reference clock, while a PLL may multiply the reference clock by a multiplying value to generate the output clock, where such a multiplying value may be an integer or a rational number. Dividing stage integer values and sequence and PLL division/multiplication values may be selected to arrive at an output clock having a frequency at a desired rational multiple of the synchronizing clock signal.
Referring now to
In one particular embodiment, the rational constant W may be arrived at by establishing integer values for the clock generator 102, which in the very particular embodiment shown may include integers L, P and Q. In a particular embodiment, one or more of such integer values (e.g., L) may be used by a suitable dividing sequence to arrive a reference frequency, while other integer values (e.g., P, Q) may be used as frequency multiplier and/or divider values to arrive at the overall rational constant W. However, such an integer-based configurability may be for user ease of use, and in alternate embodiments, a value W may be arrived at using one or more non-integer values.
In some embodiments, a rational constant W may be relatively large value, being greater than 1000, even more particularly greater than 5000, even more particularly about 10,000 or larger.
In the embodiment of
In a very particular embodiment, clock generating circuit 102 may generate “free running” output signals (CLK_OUT0 to CLK_OUTn) in the absence of a P_SYNC signal. Such signals may be close to expected output signals (e.g., about W*P_SYNC), to enable rapid tracking once a P_SYNC signal is received.
A source clock (CLK_SRC) may be a reliable clock signal, having a stable frequency substantially greater than that of signal/event P_SYNC. The amount by which a CLK_SRC frequency is greater than a P_SYNC frequency may vary according to application. In some embodiments, a CLK_SRC frequency may be at least 1,000 times greater than a P_SYNC frequency, more particularly, more than 5,000 times greater than P_SYNC. However, in other embodiments a CLK_SRC frequency may be more than 20,000 times greater than a P_SYNC frequency. CLK_SRC may be present whenever a signal/event P_SYNC is present.
In this way, a clock synthesis system may generate one or more output values that are relatively large rational multiples of a synchronous signal/event, in response to the synchronous signal/event and a source clock signal.
Referring now to
A reference clock generator 206 may generate a reference clock CLK_REF in response to a source clock CLK_SRC and a synchronous signal/event P_SYNC. Reference clock CLK_REF may be synchronous with, and a rational multiple of, P_SYNC, as described above. However, a source clock CLK_SRC and/or a reference clock CLK_REF may have some slight variations in phase. For example, in one embodiment, a frequency spectrum of CLK_REF may have a fundamental component at a desired frequency, but also include some smaller amplitude sideband frequencies outside of a desired frequency range components.
A multiplier/filter 208 may multiply a frequency of CLK_REF by a rational number to arrive at one or more output clock values (CLK_OUT0 to -n) that are rational multiples of CLK_REF. In addition, a multiplier/filter 208 may filter CLK_REF to remove sideband frequency components noted above. Consequently, output clock values (CLK_OUT0 to -n) may be synchronous with P_SYNC, with no or substantially small phase variation in pulses, and thus be accurate timing signals with respect to P_SYNC.
In one embodiment, a clock synthesis system may be one implementation of that shown in
In this way, a clock synthesis system may generate a reference clock that is a large rational multiple of a synchronous signal/event, and then frequency multiply and filter the reference clock to arrive at one or more output clock signals.
Referring now to
A modulator circuit 312 may modulate a difference value (Δ) (and, optionally additional values) into a modulator output MOUT. In some embodiments, a modulator 312 may be a “delta-sigma” modulator that encodes a multi-bit difference value into a two-state output signal having a time-density function of the difference value (Δ).
A prescaler circuit 314 may frequency divide a source clock CLK_SRC to generate a reference clock (CLK_REF). The amount by which a CLK_SRC frequency is divided may vary according to modulator output SEL. In a particular embodiment, a prescaler circuit 314 may divide CLK_SRC by one of multiple integer values selected according to SEL. Consequently, as differences arise between P_SYNC and CLK_SRC, according to the output of modulator circuit 312 (SEL) prescaler circuit 314 may divide by different integer values to ensure CLK_REF continues to accurately track P_SYNC.
It is noted that prescaler circuit 314 in combination with modulator circuit 312 may provide an initial stage that arrives at a desired reference clock CLK_REF frequency in a rapid fashion, particularly as compared to a PLL.
PLL circuit 308 may multiply CLK_REF by a multiplication factor to generate an output clock CLK_OUT. In the embodiment shown, PLL circuit 308 may have feedback and reference divider values of P and Q such that
CLK_OUT=CLK_REF*P/Q.
Values P and Q may be integer values, thus P/Q may form a rational multiplier value. Filtering effects of a PLL circuit 308 may also serve to suppress side band frequencies inherent in CLK_REF that may vary from a desired fundamental frequency.
In one embodiment, a clock synthesis system 300 may be one implementation of that shown in
It is noted that
In this way, a clock synthesis system may generate a reference clock by frequency dividing a source clock by two or more integer values that vary in response to differences between the source clock and a synchronizing signal.
Referring now to
A reference clock generator 406 may generate a reference clock CLK_REF in response to a source clock signal CLK_SRC and synchronizing signal/event (P_SYNC). In the embodiment shown, reference clock generator 406 may include a source frequency counter 410, a sigma-delta modulator 412, and a dual modulus prescaler 414. A source frequency counter 410 may be a counter circuit that is driven (e.g., incremented/decremented) by CLK_SRC, and has an end count value gated by P_SYNC. This end count value may thus represent any difference arising between P_SYNC and CLK_SRC, and is shown as difference value ΔC in
Various alternate approaches may utilized to arrive at difference value ΔC, including resetting a count value to a start count (such as zero), and incrementing such a value. Still other approaches would be well understood by those skilled in the art.
A sigma-delta modulator 412 may receive difference value ΔC and encode such a value to generate a binary select signal SEL.
Dual modulus prescaler 414 may frequency divide a source clock CLK_SRC by an integer value L or L+1 according to select signal SEL. Consequently, it is understood that reference clock generator 406 may operate under the constraint:
L≦fCLK
where fCLK
A synchronous source 404 may provide a P_SYNC value to frequency counter 404. In the embodiment of
A crystal oscillator circuit 416 may generate a stable source clock signal CLK_SRC that may be established by crystal 418. A crystal oscillator circuit 416 may provide a stable frequency clock for manipulation by reference clock generator circuit 406 to generate a reference clock CLK_REF.
In the embodiment of
The embodiment of
In this way, a clock generator circuit may generate an output clock synchronous with a synchronization signal by controlling a dual modulus prescaler with sigma-delta modulation of a count value. The count value may be generated by measuring the number of source clock counts occurring between synchronization pulses.
Referring now to
A reference clock generator 506 may have components like those shown in
In this way, a clock generator circuit may generate an output clock synchronous with a synchronization signal by dividing a source clock according to a modulation value generated in response to a number of source clock counts occurring within a synchronization pulse.
Referring now to
In the embodiment shown, a modulator 612 may include an input register 626, an adder 636, a function 624, a 1-bit quantizer 628, an invert path 630, an offset register 632, and optionally, a pull and/or dither register 634. An input register 626 may periodically receive a difference value (NΔC). Difference value NΔC may represent differences between a synchronization signal (e.g., P_SYNC) and a source clock (CLK_SRC), as described herein, and equivalents. In one embodiment, difference value may be a count value ΔC multiplied by a scaling factor N. Such values may vary according to application, and very particular examples showing the derivation of such values will be described in more detail below.
Adder 636 may be a multi-bit adder that adds the difference value (NΔC) and other values from offset register 632, invert path 630, and (if included) pull/dither register 634. A resulting sum may be provided to function 624. Particular examples of such functions will be described in more detail below.
Quantizer 628 may quantize an output from function 624 into a 1-bit pulse stream SEL. In the embodiment shown, quantizer 628 may compare a multi-bit output (Hout) from section 624 to a threshold value (qthresh). In particular, if Hout is greater or equal to qthresh, quantizer may output an SEL value “1”, and if Hout is less than qthresh, quantizer may output an SEL value “0”.
Invert path 630 may selectively feed back a scaled select value in response the SEL value output from quantizer 628. In the embodiment shown, invert path 630 may output a negative modulator scaling value (−M) if SEL is “1”, or may output zero is SEL is “0”. A value M may also vary according to application, and very particular examples showing the derivation of such a value will be described in more detail below.
Offset register 632 may provide a constant offset to adder 636. Such a value may also vary according to application. In the embodiment shown, such a constant may be N*C0−L*M, where N and M have been noted above, L is one of the dual modulus divider integers (L+1 being the other), and C0 may be an initial count value for frequency counter (not shown) that generates the difference value ΔC (i.e., measured count C−C0=ΔC).
Pull/Dither register 634 may provide a pull value that may be used to bias a response of modulator 612 to introduce a small shift in frequency, if desired. A pull/dither register 634 may also provide a dither value that may introduce noise that can break up the undesirable side bands outside of a desired fundamental frequency (or set of frequencies). In one embodiment, a dither value may be a pseudorandom number, generated by a pseudorandom binary sequence (PRBS) generator circuit.
In the embodiment shown, modulator 612 may update a value each time the prescaler 614 counts to its current dividing limit (i.e., L or L+1). More particularly, each time a pulse is generated from prescaler 614, function 624 may output a previously generated value Hout, and input register 626 may provide a new difference value (NΔC). In response, adder 636 may provide a new value to function 624 to operate on to generate the Hout value for a next cycle.
Referring now to
which can be expressed as
out(t)=STF*int(t)+NTF*e(t)
where STF can be the signal transfer function, and NTF can be the noise transfer function.
Referring to
which results in
NTF=1−z−1.
Referring to
which results in
NTF=(1−z−1)2.
Other embodiments may include higher order loop functions.
In this way, a modulator transfer function may be a noise shaper with a loop function that may serve to reduce an error component resulting from a modulation operation.
One example of how values may be derived for a desired output frequency will now be described. It is assumed that a system includes a reference clock generator, like that of
fCLK
where W is a rational constant multiplier value, and P and Q are integer values selectable for the PLL.
Arriving at a desired reference frequency will involve dividing a source frequency by an ideal division value as follows:
where Cnom is a nominal count value. Because a dual modulus prescaler is utilized to perform the division operation, such a division value may be between L and L+1. It is noted that alternate embodiments may include multi-modulus prescalers that may selectively frequency divide by more than one integer value.
A nominal division value Knom may be selected between L and L+1 and given as:
As but one example, Knom may be selected to be about 0.5, but may have another value depending upon a desired CLK_OUT frequency. Because W is desired to be a rational number, the relationship may be simplified with a greatest common divisor (GCD) (N=P/GCD and M=Q*W/GCD):
which may then scale to
K′nom=Cnom*N−L*M
which may be the constant offset value for modulator 612.
From the above, given a synchronizing signal (e.g., P_SYNC) and a source clock (CLK_SRC) sufficiently faster than P_SYNC, system values (e.g., Cnom, L, P, Q) may be derived to arrive at an output clock having a frequency that is a desired rational multiple (W) of P_SYNC. It is noted that in some embodiments, all or a portion of such values may be configurable by a user to enable the generation of different output clock frequencies meeting the requirement W*P_SYNC. In one very particular embodiment, Cnom, P, and Q may be subject to some variability (e.g., programmable to values within a certain range by writing a register), while prescaler divider value L (and hence L+1) may be fixed by a hardware design.
Referring now to
A clock generator circuit 802 may generate an output clock CLK_OUT that is synchronous with a synchronization signal/event (P_SYNC) in response to a source clock (CLK_SRC), as described herein and equivalents. Data I/F circuits 804 may receive and/or output data according to a predetermined protocol. Such data may be transmitted in frames identified by a start of frame (SoF) notification. A SoF notification from data I/F 804 may serve as the synchronizing event P_SYNC. A source clock circuit 806m may be an oscillator circuit that provides a clock (CLK_SRC) with a stable frequency for use by clock generator circuit 802.
Data processing circuits (838-0/1) may process data values in response to an output clock CLK_OUT. In the embodiment shown, such processed data values may be synchronous with P_SYNC. An output clock CLK_OUT may be conceptualized as a master sample clock. Each data processing circuit (838-0/1) may frequency divide such a master sample clock (CLK_OUT) to arrive at a sample clock (CLK_SAMP0, -1) that may dictate the timing of data processing operations. In the figure shown, data processing circuit 838-0 may frequency divide CLK_OUT by “U” to generate CLK_SAMP0. Processing within section 840-0 may occur according to CLK_SAMP0. Similarly, data processing circuit 838-1 may frequency divide CLK_OUT by “V” to generate CLK_SAMP1 for section 840-1. In some embodiments, U and V may be integers.
While the embodiment of
In this way, a clock synthesis system may generate an output clock that is synchronous with a synchronous signal/event and received by data processing circuits. Such data processing circuits may operate on data that is also synchronous with the synchronous signal/event.
Referring now to
A clock generator 902 may include a reference clock generator 906 and a PLL 908. A reference clock generator 906 may generate a reference clock CLK_REF having a frequency that is a rational multiple of a P_SYNC pulse, as described for other embodiments herein. In one particular embodiment, CLK_REF may have a frequency that is a rational multiple of a USB start of frame (SoF) pulse having a frequency of about 1 kHz. Further, CLK_REF may be generated by frequency dividing a source clock CLK_SRC with dual, integer moduli. A frequency of CLK_SRC may be substantially greater than that of a USB SoF pulse, being in the megahertz range, more particularly in the tens of MHz, even more particularly greater than 20 MHz. In the embodiment shown, source clock CLK_SRC may be generated by a crystal oscillator circuit 906.
PLL 908 may frequency multiply CLK_REF to generate a master output clock CLK_M. It is noted that PLL dividing value may be programmable to enable master clock CLK_M to be changed for different applications.
Reference clock generator 906 may output CLK_M as an output audio clock (AUDIO_CLK0 and/or AUDIO_CLK1), and/or may frequency divide CLK_M to arrive at one or both audio clocks (AUDIO_CLK0 and/or AUDIO_CLK1). In the embodiment shown, reference clock generator 906 may provide one audio clock (AUDIO_CLK0) that is an integer multiple of one sampling frequency (Fs2) for encoded audio data, and/or can provide another audio clock (AUDIO_CLK1) that is that is an integer multiple of a another sampling frequency (Fs1) for differently encoded audio data. In very particular embodiments, Fs1 and Fs2 may be any of: 32 kHz, 44.1 kHz or 48 kHz.
USB interface 904 may receive and transmit data over a USB link 922, where such data is organized according to a start of frame (SoF) indication. The SoF indication may be used by clock generator circuit 902 as a synchronizing clock (P_SYNC), to which a reference clock REF_CLK (and hence CLK_M, AUDIO_CLK0, AUDIO_CLK1) are synchronized.
Audio processor 938 may process audio data in response to AUDIO_CLK1. In some embodiments, such audio data may be sampled at a rate Fs1, and may be received synchronously with P_SYNC.
Referring still to
In this way, a clock synthesis system may generate one or more output audio clock values that are relatively large rational multiples of a serial communications interface timing signal/event.
Referring now to
The embodiment of
A USB section 1004 may enable serial data transfers between a USB connection 1022 and either of custom audio I/F 1042 and data processing circuit 1038. A USB section 1004 may include a physical I/F circuit (PHY) 1048, and a file system 1050. PHY 1048 may provide an electrical connection to link 1022 to enable the reception and transmission of serial data. File system 1050 may store data for buffered transfers through USB section 1004. USB file system 1050 may also generate P_SYNC for use by clock generator circuit 1002, which in this embodiment may be a SoF pulse.
A USB section 1004 may communicate with custom audio I/F 1042 via an interrupt path 1052, first input data transfer path 1054 and first output data transfer path 1056. In the particular embodiment shown, first input data transfer path 1054 and first output data transfer path 1056 may be USB “bulk” transfer paths. USB section 1004 may also communicate with data processing circuits (in this case audio data processing circuit 1038) via a second input data transfer path 1058 and a second output data transfer path 1060. In the particular embodiment shown, second input data transfer path 1054 and second output data transfer path 1056 may be USB isochronous data transfer paths.
Custom audio I/F 1042 may communicate with authentication section 1046 to enable digital rights protection for audio data passing through such an interface. In the embodiment shown, custom audio I/F 1042 may be connected to a custom physical connection, which may include a custom pin out.
Audio data processing circuit 1038 may receive an AUDIO_CLK from clock generator circuit 1002. Such an audio clock may be synchronous with, and a large rational multiple of P_SYNC (i.e., a USB SoF indication), and may also be an integer multiple of a sample rate (Fs) of audio data that is processed. In
Referring still to
While
In this way, a clock synthesis system may generate one or more output audio clock values the same as, or at an integer multiple of, an audio data sampling rate. An audio processing circuit may utilize the audio clock value to processing audio data in combination with an audio CODEC.
It is understood that the various embodiments described above may be realized by one or more fixed function IC devices. For example, the devices may be formed in a custom IC. In addition or alternatively, all or a portion of the embodiments may be formed with one or more application specific ICs (ASICs).
However, additional embodiments may utilize programmable circuits to form all or a portion of the embodiments described above. Such programmability may enable such devices to meet numerous applications having different output frequency ranges, source clock signals, and/or synchronous events.
Referring to
In system 1100 any or all of values C, M, L, P, or Q may be user set values. Such user set values may be established by a user to meet a rational multiplier value (W) relative to P_SYNC frequency as noted above. Establishing such values may include any of: writing a data value to a register, configuring programmable circuits with configuration data, loading instructions (e.g., firmware) for a processor, or setting a particular post fabrication option (e.g., bond option, selectively opening fusible links, selectively enabling anti-fuse type links), as but a few of many possible approaches.
In this way, variables utilized by a clock synthesis system may be established by a user setting one or more values within a device.
Referring now to
Referring to
In one embodiment, operational values within programmable circuit sections (e.g., a nominal frequency counter value (C), modulator offset value (M), prescaler division value L) may be established by the hardware configuration data, and hence may not be changed without a hardware reprogramming operation. However, in other embodiments, any or all of circuit sections (1210, 1212, 1214) may have registers to program such values.
In this way, a clock synthesis system that generates an output clock that is a rational multiple of a synchronizing event may be formed all, or in part, with programmable circuits.
Referring now to
In the embodiment of
A digital section may include a digital system 1392, a memory system 1340, a processor system 1394, and a program and test system 1396. A digital system 1392 may include programmable digital section 1398 as well as a number of fixed function digital blocks (1397, 1304). In the embodiment shown, programmable digital section 1398 may be programmed to include a reference clock generator circuit 1306, which may generate a reference clock (CLK_REF) in response to a source clock (CLK_SRC) and a synchronizing signal/event (P_SYNC) as described herein and equivalents. Further, in the embodiment shown, a fixed function digital block 1304 may be a serial communication block connected to a serial communication link 1322. Serial communications block 1304 may provide a synchronizing signal (P_SYNC) to reference clock generator circuit 1306. A DSI 1386 may provide digital connection between various sections of the digital system 1392 and/or connections to suitably configured external pins (e.g., 1384).
A memory system 1340 may include one or more memories (MEMO to -n) of various types, including but not limited to a static random access memory (SRAM), nonvolatile memory (including EEPROMs, and flash EEPROM). A processor system 1394 may include a processor (PROC) as well as peripheral access system (PERI ACC). A processor may include one or more processors as well as corresponding circuits such as memory controller (including cache controllers) and an interrupt control circuit. A peripheral access system may include circuits such as a direct access circuit, and/or a data transfer hub circuit, or equivalents.
A program and test system 1396 may include circuits that enable data to be loaded into memory system (program data for execution by processor system 1394), as well as test circuits for providing test data to and test result data from an IC 1320.
Memory system 1340 and processor system 1394 may be connected to a system bus 1344. A system bus 1344 may also be connected to a digital section, an analog section, and system resources 1393.
System resources 1393 may include a PLL 1308, a source clock circuit 1316, other clock circuits 1391, and a power management system 1389. PLL 1308 in combination with reference clock generator 1306 may form a clock generator circuit 1302 for providing an output clock CLK_OUT. A source clock circuit 1316 may provide a source clock (CLK_SRC) for use by reference clock generator circuit 1306 to generate a reference clock CLK_REF. In some embodiments, a source clock circuit 1316 may be a crystal oscillator circuit. However, in other embodiments source clock circuit 1316 may be another oscillator circuit built-in to an IC device 1320 (and which may not require an external crystal). Other clock circuits 1391 may provide timing signals to various portions of IC 1320. A power management system 1389 may provide power supply voltages and regulation to various portions of an IC 1389. A power management 1389 may selectively disable portions of the device for low power (i.e., sleep) modes of operation.
Referring still to
In this way, a clock synthesis system that generates an output clock that is a rational multiple of a synchronizing event may be formed on a programmable system on chip.
While particular embodiments have shown audio data processing systems, alternate embodiments may include numerous other applications. Two such alternate embodiments will now be described with reference to
Referring to
A cross over detection circuit 1404 may detect when an AC line voltage crosses over a zero voltage level, and in response to such a cross over event, generate a signal P_SYNC.
A clock generator circuit 1402 may generate an output signal CLK_OUT in response to a source clock CLK_SRC and P_SYNC as described for other embodiments herein. In particular, an output clock CLK_OUT may be synchronous with P_SYNC, and have a frequency that is a rational multiple of the P_SYNC frequency.
A source clock circuit 1416 may generate a source clock CLK_SRC. In one embodiment, a source clock circuit 1416 may be a built-in oscillator circuit of an integrated circuit that also includes the clock generator circuit 1402.
A demodulator/modulator 1485 may demodulate data carried on AC line voltage to generate decoded data. In addition or alternatively, a demodulator/modulator 1485 may modulate data onto an AC line voltage to generate a modulated AC line signal.
In this way, a clock synthesis system may generate one or more output clocks that are relatively large rational multiples of an AC line voltage.
Referring to
A low frequency crystal oscillator circuit 1504 may oscillate at a frequency determined by crystal 1518, and output a signal P_SYNC at such an oscillating frequency. In one embodiment, a crystal may be a “watch crystal”, and P_SYNC may have a frequency of about 32,768 Hz.
A clock generator circuit 1502 may generate an output signal CLK_OUT in response to a source clock CLK_SRC and P_SYNC as described for other embodiments herein. In particular, an output clock CLK_OUT may be synchronous with P_SYNC, and have a frequency that is a rational multiple of the P_SYNC frequency.
A source clock circuit 1516 may generate a source clock CLK_SRC. In one embodiment, a source clock circuit 1516 may be a built-in oscillator circuit of an integrated circuit that includes the clock generator circuit 1502.
In this way, a clock synthesis system may generate one or more output clocks that are relatively large rational multiples of, and synchronous with, a low frequency crystal oscillator.
Having shown systems, devices and methods in various block diagrams above, particular methods will now be described with reference to flow diagrams.
Referring now to
Referring now to
Referring now to
Embodiments of the invention may arrive at exact, fast-responding, low jitter clock multiplication by a large factor. As noted above, particular embodiments may generate audio sampling clocks at frequencies that are tens of thousands of times after than, but rigorously locked to, a serial data start of frame indicator. Even more particularly, for some digital audio conversion applications output clocks of 45.1584 MHz (1024*44.1 kHz) and/or 49.152 MHz (1024*48 kHz) may be synthesized that are locked to a USB start of frame pulse having a frequency of about 1 kHz. Jitter may be smaller than 1 ns peak-to-peak.
As also noted above, embodiments of the invention may generate an output clock having a free running frequency at a desired nominal value in the absence of the lower frequency synchronizing signal. Such a feature may allow for rapid locking to the synchronizing signal upon its occurrence. This is contrast to some PLL approaches that require some convergence time to achieve frequency lock following the detection of the synchronizing signal. In digital audio conversion applications like those noted above, stabilization of an output frequency may be achieved within a few audio sampling periods (e.g., <100 us). In contrast, some a multiple PLL solutions may take milliseconds to arrive an output signal with acceptably small jitter.
Particular embodiments of the invention may synchronize various types of digital audio data conversion to timing signals/events at significantly lower frequencies. As but a few examples, embodiments may provide timing signals for conversion circuits operating on audio data transmitted according to the I2S standard originally promulgated by Philips Semiconductor and/or the S/PDIF standard discussed previously, as but two examples.
It should be appreciated that in the foregoing description of exemplary embodiments. Various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment.
It is also understood that the embodiments of the invention may be practiced in the absence of an element and/or step not specifically disclosed. That is, a feature of the invention may be elimination of an element.
Accordingly, while the various aspects of the particular embodiments set forth herein have been described in detail, the present invention could be subject to various changes, substitutions, and alterations without departing from the spirit and scope of the invention.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5038117, | Jan 23 1990 | Agilent Technologies Inc | Multiple-modulator fractional-N divider |
6057791, | Feb 18 1998 | Standard Microsystems Corporation | Apparatus and method for clocking digital and analog circuits on a common substrate to enhance digital operation and reduce analog sampling error |
6169912, | Mar 31 1999 | DIODES INCORPORATED | RF front-end with signal cancellation using receiver signal to eliminate duplexer for a cordless phone |
6236703, | Mar 31 1998 | WASHINGTON SUB, INC ; ALPHA INDUSTRIES, INC ; Skyworks Solutions, Inc | Fractional-N divider using a delta-sigma modulator |
6967513, | Aug 29 2002 | MEDIATEK, INC | Phase-locked loop filter with out of band rejection in low bandwidth mode |
7078946, | Jan 11 2002 | ZARLINK SEMICONDUCTOR INC | Analog PLL with switched capacitor resampling filter |
7079616, | Aug 24 2001 | STMicroelectronics, SRL | Process for generating a variable frequency signal, for instance for spreading the spectrum of a clock signal, and device therefor |
7162002, | Mar 01 2002 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Phase-interpolator based PLL frequency synthesizer |
7471123, | Apr 25 2002 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Fractional-N baseband frequency synthesizer in bluetooth applications |
7800451, | Aug 20 2008 | Skyworks Solutions, Inc | Frequency adjustment for clock generator |
20020109554, | |||
20060132200, | |||
20080061949, | |||
20080260071, | |||
20090325739, | |||
20100045395, | |||
20110084768, | |||
CN101242185, | |||
CN1257349, | |||
JP2007288375, | |||
WO157620, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 28 2010 | CASTOR-PERRY, KENDALL | Cypress Semiconductor Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025556 | /0131 | |
Dec 29 2010 | Cypress Semiconductor Corporation | (assignment on the face of the patent) | / | |||
Mar 12 2015 | Cypress Semiconductor Corporation | MORGAN STANLEY SENIOR FUNDING, INC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 035240 | /0429 | |
Mar 12 2015 | Spansion LLC | MORGAN STANLEY SENIOR FUNDING, INC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 035240 | /0429 | |
Mar 12 2015 | Cypress Semiconductor Corporation | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429 ASSIGNOR S HEREBY CONFIRMS THE SECURITY INTERST | 058002 | /0470 | |
Mar 12 2015 | Spansion LLC | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429 ASSIGNOR S HEREBY CONFIRMS THE SECURITY INTERST | 058002 | /0470 | |
Sep 19 2018 | MORGAN STANLEY SENIOR FUNDING, INC | Cypress Semiconductor Corporation | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 046923 | /0491 | |
Sep 19 2018 | Cypress Semiconductor Corporation | MONTEREY RESEARCH, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 046947 | /0460 |
Date | Maintenance Fee Events |
Sep 28 2018 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 29 2022 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Apr 07 2018 | 4 years fee payment window open |
Oct 07 2018 | 6 months grace period start (w surcharge) |
Apr 07 2019 | patent expiry (for year 4) |
Apr 07 2021 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 07 2022 | 8 years fee payment window open |
Oct 07 2022 | 6 months grace period start (w surcharge) |
Apr 07 2023 | patent expiry (for year 8) |
Apr 07 2025 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 07 2026 | 12 years fee payment window open |
Oct 07 2026 | 6 months grace period start (w surcharge) |
Apr 07 2027 | patent expiry (for year 12) |
Apr 07 2029 | 2 years to revive unintentionally abandoned end. (for year 12) |