当比率是某个随机分数时设计时钟分频器

Designing a Clock Divider when the ratio is some random fraction

我正在尝试设计一个将 100 MHz 频率转换为 3.5 Hz 的时钟分频器。如果这是 2.5 赫兹,我会很容易地做到这一点,因为比率将是一个整数。但是由于在这种情况下该比率是一个奇怪的分数,所以我坚持要继续这样做。任何 help/leads 将不胜感激。请注意,我不想使用 PLL 等

100E6/3.5 等于 28571428.57,因此如果您将其四舍五入为下一个整数,则您的 3.5Hz 时钟将关闭 0.0000015%,即 3.5000000525Hz。我很确定这是可以忽略的,因为您的振荡器的准确性不会比这更准确。此外,这始终是准确性的问题。如果没有 PLL,您将无法进行任何小数时钟分频,但只要您的较快时钟是较慢时钟的倍数,就可以了。

我们有:

28.571.428 * 3.5 + 2 = 100.000.000

因此,您可以在慢时钟 (scc) 的每个时钟周期计算 28.571.428 个快时钟 (fcc) 的时钟周期,并丢弃几乎可以忽略不计的 2 个剩余 fcc。或者时不时加2个leap fcc。如果你算:

scc #1 = 28.571.429 fcc (1 extra leap fcc)
scc #2 = 28.571.428 fcc
scc #3 = 28.571.429 fcc (1 extra leap fcc)
scc #4 = 28.571.428 fcc
scc #5 = 28.571.429 fcc (1 extra leap fcc)
scc #6 = 28.571.428 fcc
scc #7 = 28.571.429 fcc (1 extra leap fcc)

然后重新启动,你在2 * 3.5 = 7 scc中增加了4个额外的leap fcc,即每3.5 scc增加2个fcc。离完美不远了。