SIFLI 芯片组的实时时钟 RTC 是一个独立的二进制编码 - 十进制 (BCD) 定时器计数器。 RTC 内核由计数器、预分频器、时钟分频器、闹钟数据寄存器等组成。 与任何标准 RTC 芯片一样,嵌入式 RTC 可用于提供全功能的基于软件的日历以及闹钟功能。 然而,需要在软件端而不是硬件端做更多的工作。当使用 RTC 芯片时,只需要读取或写入单独的日期时间寄存器。在 SIFLI chpset 中,我们需要做的不止这些,因为不存在单独的日期时间寄存器。
从睡眠/待机模式重置或唤醒 MCU 不会重新初始化时间一旦设置。 如果备用电池 (VBAT) 引脚上有备用电池,效果会更好。 SIFLI 芯片组的所有 VDD 都可以关闭,换句话说,整个 MCU 内核可以完全关闭,但备用电池保持 RTC 和备用域运行。因此,在断电和睡眠模式期间时间不会改变或丢失。 SIFLI 嵌入式 RTC 的主要特性如下:
可编程预分频器:分频因子高达
RTC 驱动的详细 API,请参考Real timer clock 。
固件可以使用 menuconfig 工具启用 RTC,并且通常保存在 C 头文件中。 默认情况下,配置保存为 rtconfig.h。
下面显示了在一个项目头文件中定义的标志,该项目启用了 RTC 支持。
配置完成后,用户需要在所有需要访问驱动程序的源代码中包含头文件。
以下代码将初始化 RTC 寄存器,并在稍后用作时间戳。
以下代码将使用 RTC 进行报警服务。