[time-nuts] Frequency multiplication
jimlux
jimlux at earthlink.net
Sat Feb 5 14:20:01 UTC 2011
On 2/5/11 3:54 AM, Magnus Danielson wrote:
> On 05/02/11 12:13, jimlux wrote:
>> And where in-situ changes in the signal processing are needed (e.g. in a
>> software defined radio), the reprogrammable FPGA is a good fit. But
>> there is a tradeoff.. you might want to give the downstream
>> users/programmers the ability to change sample rates, prompting the idea
>> of driving the data converter from the FPGA, without needing to add
>> external components to provide that function.
>
> The FPGA can be a part of that solution, with DDSes, programmable
> dividers etc, but the actual clock should preferably not go through the
> FPGA before hitting ADCs and DACs.
>
I agree, but if you want the clock rate to be changeable/selectable,
driven arbitrarily by logic in the FPGA, you're kind of stuck.
A typical scenario (which could be fixed by minimal external circuitry)
is turning the clock entirely off to save power in the DAC/ADC. Or
where you want to run the converters at a lower rate to save power when
processing a narrower band signal.
In the software radio area, we usually have at least two clocks in the
system.. a CPU clock running at something like 66 or 75MHz (or something
convenient) and a reference oscillator (used for generating the local
oscillators, etc., as well as the sampling clocks) at 50-100 MHz,
although the sampling might be divided down some from that. The CPU
clock is generally of lower quality (e.g. not a TCXO, not necessarily
good phase noise) and the reference oscillator is usually fairly good
(TCXO or OCXO, good phase noise since it's being multiplied up to
microwave frequencies, etc.)
A low parts count approach to meeting the overall need might be to have
a very small "clock FPGA" that is clocked ONLY by the external clock and
generates the needed DAC and ADC clocks, with whatever dividing, etc.
At least then, you don't have to deal with isolation from the CPU bus clock.
That would be an alternative to adding a lot of external clock mux
logic, with dividers and such. You might even be able to use a suitable
onetime programmable FPGA in a small package to implement a "generic
clock source" with enough sophistication, but still with minimal
degradation.
More information about the Time-nuts_lists.febo.com
mailing list