FPGA/CPLD使用无源晶振替代有源晶振-Anlogic-安路社区-FPGA CPLD-ChipDebug

FPGA/CPLD使用无源晶振替代有源晶振

该帖子部分内容已隐藏
付费阅读
已售 1
20积分
此内容为付费阅读,请付费后查看

安路的器件中自带了环形振荡器,但误差相对有点大,不同系列从30%~5%不等,,LATTICE的器件有些系列也带环形振荡器精度也在10%左右,但像ICE器件就没有,而像XILINX INTEL的器件都没有这些东西,对于有些应用了省成本的案子,用无源晶振替代有源晶振实现比单纯环形振荡器更稳定的时钟就有意义了。

其实这个用法在COMS器件中早已有之,具体原理参见

 

有时为了降低成本,我想在FPGA中使用无源晶体而不是有源振荡器。以LATTICE ICE器件为例

外电路:

d2b5ca33bd102404

完整原理图:

CLK_I我们需要在和之间实现一个反向器CLK_O

当实现一个从一个输入引脚到一个输出引脚的反相器时,我们实际上有很多级级联,因此无源晶体频率不能太高,例如4、8、12、16 MHz就可以了,并且我们应该添加约束以减少延时。

(对于频率极低的晶振,例如32.768kHz,我们应该添加约束来增加延迟,甚至可以自己添加更多级。)

在我们添加任何约束之前,反相器放置在远离输入和输出引脚的位置,并且 clk_o 只能获得约 450kHz:(
有时将反相器放置在中间,我们可以获得 16 MHz 时钟,但某些功能有时不稳定。)

d2b5ca33bd102429

添加此约束后,我们可以获得16 MHz时钟,并且FPGA中的所有其他功能都非常稳定:

d2b5ca33bd102444

同样的ALTERA上可以上实现

d2b5ca33bd104330

d2b5ca33bd104359

请登录后发表评论

    没有回复内容