各人在GD32 MCU应用时,,,,,,,是否会遇到以下应用需求:希望在MCU掉电时生涯一定的数据或标记,,,,,,,用以纪录一些要害的数据。。。。。
以GD32E103为例,,,,,,,数据的存储介质可以选择内部Flash或者备份数据寄存器。。。。。
如下图所示,,,,,,,片内Flash具有10年的生涯寿命,,,,,,,10万次擦写,,,,,,,页擦除时间在3.5ms,,,,,,,字写入时间在40us左右,,,,,,,Flash特征决议Flash需要先擦后写,,,,,,,擦写要求的电压规模为供电规模:1.8V-3.6V.

GD32 MCU基本都支持备份数据寄存器,,,,,,,GD32E103系列支持84字节数据寄存器,,,,,,,可以在VDD掉电,,,,,,,VBAT有电的情形下举行数据生涯,,,,,,,备份数据寄存器不需要擦除可以直接写入,,,,,,,数据更新速率较快。。。。。
下面为各人先容数据掉电生涯的实现,,,,,,,电源掉电的检测可以选择使用LVD低压检测功效,,,,,,,如下图所示,,,,,,,LVD 的功效是检测 VDD / VDDA 供电电压是否低于低电压检测阈值,,,,,,,该阈值由电源控制寄存器(PMU_CTL) 中的 LVDT[2:0]位举行设置。。。。。 LVD 通过 LVDEN 置位使能,,,,,,,位于电源控制和状态寄存器(PMU_CS) 中的 LVDF 位体现低电压事务是否泛起,,,,,,,该事务毗连至 EXTI 的第 16 线,,,,,,,用户可以通过设置 EXTI 的第 16 线爆发响应的中止。。。。。

使用LVD检测到掉电事务后,,,,,,,从LVD阈值到PDR电压之间会有一个时间窗口,,,,,,,可用以实现掉电数据生涯,,,,,,,这个时间由掉电速率决议,,,,,,,因而对数据生涯的时间要求很高。。。。。若系统供电只有VDD供电,,,,,,,VBAT外部未接电池或者需要生涯的数据较量多的情形下,,,,,,,可以选择使用内部Flash作为存储介质,,,,,,,为了节约数据更新的时间,,,,,,,可以接纳双备份的方法,,,,,,,在系统运行的历程中,,,,,,,先擦除一个备份,,,,,,,检测到掉电事务后,,,,,,,节约擦除时间,,,,,,,直接向备份区域写入更新数据;;;;;;;若系统供电VBAT外接了电池,,,,,,,且更新的数据小于84字节,,,,,,,可以选择将数据写入备份数据寄存器,,,,,,,其更新速率更快。。。。。另外若是评估下来掉电时间过快来缺乏更新数据的话,,,,,,,可以从硬件上减缓掉电速率,,,,,,,以预留更长的时间窗口。。。。。