STM学习笔记数据的保存和毁灭

上传人:豆浆 文档编号:37551490 上传时间:2018-04-18 格式:DOC 页数:7 大小:200KB
返回 下载 相关 举报
STM学习笔记数据的保存和毁灭_第1页
第1页 / 共7页
STM学习笔记数据的保存和毁灭_第2页
第2页 / 共7页
STM学习笔记数据的保存和毁灭_第3页
第3页 / 共7页
STM学习笔记数据的保存和毁灭_第4页
第4页 / 共7页
STM学习笔记数据的保存和毁灭_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《STM学习笔记数据的保存和毁灭》由会员分享,可在线阅读,更多相关《STM学习笔记数据的保存和毁灭(7页珍藏版)》请在金锄头文库上搜索。

1、数据的保存和毁灭(2)和以前学到的有关数据保存不同,这里的数据保存还有“保密”之意,即一旦受到 意外的侵入,STM32 将毁灭数据。这是通过 Tamper 机制来实现的。以下是数据手册中的有关说明:5.3.1 侵入检测 当 TAMPER 引脚上的信号从 0 变成 1 或者从 1 变成 0(取决于备份控制寄存器 BKP_CR 的 TPAL 位),会产生一个侵入检测事件。侵入检测事件将所有数据备份寄存器内容清除。 然而为 了避免丢失侵入事件,侵入检测信号是边沿检测的信号与侵入检测允许位的逻辑与,从而 在侵入检测引脚被允许前发生的侵入事件也可以被检测到。 当 TPAL=0 时:如果在启动侵入检测 T

2、AMPER 引脚前(通过设置 TPE 位)该引脚已经为高 电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在 TPE 位置1后并 没有出现上升沿)。 当 TPAL=1 时:如果在启动侵入检测引脚 TAMPER 前(通过设置 TPE 位)该引脚已经为低 电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在 TPE 位置1后并 没有出现下降沿)。 设置 BKP_CSR 寄存器的 TPIE 位为1,当检测到侵入事件时就会产生一个中断。 在一个侵入事件被检测到并被清除后,侵入检测引脚 TAMPER 应该被禁止。然后,在再次写 入备份数据寄存器前重新用 TPE 位启动侵入检测功能。

3、这样,可以阻止软件在侵入检测引 脚上仍然有侵入事件时对备份数据寄存器进行写操作。这相当于对侵入引脚 TAMPER 进行电 平检测。 注:当 V DD 电源断开时,侵入检测功能仍然有效。为了避免不必要的复位数据备 份寄存器,TAMPER 引脚应该在片外连接到正确的电平。 显然,Tamper 需要硬件与之配合。以上数据手册描述了硬件配置时的一些注意事 项。(1) 可以是把引脚由低电平到高电平认为是一次侵入,也可以把引脚从高电平变 到低电平认为是一次侵入,这通过 TPAL 来设置。(2) Tamper 机制需要被启动才能起作用。但在启动之前,如果引脚已处于设定的 状态,那么一旦启动,就会产生一次 T

4、amper 事件,这需要注意,否则会引起数据的意外丢 失而不自觉。(3) 即便芯片上的 VDD 电源断开,(只要仍有 VBAT),那么 Tamper 检测仍是有 效的,因此,设计硬件时必须要小心,如果某设计是将 Tamper 引脚通过上拉电阻接 VDD, 并在这个引脚上接入机械开关到地。如果开关导通,那么就是一次 Tamper 事件,这个没有 问题。但是,如果电源断开(VDD 变低),也会引发一次 Tamper 事件,而这往往并不是设 计都的本意。因此,这个引脚的上拉电阻必须接到 VBAT 而不是接到 VDD。(4) 总的来说,TAMPER 并不复杂,下面来看一看代码。这次是用的 STM32

5、库中的这个例子。有关 LED 的设置,这里就不再重复了,和上一篇文章(数据的保存与毁灭(1)相 同)。/* Enable write access to Backup domain */PWR_BackupAccessCmd(ENABLE);这是打开 BKP 功能。/* Clear Tamper pin Event(TE) pending flag */BKP_ClearFlag();清除 Tamper 事件/* Tamper pin active on low level */BKP_TamperPinLevelConfig(BKP_TamperPinLevel_Low);配置 Tamper

6、 引脚究竟是高电平有效还是低电平有效,这个再研究一下,继续跟踪:/* brief Configures the Tamper Pin active level.* param BKP_TamperPinLevel: specifies the Tamper Pin active level.* This parameter can be one of the following values:* arg BKP_TamperPinLevel_High: Tamper pin active on high level* arg BKP_TamperPinLevel_Low: Tamper pin

7、 active on low level* retval None*/void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel)/* Check the parameters */assert_param(IS_BKP_TAMPER_PIN_LEVEL(BKP_TamperPinLevel);*(_IO uint32_t *) CR_TPAL_BB = BKP_TamperPinLevel;CR_TPAL_BB 又是什么呢?/* Alias word address of TPAL bit */#define CR_OFFSET (BK

8、P_OFFSET + 0x30)#define TPAL_BitNumber 0x01#define CR_TPAL_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (TPAL_BitNumber * 4)要看懂上面有关 CR_TPAL_BB 的相关定义及理解为何这样写,恐怕又要涉及到 Contex 的另一个重要内容,即 bit-band,这个暂不深究,留待下次学习(说句闲话:bit- bank 我早就看到,就是没有兴趣深入了解,因为没觉得什么地方有用到,今天既已知其用 途,改日必去改看,所以只有动起来,才能学更多的东西)。这里只管当它是能够直 接设定该平是 0

9、 或都是 1 就行了。即根据实参决定 BKP_CR 中的 TPAL 究竟是 0 还是 1。可选参数为:#define BKP_TamperPinLevel_High (uint16_t)0x0000)#define BKP_TamperPinLevel_Low (uint16_t)0x0001)BKPBKP 的其他用途:的其他用途:BKP 的寄存器可以用来存储 RTC 校验值的校验寄存器。 在 PC13 管脚(当该管脚不用于侵入检测时)上输出 RTC 校准时钟,RTC 闹钟脉冲或 者秒脉冲 为方便测量,RTC 时钟可以经 64 分频输出到侵入检测引脚 TAMPER 上。通过设置 RTC 校验寄

10、存器(BKP_RTCCR)的 CCO 位来开启这一功能。 通过配置 CAL6:0位,此时钟可 以最多减慢 121ppm。下面以 RTC 的那个例子为例,来看一看如何用 Tamper(PC13)引脚来送出信号。/* 打开 PWR 和 KBP 模块的时钟信号 */RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);/*允许对 BKP 进行存取*/PWR_BackupAccessCmd(ENABLE);/* 禁止引脚的 TAMPER 功能*/BKP_TamperPinCmd(DISABLE); /* To o

11、utput RTCCLK/64 on Tamper pin, the tamper functionality must be disabled */* 允许时钟信号在 TAMPER 引脚输出*/BKP_RTCOutputConfig(BKP_RTCOutputSource_CalibClock);这样就可以了,也不复杂。需要说明的一点是,PC13 这个引脚不需要不需要被配置成输出引脚,但在这一时刻它是 起到输出作用的。BKP_RTCOutputConfig()这个函数中所用到的参数可以有这样的一些:BKP_RTCOutputSource_None不允许在 Tamper 引脚输出信号BKP_R

12、TCOutputSource_CalibClock在 Tamper 引脚上输出 RTC 时钟经 64 分频后的频率信号BKP_RTCOutputSource_Alarm在 Tamper 引脚上输出 RTC 报警信号RTCOutputSource_Second在 Tamper 引脚上输出秒信号 经测试,(1)在 Tamper 引脚上输出的信号,不受复位的影响!当然,这是有条件的,条件是复位时 不会执行到操作 RTC 的相关代码。(2) 在用 J-LINK 写入代码时,Tamper 引脚输出的信号,不受影响,照样输出!(3)断电之后再上电,Tamper 引脚送出的信号,不受影响,照样输出!(4) 去掉 VBAT 供电端的电力供应,断电,再上电,Tamper 引脚送出的信号消失!判断:前面的程序写的有关标志被保存在 BKP 区域,不断电不会消失。这是否对电 池的寿命有影响呢?毕竟送出波形也会有消耗的。最后用两个图来结束,分别是运行时的 BKP 内容和 POWER,RESET,CLOCK 的内容。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号