为什么实时时钟的晶振都是32.768KHZ呢

本文详细解释了实时时钟RTC为何选择32.768KHZ的晶振作为核心组件,通过15次分频得到精确的1Hz秒信号,确保时间的准确性和稳定性。文章深入探讨了振荡电路的组成、晶振的作用以及分频原理,旨在帮助初学者理解RTC设计背后的科学依据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    原来我也只知道实时时钟就应该用32.768KHZ的晶振但不知道为什么,今天突然想知道为什么就查了查,搞懂了,写下来,为了积累,为了分享。

    

1.
振荡电路用于实时时钟RTC,对于这种振荡电路只能用32.768KHZ 的晶体晶体被连接在OSC3 与OSC4 之间而且为了获得
稳定的频率必须外加两个带外部电阻的电容以构成振荡电路。
 
2.原因
32.768KHZ的晶振产生的振荡信号经过石英钟内部分频器进行15次分频后得到1HZ秒信号,即秒针每秒中走一下,石英钟内
部分频器只能进行15次分频,要是换成别的频率的晶振,15次分频后就不是1HZ的秒信号,钟就不准了。
 
 
32.768K=32768=2的15次方,数据转换比较方便、精确。
以上的文字是我在网上找到的,刚开始看的时候有几点不太明白,我相信以后有像我这样的新手再看得话也会有些疑问,在此我想对上文做一点个人浅薄的说明:
1、上图中晶振旁边的电阻是可有可无的,所以你看到别的实时时钟电路中没有那个电阻也不要怀疑。
2、上文原因中所说的32.768KHZ的晶振产生的振荡信号经过石英钟内部分频器进行15次分频后得到1HZ秒信号中的15次分频具体的说是15次二分频,也就是说32768/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2 = 1HZ 也就是1s的时间,其实我们也可以用的晶振比如:65.536KHZ,只是要经过16次2分频才是1HZ(1s)。所以我们只要把石英钟内部的分频器换成只能进行16次二分频就一切OK了,,,,,,
### RTC时钟晶振32.768KHz与主时钟晶振的区别 #### 一、RTC时钟晶振32.768kHz) RTC电路中的晶振频率通常设定为32.768kHz,这一特定频率的选择主要是为了便于实现精确的时间计数功能。具体来说: - **易于分频至1Hz**:通过简单的二进制分频操作,可以将32.768kHz的信号逐步分频到1Hz的标准时间脉冲信号[^1]。这种设计简化了硬件逻辑复杂度并提高了系统的可靠性。 - **低功耗特性**:相比高频晶振,较低的工作频率意味着更少的能量消耗。这对于依赖电池供电的手持设备或者嵌入式系统尤为重要,能够显著延长待机时间和使用寿命。 - **成本效益高**:由于其广泛应用以及成熟的技术支持,制造工艺已经非常完善,因此生产成本相对低廉[^2]。 #### 二、主时钟晶振(如25MHz) 对于微控制器而言,除了需要一个用于维持实时日历/闹钟等功能的基础时基外,还需要更高频率的主时钟来满足高性能运算需求。以下是关于主时钟的一些特点描述: - **提供高速处理能力**:像25MHz这样的较高频率为主处理器提供了足够的速度去执行复杂的计算任务以及其他高强度工作负载。它允许CPU快速切换状态完成指令序列,并及时响应各种中断请求[^3]。 - **适应多种应用场景的需求**:不同的应用场合可能要求不同级别的性能表现;比如工业控制领域往往追求极致精度与时效性,则会倾向于采用更高的主频设置。而消费类电子产品则会在效能之间寻找最佳平衡点以优化用户体验的同时兼顾能耗考量。 #### 三、两者之间的差异对比总结表 | 特性 | RTC时钟晶振(32.768kHz) | 主时钟晶振 (例如25MHz) | |----------------|--------------------------------------------|---------------------------------------| | 频率范围 | 较低 | 显著高于前者 | | 功耗水平 | 极低 | 相对较高 | | 应用场景 | 实时时钟保持 | CPU运行及外围模块驱动 | | 成本因素 | 经济实惠 | 可能因材料和技术难度增加稍显昂贵 | 综上所述,虽然二者同属晶体震荡器范畴但在实际运用当中扮演着截然不同的角色——一个是专注于精准守时服务的小型化组件,另一个则是支撑整个电子装置高效运作的核心动力源泉之一。 ```python # 示例代码展示如何配置STM32上的两种时钟源 def configure_clocks(): rtc_source = 'LSE' # 使用外部32.768 kHz晶振作为RTC时钟源 main_system_clk = 'HSE' # 设置外部25 MHz晶振为主要系统时钟 if main_system_clk == 'HSE': enable_hse_oscillator() set_rtc_clock(rtc_source) configure_clocks() ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值