当然,实时时钟(RTC)被认为是一种商品。但并非所有 RTC 都是一样的。事实上,您甚至不必在设计中使用分立式RTC。毕竟,微控制器具有内置的功能。但我想说的是,就整体解决方案尺寸和电源管理效率而言,使用分立式RTC实际上更有益,特别是如果您正在开发可穿戴设备等空间受限的应用。
以下是使用分立RTC进行设计有益的三个原因:
在节省电力的同时跟踪时间。集成RTC的微控制器确实会进入睡眠和低功耗模式,但时钟需要保持运行,以提供精确的计时和报警功能。保持RTC开启会导致微控制器产生漏电流,这确实会浪费一些能量。外部 RTC 允许您在微控制器断电时保持时钟运行。
使用具有集成功能的小型RTC时,节省其他外部组件。通过选择小尺寸的高度集成的RTC,您可以避免为这些功能设计专门的组件。例如,一些外部RTC具有内置的电源管理功能,当该功能检测到模拟或数字输入的变化时,该功能会触发RTC唤醒微控制器。另一个有用的内置功能是备用电池,当电池电压降至某个阈值以下时,它会启动。
延长使用具有超低静态电流的 RTC 时的电池寿命。通过将静态电流保持在纳安级,您可以在不耗尽电池电量的情况下获得始终在线的计时,这对于由小型纽扣电池供电的设计来说是一个特别重要的好处。
精确的计时,无需耗尽电池电量
可穿戴设备只是可以从分立式RTC中受益的应用的一个例子。医疗设备是另一个领域。例如,糖尿病患者的胰岛素笔由纽扣电池供电。如果这些笔中的微控制器必须始终保持打开状态才能使内置RTC运行,则电池将很快耗尽。电网中的功率继电器也是如此——如果断电,您仍然希望 RTC 继续运行,而带有内置备用电池的 RTC 可以提供这种保证。因此,实际上有各种各样的应用可以从分立式RTC中受益。
Maxim的新型MAX31341B超小尺寸毫微功耗RTC是高度集成的计时方案的一个例子,展示了使用分立RTC的优势。该 IC 的工作在低于 180nA 的计时电流下,采用 2mm x 1.5mm 12 引脚 WLP 封装(比目前市面上最小的 RTC 替代方案小 35%)。为了提高精度和灵活性,MAX31341B具有外部时钟同步功能,可与您选择的外部晶振同步。
该器件的电池备份功能允许您对器件进行编程,以便在电池电压降至以下(例如 2V)时,它将切换到带有内置涓流充电器的备用电池。在需要精确计时的地方,例如机顶盒甚至 AM/FM 收音机,具有此功能非常有用。它还具有电源管理功能,可以连接外部开关以中断RTC的输出。如果RTC检测到模拟输入相对于既定可编程阈值或数字施密特触发器输入的变化,则可以对IC进行编程,使开关跳闸并唤醒微控制器。这些内置功能无需使用外部电路,简化了设计并减少了物料清单 (BOM)。
我们进行一个简单的计算,看看(至少假设)MAX31341B如何支持较长的电池寿命。考虑一个典型的3V CR1216锂纽扣电池,额定值为34mAh,每年自放电率为1%(从3V降至2V)。如果电池放在架子上并且它供电的设备被拔下,那么这个电池在 2 年后可能会剩下 100V。给定MAX31341B在3V时的计时电流低于180nA,电池在降至26V之前仍可使用2年。想象一下,计时26年!当然,这不包括为显示时间所需的电路供电,但确实考虑了其用作内部时钟。
关键字:可穿戴设计 RTC
引用地址:
在可穿戴设计中使用离散实时时钟的3个理由
推荐阅读最新更新时间:2024-11-04 00:36
STM32L151内部RTC时钟
STM32L151系列CPU内置低功耗RTC日历。RTC时钟源可以是LSE、LSI、HSE。为了降低功耗,预分频器被分成两个预分频器。一个7为的异步预分频器,一个13位同步预分频器。 Fclk=32768/ void RTC_Config(void) { RTC_InitTypeDef RTC_InitStruct; RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE); PWR_RTCAccessCmd(ENABLE); #if defined RTC_CLOCK_SOURCE_LSI RTC_LSICmd(ENABLE); while(RCC_GetFlagStat
[单片机]
STM32开发笔记27:STM32L0低功耗设计-RTC模块1秒时钟的产生方法
单片机型号:STM32L053R8T6 在进行低功耗设计时,使用外部中断唤醒CPU是一个非常有用而且有效的方法,但是在某些特定的应用中,我们还希望CPU能够自己醒来去完成一些特定的操作,这就需要用到RTC模块,因为RTC模块在CPU进入低功耗状态后,是还可以工作的。使用RTC,也需要得到一个最小时间间隔,一般我们将其设置为1秒,本文介绍如何设置RTC的这个最小时间间隔。 先来看一下时钟图,RTC可以采用两个时钟模块,1个是外部的低频晶振,一般我们选择32.768KHz,这个比较精准;另一个则是内部的RC振荡器,是37KHz。 STM32L0的预分频器被分成两个预分频器。一个7位的异步预分频器(Asyn
[单片机]
STM32再学习——实时时钟(RTC)
RTC,是RealTimeCounter的缩写。在MCU中,其实是一组连续计数的计数器,各个产品及系列各不相同。因此,在相应的软件配置下,可提供时钟日历的功能。当然,修改这个计数器的值也就重新设置了系统当前的时间和日期。 本文引用地址:http://www.eepw.com.cn/article/182407.htm RTC只是一个时钟,但与RTC相连的有两个系统时钟,一个是APB1接口的PCLK1另一个是RTC时钟 。这样,RTC功能也就分为两个部分:第一部分,APB1接口部分,与APB1总线相连,MCU也就是通过这条总线对其进行读写操作。另一部,RTC核,由一系列可编程计数器组成,这部分又再细分为两个组件:预分频模块与
[单片机]
s3c6410的RTC在linux中的驱动(1)
如果对RTC硬件不熟悉的话,可以看上面这篇博客,讲述了硬件有关的内容。 1、先从整体上做些分析,大致看了下linux2.6.28driversrtc文件中的kconfig和Makefile文件,在Makefile文件中有如下内容: ifeq ($(CONFIG_RTC_DEBUG),y) EXTRA_CFLAGS += -DDEBUG endif obj-$(CONFIG_RTC_LIB) += rtc-lib.o obj-$(CONFIG_RTC_HCTOSYS) += hctosys.o obj-$(CONFIG_RTC_CLASS) += rtc-core.o rtc-core-y := class.o inte
[单片机]
STM32 RTC设置
RTC配置: 1.打开电源管理和备份寄存器时钟。这个在RCC配置中打开。 RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); 2.使能RTC和备份寄存器的访问(复位默认关闭)。 PWR_BackupAccessCmd(ENABLE); 3.检查电池是否断电过(是否RTC初始化过),通过的话直接跳到第4步。 if (BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5) { A. BKP_DeInit();//BKP寄存器全部设为缺省值 B. RCC_LSEConfig(RCC_LS
[单片机]
STM32 RTC晶振问题
STM32的RTC晶振,我百度全网,总结如下 软件: 在以前很多的程序里 在rtc中断里 都没有 RTC_WaitForLastTask();这个语句。 加上即可 硬件: 常规配置 6p晶振加两个10p电容 不要并联电阻并联了反而不起振 ======================================= 以下为另一个需要验证的软件解决方式 12.5p晶振启动时间比6P的长可能才是主要的原因 我的板上32.768K晶振(12.5P)也老是出现上电起振难的问题.看到楼主讲主换6P的,我找不到,后来想到也许是12.5P的晶振起动时所需时间要比6P的长,我对RTC的初始化作了一点改动... 这是KEIL RTC例程中的:
[单片机]
智能门锁的贴心管家:内置32.768kHz晶振的RTC
随着社会、科技、文化的进步,机械锁的安全性已经越来越不能满足百姓的需求,这时候智能锁应运而生。它比传统的机械锁安全性高,更具有优势。电子智能锁(包括密码锁、卡锁、指纹锁、虹膜锁等)作为新一代识别技术优势愈来愈明显,将逐渐取代机械锁成为锁具行业的新主角。
智能锁的定义和界定,在技术和功能层面是它的所谓"智能"特征,包括识别、记忆、学习等方方面面。大众概念意义下的智能锁即各类接触/非接触/遥控的钥/卡/扣码锁、以及密码键锁。
实 时时钟RTC(Real_Time Clock)在智能锁应用中扮演了一个比较重要的管家角色,开门、关门、正常、异常等等事件的发生都会产生一个时标信号,而这个时标信号则离不开RTC的
[安防电子]
关于STM32使用RTC唤醒停止模式的设置
工程中用到低功耗的控制,本来想使用待机模式,后来发现待机后所有IO口为高阻态,这样对于一些IO口控制的外设有些不妥,想过外部上拉一个电阻可是功耗不好控制放弃该方案选用停止模式。停止模式后IO口保持停止前的状态,但是不像待机模式那样可以轻松通过闹钟唤醒,只能通过中断线实现唤醒。为了实现RTC闹钟唤醒搜得一段代码,现贴过来分析一下。 void RTC_EXTI_INITIAL(FunctionalState interrupt_en_or_dis) { NVIC_InitTypeDef NVIC_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; //------------E
[单片机]