An apparatus, system, and method, the method including receiving clock frequency parameter information for at least one clock source; receiving radio parameter information for at least one radio receiver; determining one or more spread spectrum clocking (ssc) profiles for the at least one clock source and the at least one radio receiver, each ssc profile to reduce radio frequency interference between the clock and radio receivers; and storing the ssc profiles.
|
1. A computer-implemented method, the method comprising:
receiving clock frequency parameter information for at least one clock source;
receiving radio parameter information for at least one radio receiver;
determining, by a processor, one or more spread spectrum clocking (ssc) profiles for the at least one clock source based on the clock frequency parameter information and the at least one radio receiver based on the radio parameter information, each ssc profile to reduce radio frequency interference between the clock and radio receivers, wherein the determining of the one or more ssc profiles for the at least one clock source and the at least one radio receiver comprises:
calculating harmonics of the at least one clock source within a band of one of the at least one radio receiver;
calculating, based on the calculated harmonics, a range of clock frequencies having a potential to include harmonic content within the band of one of the at least one radio receiver; and
determining of the one or more ssc profiles for the at least one clock source and the at least one radio receiver based on the calculated harmonics, the range of clock frequencies having a potential to include harmonic content, and at least one of: a maximum spread limit, a minimum spread limit, and a combination thereof; and
storing the ssc profiles.
6. An apparatus, the apparatus comprising:
at least one radio receiver;
at least one clock source;
a processor to:
receive clock frequency parameter information for the at least one clock source;
receive radio parameter information for the at least one radio receiver; and
determine one or more ssc profiles for the at least one clock source based on the clock frequency parameter information and the at least one radio receiver based on the radio parameter information, each ssc profile to reduce radio frequency interference between the clock and radio receivers, wherein the determining of the one or more ssc profiles for the at least one clock source and the at least one radio receiver comprises:
calculating harmonics of the at least one clock source within a band of one of the at least one radio receiver;
calculating, based on the calculated harmonics, a range of clock frequencies having a potential to include harmonic content within the band of one of the at least one radio receiver; and
calculating of the one or more ssc profiles for the at least one clock source and the at least one radio receiver based on the calculated harmonics, the range of clock frequencies having a potential to include harmonic content, and at least one of: a maximum spread limit, a minimum spread limit, and a combination thereof; and
a memory to store the ssc profiles.
11. A system, the system comprising:
a data storage device;
at least one radio receiver;
at least one controllable clock source;
a processor to:
receive clock frequency parameter information for the at least one controllable clock source;
receive radio parameter information for the at least one radio receiver; and
determine one or more ssc profiles for the at least one controllable clock source based on the clock frequency parameter information and the at least one radio receiver based on the radio parameter information, each ssc profile to reduce radio frequency interference between the clock and radio receivers, wherein the determining of one or more ssc profiles for the at least one clock source and the at least one radio receiver comprises:
calculating harmonics of the at least one clock source within a band of one of the at least one radio receiver;
calculating, based on the calculated harmonics, a range of clock frequencies having a potential to include harmonic content within the band of one of the at least one radio receiver; and
calculating the one or more ssc profiles for the at least one clock source and the at least one radio receiver based on the calculated harmonics, the range of clock frequencies having a potential to include harmonic content, and at least one of: a maximum spread limit, a minimum spread limit, and a combination thereof; and
a memory to store the ssc profiles.
2. The method of
3. The method of
4. The method of
5. The method of
7. The apparatus of
8. The apparatus of
9. The apparatus method of
10. The apparatus of
12. The system of
13. The system of
14. The system of
15. The system of
|
Electromagnetic interference (EMI) is the disturbance or distortion to an electrical circuit that is caused by electromagnetic induction or radiation from an external source. A number of EMI standards have been imposed by various governmental and/or regulatory agencies to place limits on the amount of EMI that can permissibly be emitted by electronic devices. In response to EMI regulations, spread spectrum clocking (SSC) has been used to reduce the amplitude of the EMI emissions.
In addition to interference that may be caused by external sources, devices having wireless radios may introduce interference to components of the device or platform comprising the wireless radio. This interference is referred to as radio frequency interference (RFI). Additionally, modern devices may include more than one radio, such as a multi-band or “world” phone mobile phone that includes multiple radios to accommodate the differing mobile phone standards in different regions of the world.
As such, there is an increasing need to reduce or eliminate RFI while also maintaining compliance with EMI standards. However, conventional EMI reducing techniques such as SSC do not address RFI considerations. Conventional SSC spreads a signal over a wider frequency spectrum, but such a spread signal may actually overlap frequencies of the radios used by one or more platform radios.
Thus, there is a general need for a method and system for efficient platform RFI mitigation.
Aspects of the present disclosure herein are illustrated by way of example and not by way of limitation in the accompanying figures. For purposes related to simplicity and clarity of illustration rather than limitation, aspects illustrated in the figures are not necessarily drawn to scale. Further, where considered appropriate, reference labels have been repeated among the figures to indicate corresponding or analogous elements.
The disclosure herein provides numerous specific details such as regarding a system for implementing various processes and operations. However, it will be appreciated by one skilled in the art(s) related hereto that embodiments of the present disclosure may be practiced without such specific details. Thus, in some instances aspects such as control mechanisms and full software instruction sequences have not been shown in detail in order not to obscure other aspects of the present disclosure. Those of ordinary skill in the art will be able to implement appropriate functionality without undue experimentation given the included descriptions herein.
References in the specification to “one embodiment”, “some embodiments”, “an embodiment”, “an example embodiment”, “an instance”, “some instances” indicate that the embodiment described may include a particular feature, structure, or characteristic, but that every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Some embodiments herein may be implemented in hardware, firmware, software, or any combinations thereof. Embodiments may also be implemented as executable instructions stored on a machine-readable medium that may be read and executed by one or more processors. A machine-readable storage medium may include any tangible non-transitory mechanism for storing information in a form readable by a machine (e.g., a computing device). In some aspects, a machine-readable storage medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; and electrical and optical forms of signals. While firmware, software, routines, and instructions may be described herein as performing certain actions, it should be appreciated that such descriptions are merely for convenience and that such actions are in fact result from computing devices, processors, controllers, and other devices executing the firmware, software, routines, and instructions.
At operation 110, clock parameter information associated with one or more system or platform clock signal sources (also referred to as “clock” herein) may be received. The clock parameter information may include the operational frequencies of the clocks, including information regarding the limit(s) of the clock signals. The particular data received at operations 105 and 110 may include, at least, the information needed to determine whether the clock signals from the platform clocks and the radio signals from the radios of the platform have a potential to interfere (e.g., RFI) with each other.
Operation 115 of
At operation 205, based on information regarding the clock parameters and radio parameters for a platform, system, or device, a calculation of the harmonics for at least one clock source within a band of at least one of the platform clocks is performed. In some embodiments, some processes herein may treat each selected clock independently. In some other embodiments, multiple clocks may be considered collectively in the generation of SSC profiles. Operation 205 may calculate all harmonics of a selected clock that lie within the band of any of the selected radios. In some aspects, multiple radios may be selected to design a spreading profile that reduces clock harmonics in all selected bands simultaneously.
In some embodiments, the harmonic numbers having an interference potential for a given clock and radio are found by the following code snippet:
Ceil(min radio freq/max clock freq) toFloor(max radio freq/min clock freq)
As an example, consider a PCI 33 MHz clock and a WiFi channel 1 as depicted in graphical user interface (GUI) 300 of
Referring to process 200 at operation 210, the harmonics with a potential for interference are used to calculate the actual range of clock frequencies that may have harmonic content inside the selected radio channel(s) or band(s). The actual range of clock frequencies harmonic numbers that may have harmonic content inside the selected radio channel(s) or band(s) may be found by the following code snippet:
Min radio freq/harmonic number to
Max radio freq/harmonic number
Continuing the example introduced above, the range of clock frequencies of concern is from (2412 MHz−22 MHz/2)/73=32.890 MHz to (2412 MHz+22 MHz/2)/73=33.192 MHz. Here, only a portion of this range is within the conventional PCI-33 spread range of 33.166 to 33.333 MHz, however the entire interference range is retained to allow for alternative spread ranges.
Process 200 continues to operation 215 where a plurality of the radio-friendly SSC profiles are generated for the at least one clock source and the at least one radio receiver, based on the calculations of operations 205 and 210. A number of steps may be involved in generating the radio-friendly clocking profile(s) herein. A number of different approaches may be performed to generate the radio-friendly clocking profile(s), but one such example process will be disclosed herein below to demonstrate the concept of an automatic SSC profile generation engine. It should be appreciated that certain details may be altered or modified within the scope of the present disclosure.
In some embodiments, a candidate profile(s) may be determined. The candidate clocking frequency range may be larger than the range used in a conventional 0.5% downspread range typically used in computing platforms. The candidate range may be defined by the maximum negative clock deviation percentages set in a clock parameters file, such as illustrated in
The candidate frequency range may be converted from clock frequencies to clock periods in order to model the behavior of, for example, an integrated SSC generator that uses delay lines to generate spread. The candidate range in this example becomes 30.000 to 30.457 ns.
The SSC generator resolution may be defined by parameters in a clocking parameters file as shown in column K of
The candidate clocking range may be represented as a one-dimensional array of clock periods. For the purpose of illustration, an SSC generator resolution of 5.0 ps would result in the following matrix for the PCI-33 example used above: [30.000 30.005 30.010 . . . 30.445 30.450 30.455] ns.
The range of potential interference frequencies determined previously may be converted from clock frequencies to clock periods in the same way as the candidate clock frequency range. In the example here, the interference range becomes 1/33.192 MHz=30.128 ns to 1/32.890 MHz=30.404 ns. All elements of the candidate range array described above that are within this interference range are removed from the candidate range array as shown below:
In some aspects, the methods and processes herein may allow for (inevitable) spectral spreading by adding a pre-defined margin to either end of the interference range. The amount of margin for real systems may be determined from measured data on spectral spreading and the SSC frequency resolution. A margin of one resolution point is used to illustrate this aspect below:
In some embodiments, the candidate clock range determined above may exceed the maximum allowable spreading. If this is the case, the matrix is truncated appropriately. In the example here, the maximum downspread is 1.5%, equal to the maximum negative clock frequency deviation. Thus, no truncation is necessary. If the maximum downspread had been limited to 1.0% for example, then the candidate clock range could be truncated above 1/(33.333 MHz−1%)=30.303 ns. As an example:
In one embodiment, the methods and processes herein allow for enforcement of a minimum spread limit to ensure EMI compliance. The elimination of some of the candidate clocking range to avoid radio interference reduces the effective spread of the clock from an EMI perspective. In the example here, the candidate spread is initially 1.5%. After elimination of the interference range, the effective spread is reduced to (1/30.000 ns)−(1/30.120 ns)+(1/30.410 ns)−(1/30.455 ns)=0.181 MHz or 0.543%.
In this example, the remaining effective spread exceeds the minimum limit of 0.2% set in the clock parameters file, so that no action is needed. However, in the instance the remaining spread had been less than the minimum limit, the processed herein may begin to restore frequencies to the candidate range beginning at the edges of the interference range until the minimum spread limit was met. In some embodiments, EMI consideration may outweigh RFI considerations. In some instances having multiple interference ranges (whether arising from a single radio channel, multiple channels or even multiple radios), high priority radios may be exempted from this process at the expense of lower priority radios. Priority assignments can vary by platform type or customer preference.
In this manner, the radio-friendly clocking profile(s) may be generated. Again, it is noted that different approaches may be used in determining the radio-friendly clocking profile(s).
Referring to
Processor 605 communicates with a storage device 630. Storage device 630 may comprise any appropriate information storage device, including combinations of magnetic storage devices (e.g., a hard disk drive), optical storage devices, and/or semiconductor memory devices. In some embodiments, storage device may comprise a database system.
Storage device 630 stores a program code 635 that may provide computer executable instructions for processing requests from, for example, client devices in accordance with processes herein. Processor 605 may perform the instructions of the program 635 to thereby operate in accordance with any of the embodiments described herein. Program code 635 may be stored in a compressed, uncompiled and/or encrypted format. Program code 635 may furthermore include other program elements, such as an operating system, a database management system, and/or device drivers used by the processor 605 to interface with, for example, peripheral devices. Storage device 630 may also include data 645. Data 645, in conjunction with SSC profile generation engine 640, may be used by system 600, in some aspects, in performing the processes herein, such as processes 100 and 200. In some embodiments, data 645 may include clock parameter information records and radio parameter information records. In some embodiments, the clock parameter information records and radio parameter information records may be received from an external source via input devices 620 or communication device 615 that may interface with a communication network.
In some embodiments, components of a system, device, or other apparatus to implement the methods of the present disclosure may include one or more clock signal sources with an adjustable or controllable clock frequency, a source of information regarding limits on valid frequencies for each clock source, a source of information regarding frequencies used by one or more platform radios, and a module with interfaces to the above components for determining the desired clocking parameters and controlling the clock signal source(s). In some aspects, the source of the radio frequency information and the source of the clock information may be the same, though not limited as such. In some embodiments, the sources of the radio and clock information may be a file, whether stored locally or remotely, received as part of a message, received in a data stream, or generated by a device or system including the module for determining the desired clocking parameters and controlling the clock signal sources. In some aspects, the controller module (e.g., a processor, RFI controller “engine”, etc. may be implemented in hardware, firmware, software, and a combination thereof.
In some embodiments, aspects of the present disclosure operate to adjust clock frequency and clock frequency variations to remove clock harmonic energy from radio reception frequencies in use by a platform. It is noted that changes to clock frequency variations herein are not limited to maximum and minimum spreading frequencies, but more generally to the clock spreading profile (i.e., the relationship of clock frequency to time) that generates the spread clock(s). The present disclosure uses information about valid platform clock frequency ranges and radio channels used by the platform to determine optimum clock parameters. The optimum clock parameters may be used to dynamically adjust the platform clock(s) in response to the particular radios operating in the platform.
In some aspects, the present disclosure may be implemented to provide a built-in RFI solution that may accommodate the integration of different components having a wireless radio. In some embodiments, a platform, device, apparatus, or system may automatically invoke one of a plurality of SSC profiles generated in accordance with aspects herein, as needed, during the operation of the platform, device, apparatus, or system. In this manner, uninterrupted and interference free operation of the platform may be achieved.
All systems and processes discussed herein may be embodied in program code stored on one or more computer-readable media. Such media may include, for example, a floppy disk, a CD-ROM, a DVD-ROM, one or more types of “discs”, magnetic tape, a memory card, a flash drive, a solid state drive, and solid state Random Access Memory (RAM) or Read Only Memory (ROM) storage units. Embodiments are therefore not limited to any specific combination of hardware and software.
Embodiments have been described herein solely for the purpose of illustration. Persons skilled in the art will recognize from this description that embodiments are not limited to those described, but may be practiced with modifications and alterations limited only by the spirit and scope of the appended claims.
Skinner, Harry G., Kesling, William Dawson
Patent | Priority | Assignee | Title |
11140381, | Aug 16 2017 | META PLATFORMS TECHNOLOGIES, LLC | Noise cancellation in a wireless head mounted display |
11567895, | Jun 28 2017 | Intel Corporation | Method, apparatus and system for dynamic control of clock signaling on a bus |
11704274, | Jun 20 2017 | Intel Corporation | System, apparatus and method for extended communication modes for a multi-drop interconnect |
11921652, | Feb 19 2018 | Intel Corporation | Method, apparatus and system for device transparent grouping of devices on a bus |
Patent | Priority | Assignee | Title |
6292507, | Sep 01 1999 | CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT | Method and apparatus for compensating a spread spectrum clock generator |
6980581, | Jul 18 2000 | Intel Corporation | Adaptive spread spectrum |
7580443, | Jan 14 2005 | NEC Electronics Corporation; Renesas Electronics Corporation | Clock generating method and clock generating circuit |
20030198307, | |||
20040213324, | |||
20080063130, | |||
20080081586, | |||
20080240313, | |||
20090074030, | |||
20090080583, | |||
20090083567, | |||
20090138745, | |||
20100158075, | |||
20100158169, | |||
20110274143, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 30 2011 | Intel Corporation | (assignment on the face of the patent) | / | |||
Nov 16 2012 | KESLING, WILLIAM DAWSON | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032236 | /0601 | |
Nov 16 2012 | SKINNER, HARRY G | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032236 | /0601 |
Date | Maintenance Fee Events |
Aug 08 2019 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Oct 16 2023 | REM: Maintenance Fee Reminder Mailed. |
Apr 01 2024 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Feb 23 2019 | 4 years fee payment window open |
Aug 23 2019 | 6 months grace period start (w surcharge) |
Feb 23 2020 | patent expiry (for year 4) |
Feb 23 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 23 2023 | 8 years fee payment window open |
Aug 23 2023 | 6 months grace period start (w surcharge) |
Feb 23 2024 | patent expiry (for year 8) |
Feb 23 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 23 2027 | 12 years fee payment window open |
Aug 23 2027 | 6 months grace period start (w surcharge) |
Feb 23 2028 | patent expiry (for year 12) |
Feb 23 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |