当比率是某个随机分数时设计时钟分频器
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 最优比率生成树 最优比率环
POJ 2728 Desert King(最优比率生成树 01分数规划)