IBM® is a registered trademark of International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies.
1. Field of the Invention
This invention relates generally to techniques for reducing or minimizing radio frequency interference and, more particularly, to methods, systems, and computer program products for implementing spread spectrum using digital signal processing techniques.
2. Description of Background
A conventional radio frequency signal, such as that provided by a typical computer system clock or radio broadcasting station, has a center frequency which remains substantially constant over time, with the possible exception of small, rapid fluctuations that occur as a result of modulation. For example, when one listens to a radio signal at 103.3 MHz on an FM stereo receiver, the signal remains substantially centered at 103.3 MHz. This broadcast signal does not go up in frequency to 105.7 MHz or down to 99.1 MHz as a function of time. Similarly, in the case of a conventional computing system, a clock signal generated from a crystal reference oscillator remains at a constant frequency such as 300 MHz or 1.6 GHz, for example. In practice, the center frequency of a conventional clock signal or radio broadcast is kept as constant as state of the art technology will permit.
Electromagnetic interference (EMI) standards have been developed by the governing bodies of most industrialized nations. These standards were developed to allow devices that use a specific frequency or range of frequencies to operate without experiencing interference from other devices. There is currently no worldwide standard governing EMI. If a device fails to meet the EMI standards of a particular country, sale of the device in that country would most likely not be permitted. The standards specify a maximum allowable radiated radio frequency (RF) field strength that must not be exceeded at a specified distance from a device under test. As a practical matter, computing systems that use fixed-frequency clock signals may have difficulty meeting applicable EMI standards because all of the RF energy from the clock is concentrated at a single frequency.
Spread spectrum is a technique for distributing radio frequency energy across a wide bandwidth encompassing a multiplicity of individual frequencies. This distribution is performed in accordance with one or more specified mathematical functions. Some spread-spectrum signals use a digital scheme called frequency hopping wherein the frequency of the signal changes abruptly, many times each second. Between “hops,” the frequency remains stable. The length of time that the signal remains on a given frequency between “hops” is known as the dwell time. The minimum permissible frequency spacing between any two individual frequencies defines the granularity of a given spread spectrum scheme. Other spread-spectrum circuits employ continuous frequency variation, which is an analog-based scheme.
Spread spectrum has been used in conjunction with computing systems, such as supercomputers, to help ensure compliance with applicable EMI standards. Spread spectrum allows a computer designer to distribute the RF energy of a clock signal across a band of frequencies. The overall amount of RF energy radiated by a spread spectrum clocked computing system may not decrease relative to a system that uses a single clock frequency. However, spread spectrum is helpful in terms of reducing RF energy at one or more discrete frequencies, thereby enhancing the likelihood of achieving EMI compliance.
Existing spread spectrum techniques do not offer programmability or fine granularity. Consequently, it may be necessary to stock a plurality of different spread spectrum clocks, or a plurality of different integrated circuit chipsets, for each of a plurality of system applications. Moreover, as computing systems have moved into ever higher and higher frequency ranges, it has become increasingly more difficult to perform frequency spreading of a clock signal so as to achieve a desired level of granularity. If this desired level of granularity is not achieved, devices that are connected to the clock signal will not function properly. This loss in system functionality may lead to a total system failure. Although a spread spectrum clock could be replaced by a fixed frequency clock to restore system functionality, the computing system may now fail to meet applicable EMI standards.
In view of the foregoing considerations, improved techniques for generating a spread spectrum clock signal are needed. A solution that addresses, at least in part, the above and other shortcomings is desired.
Embodiments of the invention include methods, systems, and computer program products for implementing spread spectrum using digital signal processing techniques. The methods include receiving an incoming clock signal. The incoming clock signal is sampled using a programmable sampling mechanism capable of sampling at three to five times the frequency of the incoming clock signal to generate a plurality of signal data points included in a sampled signal. The sampled signal is conditioned using a programmable signal conditioning mechanism capable of performing at least one of: reducing a cycle to cycle jitter of the sampled signal; or adjusting the sampled signal to a base frequency. The signal data points are processed and spread across a band of frequencies using a programmable digital signal processor to adjust at least one of: (a) an amplitude, (b) a phase shift, or (c) a frequency shift; for each of a plurality of respective signal data points at a plurality of corresponding frequencies in the band of frequencies. An output waveform is constructed from the processed and spread signal data points, wherein the output waveform constitutes a clock output signal.
The computer program products for implementing spread spectrum using digital signal processing techniques include a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for facilitating a method. The method includes receiving an incoming clock signal. The incoming clock signal is sampled using a programmable sampling mechanism capable of sampling at three to five times the frequency of the incoming clock signal to generate a plurality of signal data points included in a sampled signal. The sampled signal is conditioned using a programmable signal conditioning mechanism capable of performing at least one of: reducing a cycle to cycle jitter of the sampled signal; or adjusting the sampled signal to a base frequency. The signal data points are processed and spread across a band of frequencies using a programmable digital signal processor to adjust at least one of: (a) an amplitude, (b) a phase shift, or (c) a frequency shift; for each of a plurality of respective signal data points at a plurality of corresponding frequencies in the band of frequencies. An output waveform is constructed from the processed and spread signal data points, wherein the output waveform constitutes a clock output signal.
The systems for implementing spread spectrum using digital signal processing techniques include a programmable sampling mechanism for receiving an incoming clock signal, and for sampling the incoming clock signal at three to five times the frequency of the incoming clock signal to generate a plurality of signal data points included in a sampled signal. The programmable sampling mechanism is operatively coupled to a programmable signal conditioning mechanism for conditioning the sampled signal by performing at least one of: reducing a cycle to cycle jitter of the sampled signal; or adjusting the sampled signal to a base frequency. The programmable signal conditioning mechanism is operatively coupled to a programmable digital signal processor for processing the signal data points and spreading the signal data points across a band of frequencies by adjusting at least one of: (a) an amplitude, (b) a phase shift, or (c) a frequency shift; for each of a plurality of respective signal data points at a plurality of corresponding frequencies in the band of frequencies. The programmable digital signal processor is operatively coupled to a signal construction mechanism for constructing an output waveform from the processed and spread signal data points, wherein the output waveform constitutes a clock output signal.
Other methods, systems, and computer program products according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional methods and computer program products be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.
Referring now to the drawings, wherein like elements are numbered alike in the several FIGURES:
The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
In the following description, details are set forth to provide an understanding of the invention. In some instances, certain software, circuits, structures and methods have not been described or shown in detail in order not to obscure the invention. The term “data processing system” is used herein to refer to any machine for processing data, including the client/server computer systems and network arrangements described herein. The present invention may be implemented in any computer programming language provided that the operating system of the data processing system provides the facilities that may support the requirements of the present invention. The invention may be implemented with software, firmware, or hardware, or any of various combinations thereof.
The clock source 101 is capable of producing a clock signal having sufficient output power to drive the processors 105 and the memory devices 107. In systems that use a number of processors 105 and memory devices 107, the clock source 101 may be called upon to generate a large amount of RF power. The processors 105 and the memory devices 107 are connected to the clock source 101 via interconnecting cables which may unintentionally radiate RF energy produced by the clock source 101. Likewise, the processors 105 and the memory devices 107 may themselves radiate RF energy received from the clock source 101. This radiated RF energy can be detected by an RF probe during electromagnetic compliance (EMC) testing. If the detected RF energy exceeds the EMI standards of the jurisdiction in which the system of
The spread spectrum is introduced by a second VCO 51 and an analog circuit 52. The second VCO 51 creates a clock signal identical to the first VCO 39 when no modulation is present. The second VCO 51 responds to the analog modulation to thereby create the spread spectrum clock output signal. Analog modulation circuit 52 may include an oscillator to generate the modulation frequency, an integrator to generate a triangle wave function (r(t)), a log anti-log amplifier (alog(3log(r(t)))), and an adder to generate a modulation profile of 0.55r(t)+0.45(alog(3log(r(t)))) Alternatively, the modulation may be added to the first VCO 39 input, as would be readily understood by those skilled in the art.
The prior art configuration of
The program advances to block 605 where the sampled signal is conditioned using a programmable signal conditioning mechanism capable of performing at least one of: reducing a cycle to cycle jitter of the sampled signal; or adjusting the sampled signal to a base frequency. At block 607, the signal data points are processed and spread across a band of frequencies using a programmable digital signal processor to adjust at least one of: (a) an amplitude, (b) a phase shift, or (c) a frequency shift; for each of a plurality of respective signal data points at a plurality of corresponding frequencies in the band of frequencies. Next, at block 609, an output waveform is constructed from the processed and spread signal data points, wherein the output waveform constitutes a clock output signal.
The programmable signal conditioning mechanism 711 is operatively coupled to a programmable digital signal spreading and processing mechanism 713 for processing the signal data points and spreading the signal data points across a band of frequencies by adjusting at least one of: (a) an amplitude, (b) a phase shift, or (c) a frequency shift; for each of a plurality of respective signal data points at a plurality of corresponding frequencies in the band of frequencies. The programmable digital signal spreading and processing mechanism 713 is operatively coupled to a signal construction mechanism 715 for constructing an output waveform from the processed and spread signal data points, wherein the output waveform constitutes a clock output signal 717.
The sampling mechanism 705, the signal conditioning mechanism 711, the signal spreading and processing mechanism 713, and the signal construction mechanism 715 are programmed and controlled by a programmable control mechanism 707. The programmable control mechanism 707 may include a processing mechanism, such as a microprocessor or central processing unit, operatively coupled to a computer readable storage medium such as a data storage drive, random access memory, read only memory, electronic memory, optical memory device, magnetic memory device, or other type of data storage device. The computer readable storage medium has stored therein data representing sequences of instructions which, when executed, cause the methods of
The signal construction mechanism 715 (
The programmable control mechanism 707 includes computer executable programmed instructions for directing the sampling mechanism 705, the signal conditioning mechanism 711, the signal spreading and processing mechanism 713, and the signal construction mechanism 715 to implement any of the embodiments of the present invention. The programmed instructions may be embodied in at least one hardware, firmware, or software module resident in the computer readable storage medium of the programmable control mechanism 707. Alternatively or additionally, the programmed instructions may be embodied on a computer readable medium (such as a CD disk or floppy disk) which may be used for transporting the programmed instructions to the programmable control mechanism 707 via the input mechanism 703 such as a CD-ROM drive or floppy disk drive. Alternatively or additionally, the programmed instructions may be embedded in a computer-readable, signal or signal-bearing medium that is uploaded to a network by a vendor or supplier of the programmed instructions, and this signal or signal-bearing medium may be downloaded through an input mechanism 703 to the programmable control mechanism 707 from the network by end users or potential buyers.
Although
The spread spectrum configuration of
The capabilities of the present invention can be implemented in software, firmware, hardware or some combination thereof. As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately.
Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
The flow diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.