RK3568平台 (时间篇)调试RTC外挂芯片hym8563

一.简介

实时时钟的缩写是RTC(Real_Time Clock)。RTC 是集成电路,通常称为时钟芯片。 实时时钟芯片是日常生活中应用最为广泛的消费类电子产品之一。 它为人们提供精确的实时时间,或者为电子系统提供精确的时间基准,目前实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源。 有些时钟芯片为了在主电源掉电时,还可以工作,需要外加电池供电。

二.硬件原理图

 从原理图可知,外部RTC使用的是外部纽扣电池供电,挂载在i2c3上,使用外部晶振作为时钟源

三.DTS文件中增加i2c3节点的配置

&i2c3{
    pinctrl-names = "default";
    pinctrl-0 = <&i2c3m0_xfer>;
	status = "okay";
	hym8563: hym8563@51 {
		compatible = "haoyu,hym8563";
		reg = <0x51>;
		interrupt-parent = <&gpio0>;
		interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&rtc_int>;
		#clock-cells = <0>;
		clock-frequency = <32768>;
		clock-output-names = "xin32k";
	};
};

四.内核添加对hym8563的支持

先cd到kernel目录下,然后执行make menuconfig打开configuration,如下图所示:

一般内核添加了对hym8563的支持,所以不需要修改configuration。如果内核没有添加支持,选中Haoyu Microelectronics HYM8563,然后键盘输入‘y’即可选中。

五.调试

[root@RK356X:/]# i2cdetect -l
i2c-6   i2c             DesignWare HDMI                         I2C adapter
i2c-4   i2c             rk3x-i2c                                I2C adapter
i2c-2   i2c             rk3x-i2c                                I2C adapter
i2c-0   i2c             rk3x-i2c                                I2C adapter

使用i2cdetect -l 查看rk3568上的iic设备,发现并没有iic3。

解决:查看dts发现

&i2c3{
	status = "disabled";
};

删除掉这个多余的iic3。

[root@RK356X:/]# i2cdetect -l
i2c-3   i2c             rk3x-i2c                                I2C adapter
i2c-6   i2c             DesignWare HDMI                         I2C adapter
i2c-4   i2c             rk3x-i2c                                I2C adapter
i2c-2   i2c             rk3x-i2c                                I2C adapter
i2c-0   i2c             rk3x-i2c                                I2C adapter

可以找到iic3.

再执行i2cdetect -y 3检测hym8563是否在i2c总线上:

[root@RK356X:/]# i2cdetect -y 3
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 

执行结果表示i2c3总线上有个地址为0x51的从设备。

说明RTC已经挂载在IIC3上面了。

查看rtc加载日志:

 六.RTC时间设置:

hwclock查看RTC时间
date -s "2023-07-21 16:00:00" 

显示时间

测试:

在不接外部供电的情况下,长时间放置,查看RTC实时时钟的时间是否变化很大。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式_笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值