ST意法半导体
直播中

王尚岱

8年用户 1441经验值
擅长:电源/新能源
私信 关注
[问答]

STM32F091备份域是什么?

我正在阅读 STM32F091 的参考手册,尤其是 RTC 章节。
然后我查看了 CubeIDE 生成的(全部设置为 LL,而不是 HAL)初始化代码的作用。
因此它具有此函数 SystemClock_Config(),其中配置了所有时钟。
那里:
  • 启用备份访问(在 PWR->CR 中设置 DBP)
  • 重置备份域(在 RCC->BDCR 中设置然后清除 BDRST)
  • 将时钟源设置为HSI(BDCR 中的 RTCSEL 位),因为我没有外部时钟晶体
  • 启用 RTC(在 RCC->BDCR 中设置 RTCEN)
根据我从手册中获取的信息,2. 将清除备份寄存器。
因此,如果我想将它们用作应用程序和引导加载程序之间的通信方法,我需要修改它以不这样做 - 如果我确定,那么,究竟是什么?
我还不清楚。
在系统重置/甚至关闭/打开电源(同时 VBAT 仍处于缓冲状态)之后,RTC 的任何部分是否仍会启用?即我可以检查任何寄存器标志以确定我不需要进行备份域重置吗?
上述程序的哪一部分还需要完成?
这是否会因使用外部时钟晶体或使用内部 RC 振荡器而改变?在我看来,后者在 VDD 关闭时不会运行,但如果使用外部振荡器电路,只要 VBAT 有足够的功率,振荡器电路仍将运行 - 我猜 RTC 东西需要一个时钟,好吧当然至少是时钟功能。可能不只是为了保存寄存器内容?








回帖(1)

卞晓俊

2023-1-13 10:53:25
VBAT 引脚为备份域供电。如果 VDD 电源丢失但 VBAT 仍然存在,则备份域(包括备份寄存器和 RTC 设置)将保留。

RTC 时钟可以是 HSE、LSE 或 LSI。只有 LSE 时钟在备份域中,因此如果在 VDD 关闭时需要 RTC,则需要有 LSE 时钟源。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分