这表现为生成的“时钟”上的大量抖动(我在引文中使用“时钟”一词,因为它由于这种抖动而不是真正的周期性)。
这可能导致您看到的问题。
MMCM中的PLL(以及基于PLL的MMCM)设计用于在很宽的频率范围内工作,并且可以显着降低抖动(与所有PLL一样),但它有一个限制。
数据表(DS181)将MMCM_Finjitter定义为输入时钟周期的以下为原文
A "classic" DDS generates a "clock" with a frequency that exactly matches the requested frequency, but accomplishes it by dithering the output signal within the granularity of the clock driving the DDS. This manifests as a significant amount of jitter on the generated "clock" (I use the word "clock" in quotations since it isn't truly periodic due to this dithering).
It is this that can be causing the problem you see. The PLL in the MMCM (and the MMCM is PLL based) is designed to work over a broad range of frequencies, and can do significant jitter reduction (as all PLLs do), but it has a limit. The datasheet (DS181) defines MMCM_Finjitter as being <20% of the input clock period or 1ns max. Thus depending on the characteristics of the DDS output frequency and source clock (which determines the jitter), you could well be violating this specification. If you do so, then the MMCM may fail to lock, or may lose lock after it acquires it...
If this is the case, you will have to find a way to generate a "legal" clock to the MMCM - you may be able to alter the characteristics of you DDS, or you may have to put an external PLL between the DDS and the MMCM - one that can tolerate more input jitter...
Avrum