|
本帖最后由 BOB_Sun 于 2022-9-19 09:18 编辑
Q: DE1_SoC_GHRD工程,打开Qsys系统,看到f2h_sdram0_clock连接的是50MHz clk_0。
但是在hps_0的SDRAM标签栏看到参考时钟是25MHz,这要怎么理解呢?
A: 50MHz clk_0是FPGA-to-HPS bridge的时钟,而HPS SDRAM PLL的时钟是25MHz,来自HPS_CLK2 (EOSC2), HPS_CLK1 (EOSC1)或f2h_sdram_ref_clk(一般没用这个时钟作为sdram的参考时钟),可以参考Cyclone V 硬核处理器系统技术参考手册中关于Clock Manager部分的介绍。
EOSC2、EOSC1来自外部晶振提供的时钟但不是直连(见DE1-SoC电路图),而f2h_sdram_ref_clk由FPGA fabric提供。
关于如何设置选择Cyclone V SoC器件的HPS SDRAM PLL时钟源是HPS_CLK2 (EOSC2), HPS_CLK1 (EOSC1)还是f2h_sdram_ref_clk,就不是在HPS IP GUI中设置,HPS SDRAM PLL 的时钟源由Preloader控制,可以通过以下方法设置:
1. 在generate spl-bsp后创建的BSP目标路径de1_soc_GHRD\software\spl_bsp\generated下,会生成pll_config.h文件:
2. 在 pll_config.h 文件中,修改以下语句括号中的值就可以设置时钟源:
#define CONFIG_HPS_SDRPLLGRP_VCO_SSRC (0)
0:使用eosc1_clk作为 HPS SDRAM PLL 参考时钟源;
1:使用eosc2_clk作为 HPS SDRAM PLL 参考时钟源;
2:使用f2s_sdram_ref_clk作为 HPS SDRAM PLL 参考时钟源。
默认是0,即HPS SDRAM PLL时钟源默认是EOSC1。
3. 编译Preloader并创建Preloader image。 |
|