安路的器件中自带了环形振荡器,但误差相对有点大,不同系列从30%~5%不等,,LATTICE的器件有些系列也带环形振荡器精度也在10%左右,但像ICE器件就没有,而像XILINX INTEL的器件都没有这些东西,对于有些应用了省成本的案子,用无源晶振替代有源晶振实现比单纯环形振荡器更稳定的时钟就有意义了。
其实这个用法在COMS器件中早已有之,具体原理参见
有时为了降低成本,我想在FPGA中使用无源晶体而不是有源振荡器。以LATTICE ICE器件为例
外电路:
完整原理图:
CLK_I
我们需要在和之间实现一个反向器CLK_O
:
当实现一个从一个输入引脚到一个输出引脚的反相器时,我们实际上有很多级级联,因此无源晶体频率不能太高,例如4、8、12、16 MHz就可以了,并且我们应该添加约束以减少延时。
(对于频率极低的晶振,例如32.768kHz,我们应该添加约束来增加延迟,甚至可以自己添加更多级。)
在我们添加任何约束之前,反相器放置在远离输入和输出引脚的位置,并且 clk_o 只能获得约 450kHz:(
有时将反相器放置在中间,我们可以获得 16 MHz 时钟,但某些功能有时不稳定。)
添加此约束后,我们可以获得16 MHz时钟,并且FPGA中的所有其他功能都非常稳定:
同样的ALTERA上可以上实现
没有回复内容