跳到主要内容

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

内容

术语和定义

ics.集成电路
lsb最低有效位
清债信托公司实时计数器

参考

  1. SLG46580/82/83, Datasheet, 雷竞技电竞平台Dialog Semiconductor。
  2. AN-CM-233,带GreenPak的外部振荡器解决方案,应用笔记,对话框半导体。雷竞技电竞平台
  3. AN-CM-253 RTC二进制计数器,GreenPak设计文件,对话半导体雷竞技电竞平台

作者:克雷格卡里

功能解释

RTC是由15位和32位计数器显示图1图2.通过分析数据表的宏小区图图2,我们可以了解此块的配置寄存器以及关联的矩阵连接。

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

这个区块的操作中心围绕32位时间计数器和32位报警DCMP说明图2。操作很简单:对于其时钟的每个上升沿,在时间计数器内保持的计数值寄存在一个直到它到达232-1.当达到这个值时,下一个时钟信号导致计数器“溢出”为零并重新开始计数。当时间计数器的寄存器与报警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晶体振荡器对。通过为“init”选择“32767”。计数器分频器数据“RTC属性窗口的部分,用户可以创建1秒脉冲以时钟32位时间计数器。这使得与RTC块创建任意定时信号的过程差异,因为您可以简单地计算所需的延迟,并相应地设置“警报DCMP值:”寄存器。

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

图3:影子缓冲寄存器内容

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

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

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

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

把我2C用周期性信号读写写作

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

通过将“RTC DCMP OUT”信号送至“同步”输入,如图所示图4,您可以创建5秒钟脉冲所示图6.请注意,这个信号是使用外部32.768kHz振荡器产生的。这个时钟周期可以修改为各种应用,通过改变外部时钟速度或Alarm DCMP值显示雷竞技安卓下载图5

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

有时,设计师可能想要执行我2C读取检查其定期信号的当前计数。这要求用户遵循如下所示的过程:

  • 遵循先前概述了用于生成定期信号的过程。
  • 通过将reg <989>更改为“0”来初始化RTC块的读模式。
  • 将触发器从“sync”更改为i2C通过将REG <990>设置为“1”触发。
  • 执行I.2C读取所需的地址。
  • 通过将REG <990>设置为“0”,将触发器恢复为“同步”。
  • 将阴影缓冲区的内容重置为默认值。
  • 将RTC块设置为通过将REG <989>更改为“1”来写入模式。

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

行业应用

本应用笔记中说明的功能可以为许多不同的应用程序定制,从蓝牙信标到家用电子产品。雷竞技安卓下载例如,您可能需要一个温度传感器,即您想要每小时唤醒到样本数据。同样,您可能希望将蓝牙信标放在睡眠状态以节省电力。此块可以定期唤醒蓝牙设备以将其存在传输到附近的蓝牙兼容设备。

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

当通过32.768KHz振荡器时计时3.3V时,使用RTC块将SLG46580 / 82/83的电流消耗增加约250NA。请注意,如果适用,此值不会包括由于时钟源和GPIO切换而导致的电流消耗。有关创建外部振荡器电路的附加信息格林帕克, 请参见AN-CM-233

结论

RTC块为设计人员提供低功耗和经济高效的定时解决方案,以创建扩展信号和短期周期性警报。与另一个相结合时格林帕克逻辑元素,该块为设计人员提供了增加的可配置性,因为他们试图最小化电流消耗,减少PCB尺寸,并降低其应用程序的BOM成本。雷竞技安卓下载