SIFLI 芯片組的實(shí)時時鐘 RTC 是一個獨(dú)立的二進(jìn)制編碼 - 十進(jìn)制 (BCD) 定時器計數(shù)器。 RTC 內(nèi)核由計數(shù)器、預(yù)分頻器、時鐘分頻器、鬧鐘數(shù)據(jù)寄存器等組成。 與任何標(biāo)準(zhǔn) RTC 芯片一樣,嵌入式 RTC 可用于提供全功能的基于軟件的日歷以及鬧鐘功能。 然而,需要在軟件端而不是硬件端做更多的工作。當(dāng)使用 RTC 芯片時,只需要讀取或?qū)懭雴为?dú)的日期時間寄存器。在 SIFLI chpset 中,我們需要做的不止這些,因?yàn)椴淮嬖趩为?dú)的日期時間寄存器。
從睡眠/待機(jī)模式重置或喚醒 MCU 不會重新初始化時間一旦設(shè)置。 如果備用電池 (VBAT) 引腳上有備用電池,效果會更好。 SIFLI 芯片組的所有 VDD 都可以關(guān)閉,換句話說,整個 MCU 內(nèi)核可以完全關(guān)閉,但備用電池保持 RTC 和備用域運(yùn)行。因此,在斷電和睡眠模式期間時間不會改變或丟失。 SIFLI 嵌入式 RTC 的主要特性如下:
可編程預(yù)分頻器:分頻因子高達(dá)
RTC 驅(qū)動的詳細(xì) API,請參考Real timer clock 。
固件可以使用 menuconfig 工具啟用 RTC,并且通常保存在 C 頭文件中。 默認(rèn)情況下,配置保存為 rtconfig.h。
下面顯示了在一個項(xiàng)目頭文件中定義的標(biāo)志,該項(xiàng)目啟用了 RTC 支持。
配置完成后,用戶需要在所有需要訪問驅(qū)動程序的源代碼中包含頭文件。
以下代碼將初始化 RTC 寄存器,并在稍后用作時間戳。
以下代碼將使用 RTC 進(jìn)行報警服務(wù)。