RTC芯片简介

RTC的英文全称是Real-Time Clock,翻译过来是实时时钟芯片。RTC芯片是一种能提供日历/时钟(世纪、年、月、时、分、秒)及数据存储等功能的专用集成电路。适合于一切需要微功耗及准确计时的场合。广泛应用于嵌入式领域:车载电子、手机、数码相机、MP3、MP4、电子词典等。

硬件简介

RK3568开发板采用的RTC是HYM8563芯片,HYM8563是一款低功耗CMOS实时时钟/日历芯片。可计时基于 32.768kHz 晶体的秒,分,小时,星期,天,月和年。工作电压范围:1.0~5.5V,低休眠电流:典型值为 0.25μA(VDD =3.0V, TA =25°C)。

DTS驱动配置

板级使能RTC,配置位置:arch/arm64/boot/dts/rockchip/aukun-utx-rk3568jt.dtsi

  1. &i2c5{
  2. status>rtc@51{
  3. status>compatible>reg>};
  4. };

实验调用

测试工具

我们通常在文件系统用i2c-tools调试I2C设备。常用的几个命令:i2cdetect(检测I2C器件工具) 、i2cdump(查看寄存器值工具) 、i2cget(读取寄存器值工具)、 i2cset(设置寄存器值工具)。

  1. sudo apt install i2c-tools

RTC驱动的加载

查询rtc设备驱动

  1. ls /dev/rtc\*

如驱动加载成功,则会生成设备文件的描述:rtc0 RTC测试 - 图1

I2C挂载的设备

由设备树可知,RTC挂载在I2C5总线上

  1. i2cdetect -a 5 ##0x51地址上UU表示已经被RTC驱动占用

RTC测试 - 图2

同步RTC时间

1、查看系统时间:

  1. date

2、查看RTC硬件时间:

  1. hwclock -f /dev/rtc0
  2. ```![](/uploads/projects/corerk3568jt/202506/184ac85991d5b554.png)
  3. 3、将硬件时间同步至系统时间
  4. ```bash
  5. hwclock -s #将硬件时间同步到系统时间

再次查看RTC时间已经与系统同步 RTC测试 - 图3