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

Posted

技术标签:

【中文标题】当比率是某个随机分数时设计时钟分频器【英文标题】:Designing a Clock Divider when the ratio is some random fraction 【发布时间】:2021-10-04 20:14:31 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

我们有:

28.571.428 * 3.5 + 2 = 100.000.000

因此,您可以在慢速时钟 (scc) 的每个时钟周期计算快时钟 (fcc) 的 28.571.428 时钟周期,并丢弃几乎可以忽略的 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。离完美不远。

【讨论】:

以上是关于当比率是某个随机分数时设计时钟分频器的主要内容,如果未能解决你的问题,请参考以下文章

[转]01分数规划算法 ACM 二分 Dinkelbach 最优比率生成树 最优比率环

软件工程个人作业01

jquery 比率在 0.5 间隔内获得分数

POJ 2728 Desert King(最优比率生成树 01分数规划)

[POJ 2728]Desert King(0-1分数规划/最优比率生成树)

poj2728 Desert King(最小生成树+01分数规划=最优比率生成树)