跳过主要内容

An - cm -253 RTC二进制计数器简介

内容

术语和定义

ICs集成电路
lsb最低有效位
清债信托公司实时反

参考文献

  1. SLG46580/82/83, Datasheet, yabo国际娱乐Dialog Semiconductor。
  2. AN-CM-233, GreenPAK外部振荡器解决方案,应用说明,Dialog半导体。yabo国际娱乐

作者:克雷格·卡里

功能解释

RTC是由15位和32位计数器显示图1图2.通过分析数据表的宏单元图图2,我们可以更多地了解这个块的配置寄存器以及相关的矩阵连接。

图1:RTC框图- GreenPAK设计器
图2:RTC Counter Macrocell - SLG46580/82/83 Datasheet

这个区块的操作中心围绕32位时间计数器和32位报警DCMP说明图2操作很简单:对于时钟的每一个上升沿,时间计数器寄存器内的计数值增加1,直到达到2321。当达到这个值时,下一个时钟信号导致计数器“溢出”为零并重新开始计数。当时间计数器的寄存器与报警DCMP寄存器匹配时,“RTC DCMP Out”信号将升高。RTC块操作在32位配置如上所述,当RTC的32位计数器被时钟,通过mux选择,由“RTC时钟”矩阵输出。

请注意,RTC的时钟输入应该有一个超过1µs的有源高脉宽。假设占空比为50%,该规范允许输入时钟频率小于或等于500khz。

回顾图2,我们看到在RTC宏单元中包含了另一个15位计数器。这个计数器的输出,当被mux选择为32位时间计数器的时钟时,成为47位计数器配置的15个最低有效位(lsb)。15位计数器在2处溢出15-1的方法与前面描述的32位计数器相同。当15位计数器溢出到“0”时,15位计数器时钟32位计数器和RTC块通过“RTC CNT DIV Out”输出“1”到矩阵。

15位计数器的一个关键特征是它与32.768 kHz晶体振荡器配合良好。通过为初始化选择“32767”。计数器分压器数据”部分的RTC属性窗口,用户可以创建1秒脉冲时钟32位计数器时间。这使使用RTC块创建任意计时信号的过程变得简单,因为您可以简单地以秒为单位计算所需的延迟,并设置相应的“Alarm DCMP value:”寄存器。

如果你再看一看图1图2,你可以看到一个名为“SYNC”的矩阵输出,它连接到我们所说的“阴影缓冲区”。这个48位缓冲区可用于对15位和32位计数器进行读写操作。图3显示位于I处的阴影缓冲区的寄存器内容2C地址从0x75到0x7A。

图3:阴影缓冲区寄存器内容

寄存器<989>控制阴影缓冲区数据传输的方向。当“SYNC”上升沿触发时,一个数字“1”将RTC块配置为用存储在阴影缓冲区中的数据加载计数器寄存器。或者,寄存器<989>中的数字“0”存储影子缓冲区寄存器中每个计数器的当前计数值。

这些寄存器传输被同步到寄存器<990>所选择的两个源之一:如上所述的“同步”矩阵输出的上升沿或I2C触发信号。数字“0”选择“同步”触发器,反之亦然。我的2C触发信号是通过读取(当寄存器<989>为“0”)或写入(当寄存器<989>为“1”)到任何影子缓冲区寄存器地址内部产生的。

影子寄存器保证了一个稳定的I2当通过I触发时,从RTC计数寄存器读取2C. If you were to perform an I2C直接读取计数器寄存器,寄存器内容可能在读取时间内增加,导致错误的I2C阅读。通过将寄存器内容复制到阴影缓冲区,GreenPAK允许RTC计数器在用户读取阴影缓冲区寄存器时继续操作。

同步触发和我2我们建议停止RTC的时钟,以确保正确的数据传输。请参阅SLG46580/82/83勘误表文件为更多的信息。

把我2C周期信号读写

要用RTC块创建一个周期信号,设计者需要配置RTC块,使其每次32位计数匹配报警DCMP寄存器时复位。不用I的时候2C,重置计数器需要使用“SYNC”输入将初始计数值从阴影缓冲区转移到15位和32位计数器。

通过输入“RTC DCMP OUT”信号到“SYNC”输入,如图所示图4,您可以创建5秒时钟脉冲显示图6.请注意,这个信号是使用外部32.768kHz振荡器产生的。这个时钟周期可以修改为各种应用,通过改变外部时钟速度或Alarm DCMP值显示亚博国际官网平台网址图5

图4:使用RTC的五秒周期信号设计
图5:五秒时钟的RTC属性
图6:RTC五秒时钟脉冲

有时候,设计师可能想要执行一个I2C读取以检查其周期信号的电流计数。这就要求用户遵循如下程序:

  • 按照前面介绍的产生周期信号的步骤。
  • 通过将reg <989>更改为“0”来初始化RTC块的读模式。
  • 将触发器从“SYNC”改为“I”2C触发器通过设置reg<990>为“1”。
  • 执行我的2C读取所需的地址。
  • 将reg <990>设置为“0”,将触发器恢复为“SYNC”。
  • 将阴影缓冲区的内容重置为默认值。
  • 通过将reg <989>设置为“1”,将RTC块设置为写入模式。

按照这些步骤,您应该能够在生成周期信号的同时读取RTC的寄存器内容。重要的是要注意,反馈机制在I2C读取。如果时间计数器寄存器的增量高于警报DCMP寄存器在I期间2C读取时,“同步”输入的上升沿不会触发计数器复位。这种行为可以通过分析每个I的结果来检测和纠正2C阅读。如果任何读数接近报警DCMP比较值,并且没有足够的时间将设备的设置复位到其原始的周期行为,软件可以手动生成I2C命令触发RTC复位。

工业应用

本应用说明中解释的功能可以为许多不同的应用定制,从蓝牙信标到家用电子产品。亚博国际官网平台网址例如,您可能有一个温度传感器,希望每小时唤醒一次以采样数据。类似地,你可能想让蓝牙信标处于休眠状态以节省电力。该块可以定期唤醒蓝牙设备,将其存在发送到附近的蓝牙兼容设备。

这个模块还可以记录各种电子设备的预期寿命。例如,许多烟雾探测器和一氧化碳报警器的寿命约为10年。该模块为设计人员提供了一个简单的、可配置的、低功耗的定时解决方案,以提醒房主需要更换他们的设备。

当32.768kHz振荡器时钟在3.3V时,RTC块的使用增加了SLG46580/82/83的电流消耗约250nA。请注意,这个值不包括由于时钟源和GPIO开关造成的当前消耗,如果适用的话。有关使用的外部振荡器电路的创建的附加信息GreenPAK,请参阅一个- cm - 233

结论

RTC模块为设计人员提供了低功耗和低成本的定时解决方案,以创建扩展信号和短周期警报。当与另一个结合时GreenPAK逻辑元素,该块为设计人员提供了增加的可配置性,因为他们试图最小化电流消耗,减少PCB尺寸,并降低其应用程序的BOM成本。亚博国际官网平台网址