news 2026/7/14 21:55:56

RK3568 Android14 集成 HYM8563 外部 RTC (I2C接口)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RK3568 Android14 集成 HYM8563 外部 RTC (I2C接口)

RK3568 Android14 集成 HYM8563 外部 RTC (I2C接口)

前言

虽然 RK3568 SoC 内部自带了 RTC 控制器(rtc-rkw808),但在很多工业板卡或手持设备设计中,为了更低的待机功耗和更灵活的电池备份方案,硬件工程师往往会选择外挂一颗低功耗 RTC 芯片。
HYM8563 (与 BM8563、PCF8563 寄存器兼容)是最常见的一种 I2C 接口 RTC 芯片。本文将记录在 RK3568 Android 14 平台上,如何驱动这颗芯片,并使其成为系统的主 RTC。

一、 硬件原理与连接

1.1 硬件接口

HYM8563 是一颗标准的 I2C 从设备。
通讯接口:I2C (SCL/SDA)
设备地址:0x51 (7-bit address)
中断引脚:INT (输出低电平有效,非常重要,用于实现定时开机/唤醒功能)

1.2 原理图参考

假设我们将 RTC 挂载在 I2C5 总线上,中断脚连接到 GPIO0_D3。

HYM8563与RK3568引脚对应表

BM8563引脚RK3568引脚功能说明
SCLI2C5_SCL_M0I2C时钟信号线
SDAI2C5_SDA_M0I2C数据信号线
INTGPIO0_D3中断输出,用于唤醒主控
VCCVCC_3V3供电(纽扣电池或常电)

二、 内核驱动配置 (Kernel Config)

Rockchip 的 Linux 5.10 / 6.1 内核源码中已经包含了该芯片的通用驱动。

2.1 检查 Menuconfig

执行 make menuconfig,确保勾选以下选项:

Device Drivers--->[*]Real Time Clock---><*>Philips PCF8563/Epson RTC8564/Haoyu HYM8563

对应的 .config 配置项为:

CONFIG_RTC_DRV_HYM8563=y

注意:通常驱动源码位于 drivers/rtc/rtc-hym8563.c。

2.2 设备树配置 (DTS)

这是集成的核心步骤。我们需要在对应的 I2C 节点下添加 RTC 设备,并指定中断引脚。
打开 arch/arm64/boot/dts/rockchip/rk3568-your-board.dts:

/* 启用 I2C3 控制器 */&i2c5{status="okay";/* 添加 RTC 节点 */hym8563:hym8563@51{status="okay";compatible="haoyu,hym8563";reg=<0x51>;pinctrl-names="default";/* 配置中断脚: GPIO0_D3 *//* RK_PD3 需要在头文件中查找或直接写数字,通常推荐使用宏定义 */pinctrl-0=<&rtc_int>;interrupt-parent=<&gpio0>;interrupts=<RK_PD3 IRQ_TYPE_LEVEL_LOW>;};};/* 配置引脚复用(如果该引脚默认为其他功能) */&pinctrl{rtc{rtc_int:rtc-int{rockchip,pins=<0RK_PD3 RK_FUNC_GPIO&pcfg_pull_up>;};};};

三、 编译与验证

编译内核并烧录 boot.img 和 dtbo.img (如有)。

3.1 功能验证 (Linux 层)

# 读取硬件时间 hwclock-r-f/dev/rtc0 # 将系统时间写入硬件 RTC date-s"2025-05-01 12:00:00"hwclock-w-f/dev/rtc0 # 断电重启,再次读取,检查时间是否保存

3.2 唤醒测试 (关键)

HYM8563 的中断脚连接到 GPIO,主要为了支持 “设置闹钟唤醒系统”(深度休眠唤醒)。
设置定时唤醒:

echo+30>/sys/class/rtc/rtc0/wakealarm(表示30秒后触发中断)

让系统进入休眠:

echo mem>/sys/power/state

观察:
30秒后,系统应该自动亮屏或串口打印唤醒日志。如果无法唤醒,请检查:
INT 引脚的硬件连接是否正确。
DTS 中 interrupts 极性配置是否为 IRQ_TYPE_LEVEL_LOW。
示波器测量 INT 脚是否有电平拉低动作。

四.、常见问题 (FAQ)

Q1: 读取时间报错 “RTC_RD_TIME: Invalid argument”
原因:RTC 芯片内部寄存器数据非法(通常是电池没电或初次上电未初始化,Voltage Low 标志位被置起)。
解决:写入一次正确时间即可清除标志位:hwclock -w。

Q2: 系统重启后时间变回 1970 年
原因:纽扣电池没电,或者板子上并没有给 VCC 脚接常电。
解决:测量电池电压;检查 hctosys 是否开启(内核配置 CONFIG_RTC_HCTOSYS=y)。

Q3: I2C 通讯失败 (Timeout / No ack)
原因:地址错误(7位地址是 0x51,8位读地址是 0xA3),或者 I2C 上拉电阻缺失。
解决:检查原理图,确认 SDA/SCL 是否有 4.7k 上拉电阻。

总结

集成 HYM8563 相对简单,主要是标准的 I2C 设备调试。但在 Android 14 上,需要额外注意 aliases 别名 的设置,确保系统将 HYM8563 识别为 rtc0,否则系统可能依然读取 SoC 内部的默认时间,导致掉电时间不准。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 17:22:29

C#字典操作与类对象全解析

《字典》字典&#xff1a;包含了key&#xff08;键&#xff09;和value&#xff08;值&#xff09;&#xff0c;简称键值对&#xff0c;键是唯一的&#xff0c;值可以是任意类型的&#xff0c;字典是没有顺序的&#xff0c;只能通过键取值。 创建字典的方法 // Dictionary<…

作者头像 李华
网站建设 2026/7/14 21:17:49

智能脱机门禁考勤系统配置方案,核心设备为DAIC-KQ-ZW脱机考勤机,支持指纹/密码识别,可存储1000用户信息和5.5万条记录。系统具备U盘导出Excel报表功能,无需复杂软件,适合中小企业使用。

智能脱机门禁考勤系统配置清单及详细参数说明。&#x1f4cc; 设备型号概览设备类型型号主要功能脱机考勤机DAIC-KQ-ZW指纹/密码识别&#xff0c;U盘导出报表考勤管理系统DAIC-KQ3.0考勤软件管理门禁考勤服务器DAIC-MJ-SF门禁考勤服务支持指纹采集仪DAZW-iRead指纹信息采集人脸…

作者头像 李华
网站建设 2026/7/13 6:26:51

前端—— 前端错误监控与异常处理机制

在复杂的前端应用中&#xff0c;错误监控和异常处理是保障用户体验的重要环节。本文将介绍如何建立完善的前端错误监控体系。 1 JavaScript运行时错误捕获 // 全局错误捕获 window.addEventListener(error, (event) > {console.error(全局错误:, event.error)// 上报错误信…

作者头像 李华
网站建设 2026/7/14 17:35:38

这个AI Agent工具让中小企业效率提升40%,零代码开发,程序员都惊呆了

“去年砸20万上的智能系统&#xff0c;现在成了摆设——技术人员招不来也留不住&#xff0c;后台操作没人会&#xff0c;客户咨询还是得靠人工硬扛。”在近期一场中小企业数字化转型沙龙上&#xff0c;做机械配件的王总一开口&#xff0c;就戳中了满堂老板的痛点。 这种“投入…

作者头像 李华
网站建设 2026/7/13 6:15:20

【AI】LLM强化学习不稳定之谜

如今&#xff0c;强化学习&#xff08;RL&#xff09;已成为提升大语言模型&#xff08;LLM&#xff09;复杂推理与解题能力的关键技术范式&#xff0c;而稳定的训练过程对于成功扩展 RL 至关重要。由于语言具有强烈的上下文属性&#xff0c;LLM 的 RL 通常依赖序列级奖励 ——…

作者头像 李华