关于RTC备份数据区数据丢失问题的讨论
作者:时间:2016-12-02来源:网络收藏
问:最近在使用STM32F103RB时,出现了断电后再上电时备份数据区数据丢失的现象,不知道是什么原因,最初在设计的时候芯片核的电源(数字部分电源)和ADC的电源是相连的,备份数据区的数据没有丢失,现在将ADC的电源单独采用一个电压基准芯片供电后,断电再上电发现备份数据区的数据丢失了,全部为0包括时间。如果我将现在的电路板的ADC电源链接到数字电源上,数据就不丢失了。为提高ADC精度,又不丢失备份数据区数据,哪位仁兄有好的建议,感谢!!

答:在断电时,请保证同时切断VDD和VDDA 请用示波器看看,怀疑断电时你的VDDA下降的太慢,而VDD很快消失。在断电时,应该保证同时切断VDD和VDDA。

问:RTC备份数据区与ADC电源关系???不管是VDDA下降慢,还是VDD下降慢,我认为这个芯片的工作与否不应该受VddA的影响,如果说备份电池数据受VDDA的影响的话,应该在手册中有说明,我还认为当不使用ADC时我们可以不给ADC供电,为什么说呢,当模拟、数字电路分离时,模拟电源可能故障失电,数字部分存在电源,当然正常工作的CPU可以通过程序检查到ADC部分出错,现在根据实验发现,ADC失电后芯片根本不工作。如果说一定要同时切断电源的话就必须连接到同一电源上,要不肯定丢数据呀,香主你说呢。

香主分析的对,但是我就是不明白VDDA必须要先断电,这是为什么呢。我总是认为这个问题不应该出现,至少我认为VDDA自然为独立电源引脚,为什么内核工作受VDDA的影响呢?

答:RTC备份数据区与ADC电源关系,以及VDD与VDDA的关系最近正在翻译大容量的STM32F103数据手册,正好供电部分的说明与中等容量STM32F103说明一样,下面贴图中的2.3.11节与STM32F103RB数据手册中的2.3.9节内容相同,你可以对照着看:

从关于VDDA的说明中可以看到,VDDA不单是为ADC供电,它为所有的模拟部分供电,特别是复位模块,这就回答了你的“不使用ADC时我们可以不给ADC供电”这个问题。关于VBAT部分说明了当关闭VDD时,通过内部电源切换器,VBAT为RTC、外部32kHz振荡器和后备寄存器供电。这里说的内部电源切换器就是下图中靠近VBAT的“供电开关”,下面这张图就是上面贴图中提到的图12:

这张图中没有说明这个供电开关是由哪个电源控制,但从图上看可以认为是VDD控制。

关于你的问题(包括在前面提的问题),我是这样分析的:VDD先掉电,在VDDA还没有完全掉电时,因为内部漏电流,上述供电开关并没有切换到 VBAT,而此时VDD已经消失,造成RTC内容丢失。正因为如此,数据手册上才会要求VDD应与VDDA同源,同时他们之间的电压差不能超过 300mV。

如果这个供电开关是由VDDA控制,那么你看到的现象就是显而易见了。不过这一点我需要确认。

再答:"AN2586-STM32F10xxx硬件开发入门"中说明:供电开关由PDR控制在应用笔记《AN2586-STM32F10xxx硬件开发入门》中,我找到了上面所提到的供电开关是由VDDA控制的清楚说明。
这里是有关部分截图,这个文档的中文译文在STMCU中文网页上:

文中红线划出的部分写明:VBAT的开关由复位模块内的掉电复位(PDR)电路控制。再根据上面提到的部分,复位模块由VDDA供电。所以当VDDA晚于VDD调电时,VBAT的开关还没有切换到VBAT,VDD已经消失了,RTC的内容自然也就消失了。

关于前面提到的多电源问题,手册上已经明确写明,VDD必须与VDDA同源,所以不应理解为是多电源供电。

至于VBAT缺失和电池没有电是2个问题,VBAT缺失的情况时,电路上有相应处理,所以不会有问题;而电池没有电的情况下,并不表示VBAT信号悬空,此时VBAT是通过电池接地,也不会有问题,只不过RTC的内容不能继续维持。电池没有电时好像应该是等效于一个电容加一个电阻,具体什么样的参数我不太清楚,但我可以肯定不是一个无穷大的电阻。

问:现在看来对于STM32的设计那是相当的不一样,大家以后设计的时候不要想当然,一定要仔细阅读说明文档的每个细节,要不,设计会走弯路,当然也会带来一个麻烦就是不同用途的地方很多要求不一样,我从来都不会想象到PLL会挂在VDDA上,常理上PLL电路应该属于数字部分。可偏偏挂在了 VDDA上。

由于Vdd的电压不稳定,在大量的IO来回动作的情况下,VDD的电压极度不稳定,当然如果VddA也连接到VDD的话,对于48脚和64脚封装的芯片来讲Vdda连接到VDD对于要求高精度的应用来讲,这个应该是不充许的,我使用的就是103VB,如果将VDDA连接到VDD,此时的AD采样误差明显低于VDDA与VDD分离的误差,我将VDDA连接到一个3.3V的参考电压芯片上了。一般的芯片VDDA和VDD都是可以分离供电的,至少我看见过的,ST的除外。

第三者答:PLL电路似乎不可能是纯数字电路,至少VCO应该用模拟电路。

STM32 RTC BKP备份数据区数据丢失问题的讨论相关推荐

  1. STM32——RTC实时时钟原理+BKP寄存器原理

    一.RTC实时时钟特征与原理 1.RTC(Real Time Clock):实时时钟 2.RTC是个独立的BCD定时器/计数器.RTC提供一个日历时钟,两个可编程闹钟中断,以及一个具有中断功能的周期性 ...

  2. STM32_BKP备份数据

    推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang 今天提供并讲 ...

  3. STM32学习心得二十一:实时时钟RTC和备份寄存器BKP特征、原理及相关实验代码解读

    记录一下,方便以后翻阅~ 主要内容 1) RTC特征与原理: 2) BKP备份寄存器特征与原理: 3) RTC常用寄存器+库函数介绍: 4) 相关实验代码解读. 实验内容: 因为没有买LCD屏,所以计 ...

  4. STM32使用RTC+BKP+PWR+EXTI

    待机模式:唤醒后复位,从头开始执行主函数,所有时钟关闭,仅有RTC时钟开启 停止模式:除RTC时钟外,所有外设时钟关闭,但保存数据和运行到的位置(PC值),唤醒后需要等时钟同步 睡眠模式:外设时钟开启 ...

  5. 备份数据选u盘还是硬盘?数据丢失又该如何恢复?

    备份数据选u盘还是硬盘?现在越来越多的人知道备份数据的重要性,特别是去年感受过勒索病毒的危害,很多人已经养成了定期备份数据的习惯,但现在设备花样也很多,使用的时候选择u盘还是硬盘好呢? 个人认为存储数 ...

  6. STM32CubeMX HAL F103 BKP备份寄存器使用

    STM32CubeMX HAL F103 BKP备份寄存器使用 以下是本人自己的应用笔记,如果有错误的地方,欢迎评论区指出,我会及时更正-[2021.09.28] 1.需要开启RTC功能 2.API调 ...

  7. STM32 RTC时钟掉电日期不更新 STM32 HAL库RTC时钟配置

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 STM32 RTC时钟掉电日期不更新 & STM32 HAL库RTC时钟配置 一.STM32CubeMX RTC配置 二.RT ...

  8. STM32 RTC时钟掉电日期不更新

    RTC(Real-Time Clock)实时时钟,是一个独立的定时器.拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能.修改计数器的值可以重新设置系统当前的时间和日期. RTC 模块和 ...

  9. stm32 RTC时钟配置

    stm32--RTC实时时钟 一.关于时间 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作.所有使用UNIX时间表示时间的程序都将将受其影响,因为它们以自19 ...

最新文章

  1. Quorum企业以太坊环境搭建教程
  2. node.js中对Event Loop事件循环的理解
  3. 圆桌论坛对话:互联网产业革命
  4. php在哪改缩略图的大小,修改缩略图大小的方法
  5. 微型计算机c320r3怎么拆,联想C320一体机拆机图解
  6. 文献笔记4 water volume variations
  7. 按下删除键出现 ^H 乱码现象总结
  8. C语言 哲学家就餐问题
  9. Excel如何用IF函数进行数据筛选
  10. 基于Java基础的客户信息管理系统
  11. 技巧/诀窍:用 .NET 3.5 创建 ToJSON() 扩展方法 (木野狐译)
  12. mysql forward_only_mysql参数调优
  13. Android和DLT日志系统
  14. ABRT 已检测到 ‘1‘ 个问题。预了解详细信息请执行:abrt-cli list --since 1641347561
  15. 怎么利用计算机向邮箱传输文件,如何使用QQ邮箱发送整个文件夹-电脑自学网
  16. SQLSERVER时间函数
  17. Arduino学习篇,基础入门
  18. 数据库监控设计-DBA-专属
  19. Solidity学习记录——第二章
  20. 【前端】IOS微信浏览器点击右上角遮罩实现

热门文章

  1. 用于主题检测的临时日志(d94169f9-f1c0-45a2-82d4-6edc4bd35539 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)...
  2. mysql 断电 启动不了 start: Job failed to start
  3. MYSQL的随机抽取实现方法
  4. sql多变量 双引号设置
  5. 2008-07-29
  6. 广佛肇城轨年内通车 佛山西站预计2017年中通车
  7. CE5.0 - romimage.exe如何填充eboot.bin中的pTOC特殊指针生成.nb0
  8. 哪个是更早的时间 date_淘宝用户行为分析(漏斗模型+pv,uv,pv/uv,复购率,用户活跃时间段)...
  9. 基于React Native和Ethers.js的电子钱包(三):Ethers.js
  10. 关于HP ILO 卡图形界面无响应的解决方案