Patent ID: 7532658

Claim:
An apparatus for reducing electromagnetic interference, the apparatus generating a spread-spectrum clock according to an original clock having an original clock frequency, receiving an input data bit stream according to the original clock, and outputting an output data bit stream according to the spread-spectrum clock, wherein the spread-spectrum clock has a frequency which varies between a maximum frequency that is higher than the original clock frequency and a minimum frequency that is lower than the original clock frequency, and wherein a difference between a local maximum of the spread-spectrum clock and the original clock is defined as a positive magnitude of spread-spectrum and a difference between a local minimum of the spread-spectrum clock and the original clock is defined as a negative magnitude of spread spectrum, and the apparatus comprises: a spread-spectrum buffer for temporarily storing units of data in the input data bit stream according to the original clock and outputting units of data in the output data bit stream according to the spread-spectrum clock, wherein the spread-spectrum buffer has a capacity to store up a to predetermined number of units and the number of units of data stored in the spread-spectrum buffer increases when the frequency of the spread-spectrum clock is lower than the original clock frequency and decreases when the frequency of the spread-spectrum clock is higher than the original clock frequency; a spread-spectrum controller for receiving the original clock and the spread-spectrum clock and generating a write-in address for writing the input data bit stream into the spread-spectrum buffer and a read-out address for reading the output data bit stream out of the spread-spectrum buffer, wherein the spread-spectrum controller determines a buffer index which indicates the number of units of data currently stored in the spread-spectrum buffer, the spread-spectrum controller outputs an up signal or a down signal as a function of the buffer index, and according to the buffer index in a previous sweeping period, the spread-spectrum controller adjusts an occurrence time of a downward correction point, at which the frequency of the spread-spectrum clock reaches a local maximum and starts to decrease, in each sweeping period; and a frequency generator for receiving the up signal and the down signal and outputting the spread-spectrum clock, wherein the frequency generator increases the frequency of the spread-spectrum clock in response to the up signal and decreases the frequency of the spread-spectrum clock in response to the down signal.