打印

关于BKP的一点理解和疑惑

[复制链接]
2939|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
isd2560|  楼主 | 2009-3-12 10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这几天做RTC的试验,但是常常发现BKP里面数值莫名丢失,针对这些有几点疑惑和理解望斑竹确认下。
1,RTC计数器值是保存在BKP里面的是不是,但是BKP里面数据受(外部侵入检测信号&内部TPAL和TPE)影响可能会完全丢失,保存在里面的RTC计数器值也随之丢失?
2,每次写读RTCCounter里面的值必须要对RCC_APB1ENR的PWREN和BKPEN置位,以及使能(PWR_CR)的DBP?
3,BKP里面有有这么一句话“注: 当VDD电源断开时,侵入检测功能仍然有效。为了避免不必要的复位数据备份寄存器,TAMPER引脚应该在片外连接到正确的电平”,万利199的板子上7脚是悬空的,请问这个正确电平该如何正确设定?

沙发
isd2560|  楼主 | 2009-3-12 10:11 | 只看该作者

关于第三点

第三点我这么理解TPE置高,启动干扰机制,TTAMPER引脚高还是低复位bkp由PAL置高低位设定。可是为什么要引入侵入检测机制,这样bkp数据不是容易lost

使用特权

评论回复
板凳
lut1lut| | 2009-3-12 10:23 | 只看该作者

RTC是属于backup domain,并不是在BKP的那84个字节的备份寄存器

1.
RTC模块中的几个寄存器(除了控制寄存器)属于backup domain,就是说出了backup复位,其他复位都不影响这些寄存器的值。当然那84个字节的备份寄存器也属于backup domain。而tamper只是在检测到浸入事件后复位那84个字节的备份寄存器。

2.
复位后,bakeup domain被保护起来不能随意访问,要访问(读写)他们,需要使能PWREN & BKPEN @ RCC_APB1ENR来使能接口时钟;然后设置DBP@PWR_CR来使能对它们的访问。

3.
什么是正确的电平。这取决于TPAL@BKP_CR的值。假设TPAL@BKP_CR=1,表示该引脚上出现低电平就为侵入事件案。如果在使能侵入检测之前,该脚已经被接到低电平,那么程序中一旦使能侵入检测,马上就产生侵入事件案,于是复位84个备份寄存器。如果在该引脚一直高电平,使能侵入检测后,等到该引脚变成低电平了,就产生侵入事件,复位备份寄存器。

使用特权

评论回复
地板
isd2560|  楼主 | 2009-3-12 10:45 | 只看该作者

哦,原来如此

豁然开朗,谢谢lut1lut,你是不是做低功耗的那个,我们好像通信过,仔细一看原来还有个backup domain,备份区域复位只有电池掉电情况吧

使用特权

评论回复
5
isd2560|  楼主 | 2009-3-12 10:48 | 只看该作者

再啰嗦一句

BKP寄存器通常用来放什么的,能否举个例子

使用特权

评论回复
6
lut1lut| | 2009-3-12 10:58 | 只看该作者

RTC calender的例子就用到了备份寄存器

第一次设置RTC的各种寄存器后,往备份寄存中写入0xaa55(好像)。以后每次复位,检查备份寄存器中还有没有这个0xaa55,有的话,表示一直没有发生过bakeup复位,即RTC中的值一直有效的,可以不用再设置RTC了。如果检查没有0xaa55了,表示发生了bakeup复位,RTC中的值也被复位了,需要重新设置。

AN2821 Clock/calendar implementation

http://www.st.com/mcu/modules.php?name=mcu&file=familiesdocs&FAM=110#Application%20Note

使用特权

评论回复
7
香水城| | 2009-3-12 22:41 | 只看该作者

如何想在系统掉电时保存的数据都可以放在BKP寄存器

比如讲你的加密算法的密钥就可以放在BKP寄存器,当TAMPER引脚监测到非法事件,你的密钥将被自动擦除,这样就保护了你的数据不被窃密。

注意,为防止干扰产生误动作,最好在TAMPER引脚上对地加一个高频特性好的小电容,大约100pF~500pF。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

93

帖子

0

粉丝