1. RTC 簡(jiǎn)介?
RTC:(Real_Time Clock):實(shí)時(shí)時(shí)鐘
HYM8563是一種低功耗實(shí)時(shí)時(shí)鐘(RTC)芯片,用于提供精確的時(shí)間和日期信息。它提供一個(gè)可編程的時(shí)鐘輸出,一個(gè)中斷輸出和一個(gè)掉電檢測(cè)器,所有的地址和數(shù)據(jù)都通過(guò)I2C總線接口串行傳遞。最大總線速度為 400Kbits/s,每次讀寫數(shù)據(jù)后,內(nèi)嵌的字地址寄存器會(huì)自動(dòng)遞增
以下是HYM8563芯片的主要特點(diǎn)和功能:
時(shí)鐘和日歷功能:HYM8563具有時(shí)鐘和日歷功能,可提供準(zhǔn)確的時(shí)間和日期信息。它支持年、月、日、星期、小時(shí)、分鐘和秒的顯示和計(jì)時(shí)。
電池供電:為了保持時(shí)間和日期的持久性,HYM8563芯片內(nèi)置了電池供電電路,即使在主電源斷開的情況下也能繼續(xù)運(yùn)行。
鬧鐘功能:芯片內(nèi)部集成了鬧鐘功能,可以設(shè)置鬧鐘時(shí)間,并在達(dá)到指定時(shí)間時(shí)觸發(fā)警報(bào)。
定時(shí)器功能:HYM8563芯片還具有定時(shí)器功能,可以設(shè)置計(jì)時(shí)器開始時(shí)間和計(jì)時(shí)時(shí)間,并在計(jì)時(shí)結(jié)束時(shí)觸發(fā)相應(yīng)的事件。
溫度補(bǔ)償:該芯片具有溫度補(bǔ)償功能,可以根據(jù)環(huán)境溫度對(duì)時(shí)鐘頻率進(jìn)行自動(dòng)修正,以保持時(shí)間的準(zhǔn)確性。
通信接口:HYM8563通過(guò)I2C(Inter-Integrated Circuit)接口與主控芯片或微處理器通信。這種接口簡(jiǎn)單易用,并且在許多嵌入式系統(tǒng)中得到廣泛應(yīng)用。
2. HYM8563時(shí)鐘調(diào)試?
2.1 原理圖?
2.2 驅(qū)動(dòng)?
kernel/drivers/rtc/rtc-hym8563.c
2.3 內(nèi)核配置?
CONFIG_RTC_HCTOSYS=y # 允許RTC時(shí)間設(shè)置到系統(tǒng)時(shí)間 CONFIG_RTC_HCTOSYS_DEVICE="rtc0" # 默認(rèn)同步時(shí)間的RTC設(shè)備 CONFIG_RTC_SYSTOHC=y # 允許系統(tǒng)時(shí)間設(shè)置到RTC CONFIG_RTC_SYSTOHC_DEVICE="rtc0" # 默認(rèn)同步時(shí)間的RTC設(shè)備
2.4 設(shè)備樹節(jié)點(diǎn)配置?
&i2c6 { status = "okay"; hym8563: hym8563@51 { compatible = "haoyu,hym8563"; reg = ?0x51??>; #clock-cells = ?0??>; clock-frequency = ?32768??>; clock-output-names = "hym8563"; pinctrl-names = "default"; pinctrl-0 = ?&rtc_int??>; interrupt-parent = ?&gpio0??>; interrupts = ?RK_PB0 IRQ_TYPE_LEVEL_LOW??>; }; }; &pinctrl { hym8563 { rtc_int: rtc-int { rockchip,pins = ?0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none??>; }; }; };
2.5 調(diào)試?
查看I2C總線是否掛載上RTC:
sudo i2cdetect -y 6
armsom@armsom:~$ sudo i2cdetect -y 6 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- 51 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
可以看到I2C總線/dev/i2c-6上掛載了一個(gè)有效的I2C設(shè)備:RTC,其地址為0x51。
3. RTC測(cè)試?
Linux系統(tǒng)下包含兩個(gè)時(shí)間:系統(tǒng)時(shí)間和RTC時(shí)間。
linux命令中的date和time等命令都是用來(lái)設(shè)置系統(tǒng)時(shí)間的,而hwclock命令是用來(lái)設(shè)置和讀寫RTC時(shí)間的。
armsom@armsom:~$ sudo hwclock -r # 查看硬件時(shí)間2024-02-27 17:16:05.631917+08:00 armsom@armsom:~$ date # 查看系統(tǒng)時(shí)間2024年 02月 27日 星期二 17:16:22 CST armsom@armsom:~$ sudo date -s "2024-02-27 18:45:00" # 重新設(shè)置系統(tǒng)時(shí)間2024年 02月 27日 星期二 18:45:00 CST armsom@armsom:~$ sudo hwclock -w # 同步系統(tǒng)時(shí)間到rtc上,掉電不丟失時(shí)間 審核編輯 黃宇
-
RTC
+關(guān)注
關(guān)注
2文章
527瀏覽量
66308 -
Rockchip
+關(guān)注
關(guān)注
0文章
72瀏覽量
18530
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論