环形振荡器改变频率?

Ring Oscillator changing frequency?

我有一个大约 1000 个门的基于 nand 的环形振荡器。每个 nand 的输入之一连接到 1,除了一个连接到启用引脚的门(当启用变为高电平时,环形振荡器被启用)。

我将设计加载到 fpga 上,并在示波器上获得了输出。我得到的频率约为 40 MHz。但是,如果我拉低启用并拉高,频率会急剧变化。每次启用切换它都可以从 40 MHz 到 9 MHz 再到 30 MHz 以及介于两者之间的任何位置。我什至试过一直保持启用高电平,然后打开和关闭电路板,然后频率也会改变。

关于 on/how 修复它的任何想法?难道我需要在环上增加更多的门来增加延迟?

谢谢!

环形振荡器不仅仅是一个振荡器。它是一条延迟线,传播输入给它的任何东西。

通常它会是振荡信号的前端,但现在它可能是按钮弹跳触点发出的噪音。

你至少应该去抖按钮。否则环形振荡器将从按钮的触点旋转一些随机脉冲序列,以某种不可预测的方式影响观察到的频率。