关于外部时钟晶振频率选择

芯片的主晶振频率范围一般来说在数据手册(Datasheet)和技术参考手册(Technical Reference Manual)中都有介绍。

 

你提到的时钟先分频再倍频,这个需要深入到STM32的内部去一探究竟了,

在其技术参考手册的第7.2节Clocks的一开始有一个表格,时钟树(Figure 8. Clock tree),它完全地列出来STM32这个芯片内部各个模块的时钟来源以及相关的从属关系。

在这个图的正中央,有一个核心时钟:SYSCLK,它最大频率是72MHz,它的时钟信号通过选择器SW可以由PLLCLK提供(也可由HIS、HSE提供)。

PLL,毫无疑问,它是用来倍频的,可以*2,*3,*4……*16,它的时钟信号通过选择器PLLSRC可以由8MHz的高速内部RC振荡器经过二分频提供,也可由PLLXTPRE的选择器输出提供,

而PLLXTPRE的选择器就接的是我们的8MHz的高速外部时钟(直接接入或二分频接入)。

 

总的来说,对于我们这个板子,若使用高速外部时钟给STM32内核提供时钟源,一般以下两条路:

① [高速外部时钟:8MHz]>>>[不分频:8MHz]>>>>[PLL倍频,2到16倍]>>>[SYSCLK,16MHz-128MHz]

 

②[高速外部时钟:8MHz]>>>[二分频:4MHz]>>>>[PLL倍频,2到16倍]>>>[SYSCLK,8MHz-64MHz]

 

我们注意到,在8MHz外部时钟给PLL之前若分频的话,那么最大(×16)才64MHz,因此,我们都会给PLL以8MHz的时钟源让其倍频,这样能使它发挥到72MHz的高频率

正因如此,系统时钟总是8的倍数。

 

我们看这个芯片的数据手册,立刻就能明白,不是必须得接8MHz的晶振的

①   高速外部时钟源频率范围(P55-P58):1MHz~25MHz(有源);4MHz~16MHz(无源)

②   PLL输入时钟源频率范围(P62):1MHz-25MHz

③   PLL输出时钟源频率范围(P62):16MHz~72MHz

 

我们自己设计板子的时候只要满足它的范围就可以了。

例如:我们可以选择一个12MHz的无源晶体接到STM32芯片上。

在给STM32进行时钟配置的时候,

①   选择PLLXTMRE的输入源为12MHz/2 = 6MHz

②   选择PLLSRC的输入源为PLLXTMRE的输出6MHz,

③   在PLL内进行3到12倍的倍频(最小16MHz,最大72MHz),

最终我们可选择的频率就有:18MHz、24MHz、30MHz、36MHz、42MHz、48MHz、54MHz、60MHz、66MHz、72MHz

图示:

回答: FPGA晶振频率选择是根据具体的应用需求和设计要求来确定的。在引用的代码中,FPGA晶振频率被设定为50MHz,即每个时钟周期为20ns。选择FPGA晶振频率时需要考虑以下几个因素:\[2\] 1. 系统性能要求:选择更高的晶振频率可以提高系统的运行速度和响应时间,适用于对实时性要求较高的应用。而选择较低的晶振频率可以降低功耗和成本,适用于对实时性要求不高的应用。 2. 设计复杂度:较高的晶振频率可以支持更复杂的逻辑设计,但也会增加设计的难度和布局布线的复杂性。较低的晶振频率则适用于简单的逻辑设计。 3. 外部接口要求:如果设计中需要与其他设备或系统进行通信,需要考虑外部接口的时钟要求和兼容性。选择外部设备或系统相匹配的晶振频率可以简化时钟同步和数据传输的设计。 综上所述,选择FPGA晶振频率需要综合考虑系统性能要求、设计复杂度和外部接口要求等因素。根据具体的应用需求和设计要求来确定最合适的晶振频率。 #### 引用[.reference_title] - *1* *2* [FPGA(4)晶振与计数器 -- 实现定时器(led定时闪烁、蜂鸣器频率控制(单响)、蜂鸣器报警(频带控制,多响)...](https://blog.csdn.net/great_yzl/article/details/121373917)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【FPGA频率计】基于FPGA的数字频率计开发,VHDL编程实现](https://blog.csdn.net/ccsss22/article/details/124638095)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值