0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解决RK806+RK3588休眠异常!从硬件特性到软件优化的完整方案

jf_44130326 来源:Linux1024 2026-02-09 16:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式开发中,电源管理的稳定性直接决定了设备的可靠性。近期,RK3588平台搭配RK806电源管理芯片(PMIC)时,出现了二次休眠异常的问题——第一次休眠唤醒正常,再次休眠后RK806各路电源仍有输出,仿佛未进入休眠状态。这一问题不仅影响设备功耗控制,还可能导致硬件稳定性风险。今天我们就从问题根源出发,拆解解决方案,同时分享软件层面的预防性优化措施。

wKgZO2kah4eAUH6YAAIEvVBqYp4738.png

一、问题复盘:二次休眠异常的关键现象

开发者在调试RK3588+RK806硬件方案时,遇到了一个必现的休眠问题:

1.首次休眠与唤醒过程正常,设备能按预期进入低功耗状态并恢复工作;

2.第二次触发休眠后,虽然检测到PMIC_SLEEP信号已正常拉高(表明休眠指令已传递),但RK806的各路电源仍持续输出,未进入休眠模式;

3.排查后发现,问题源于客户对设备树(dts)的不当配置——强制将RK806PLDO6电源在休眠时关闭。

这一配置为何会引发如此严重的异常?核心原因在于PLDO6的硬件特性:它并非普通的外设供电通道,而是为RK806芯片内部逻辑电路供电的关键电源。当PLDO6被关闭时,PMIC的内部控制逻辑失去供电,导致整个电源管理模块工作紊乱,即便接收到休眠指令,也无法正常执行电源关闭操作。

二、软件优化:前置屏蔽风险接口,从源头避免误操作

为了防止其他开发者因不了解硬件特性而配置失误,从软件层面制定了针对性优化方案,通过修改内核驱动代码,彻底屏蔽PLDO6的关闭接口。

1.驱动代码修改核心思路

drivers/regulator/rk806-regulator.c文件中,核心修改点在于为PLDO6单独定义电源操作集合(regulator_ops),移除可能导致其关闭的功能接口:

原方案中,PLDO6与其他LDO(低压差稳压器)共用rk806_ops_ldo操作集合,该集合包含enable/disable接口,存在被误调用关闭的风险;

新方案新增rk806_ops_ldo6操作集合,保留电压调节(set_voltage)、休眠电压配置(set_suspend_voltage)等必要功能,删除enable/disable接口,从驱动层杜绝关闭PLDO6的可能性。

2.关键代码对比

修改前(PLDO6配置)

修改后(PLDO6配置)

使用rk806_ops_ldo操作集合,包含enable/disable接口

使用rk806_ops_ldo6操作集合,无enable/disable接口

RK806_REGULATOR("PLDO_REG6", "vcca", RK806_ID_PLDO6, rk806_ops_ldo, ...)

RK806_REGULATOR("PLDO_REG6", "vcca", RK806_ID_PLDO6, rk806_ops_ldo6, ...)

新增的rk806_ops_ldo6操作集合具体实现如下,仅保留PLDO6正常工作必需的功能:

staticconststructregulator_ops rk806_ops_ldo6 = {  .list_voltage    = regulator_list_voltage_linear_range,  .map_voltage     = regulator_map_voltage_linear_range,  .get_voltage_sel   = rk806_get_voltage_sel_regmap,  .set_voltage     = rk806_set_voltage,  .set_voltage_time_sel = regulator_set_voltage_time_sel,  .set_ramp_delay   = rk806_set_ramp_delay,  .set_suspend_voltage = rk806_set_suspend_voltage_range,  .resume       = rk806_regulator_resume,};

3.优化效果验证

经过修改后,无论开发者如何配置设备树,都无法通过软件接口关闭PLDO6。实测结果显示:

RK806+RK3588平台的二次休眠问题完全解决,多次休眠唤醒循环后,电源管理模块仍能正常响应;

PLDO6持续为PMIC内部逻辑供电,避免了因供电中断导致的工作异常,设备功耗控制恢复正常。

三、长期建议:硬件设计与软件规范双管齐下

此次问题的根源,本质是硬件关键电源可被软件误关闭的设计矛盾。为了从根本上避免类似问题,我们提出两点核心建议:

1.硬件层面:关键电源设计为长供电

建议RK806芯片后续版本在硬件设计上优化:将PLDO6这类为内部逻辑供电的关键电源,设计为芯片上电后自动使能、且无法通过软件关闭的长供电模式。通过硬件逻辑锁定供电状态,彻底杜绝软件误操作导致硬件异常的可能性,降低开发者的配置门槛。

2.软件层面:明确标注风险接口,建立配置规范

在驱动文档和芯片手册中,重点标注PLDO6的特性,明确禁止关闭的要求,避免开发者因信息差导致误配置;

对于类似可能影响硬件稳定性的接口,在软件层面增加保护逻辑,例如在调用disable接口时输出警告日志,并拒绝执行操作,同时提供详细的错误原因指引。

四、总结

RK806+RK3588的休眠异常问题,最终通过软件屏蔽风险接口的方式快速解决,但其背后反映的硬件特性与软件配置匹配问题,值得每一位嵌入式开发者重视。在实际开发中,我们不仅要关注代码逻辑的正确性,更要深入理解硬件的设计原理——尤其是电源管理、时钟控制等核心模块的特性,才能从源头规避风险,保障设备的稳定运行。

如果您在RK系列芯片开发中遇到类似问题,欢迎在评论区交流经验,我们也会持续分享嵌入式开发中的关键技术与避坑指南!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5210

    文章

    20679

    浏览量

    337354
  • 电源管理
    +关注

    关注

    117

    文章

    8664

    浏览量

    148263
  • RK3588
    +关注

    关注

    8

    文章

    592

    浏览量

    7589
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读

    行业类应用产品;RK3588S EVB 面向高端平板、AR/VR、个人移动互联网设备等消费类电子产品。 1. RK3588 EVB:高性能 多接口 RK3588 EVB采用RK3588
    的头像 发表于 09-22 15:54 2.3w次阅读
    瑞芯微<b class='flag-5'>RK3588</b>开发板<b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解读

    RK3588 EVB开发板原理图讲解【七】

    目录1. RK3588 方案RK806 管理开机按键概述2. RK806 对 PWRON 按键的描述3. RK806 的 pin32(V
    发表于 02-28 08:51

    RK3588 EVB开发板原理图讲解【八】 RK3588 power Tree

    进行电源完整性分析 下面实际分析RK3588电源分布电源架构设计方案说明​ 系统采用双电源输入架构,支持以下两种标准供电接口: ​主电源接口:配置标准D型电源插座(DC JACK)及AXT系列工业
    发表于 03-01 11:38

    RK3588 EVB 开发板介绍

    RK3588 EVB:高性能 多接口RK3588 EVB采用RK3588芯片,RK806-2双PMIC的供电方案;存储采用 LPDDR4X
    发表于 03-16 16:39

    RK3588 EVB 用户使用指南

    本文档主要介绍 RK3588 EVB 基本功能和硬件特性、多功能硬件配置、软件调试操作使用方法,旨在帮助调试人员更快、更准确地使用
    发表于 03-16 16:57

    RK3588RK3588S之间的区别是什么

    RK3588RK3588S的区别: RK3588S是RK3588的低配版,其区别类似RK3568跟RK
    发表于 03-10 19:22 3w次阅读

    RK3588芯片参数介绍 RK3588芯片的八大应用方向

    RK3588芯片的八大应用方向,包括智能座舱、智慧大屏、虚拟/增强现实、边缘计算、IPC、NVR、高端平板及ARM PC,还围绕八大方向展出了多款搭载RK3588的应用终端,全方位算力、感知能力、显示能力及连接能力展示
    发表于 08-26 15:32 1.4w次阅读

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI
    的头像 发表于 06-10 10:31 8175次阅读
    <b class='flag-5'>RK3588</b>-MIPI屏幕调试笔记:<b class='flag-5'>RK3588</b>-MIPI-DSI

    rk3588rk3588s的区别

    rk3588rk3588s的区别 Rockchip是一家专业的半导体公司,成立于2001年,总部位于中国深圳,主要从事集成电路的设计、开发和销售。他们的热门产品RK3588RK3588
    的头像 发表于 08-15 16:44 2.1w次阅读

    RK35883588s的区别

    RK35883588s的区别 Rockchip RK3588RK3588s是两种功能强大且广受欢迎的片上系统(SoC)解决方案,用于一系
    的头像 发表于 08-15 17:03 2.9w次阅读

    rk3588是armv8吗?rk3588硬件资料

    rk3588是armv8吗?rk3588 硬件资料 RK3588是一款高性能处理器,是Rockchip公司推出的最新芯片。本文将详细介绍RK3588
    的头像 发表于 08-21 17:32 6238次阅读

    迅为电子RK3588S与RK3588硬件性能区别及板卡选型

    迅为电子RK3588S与RK3588硬件性能区别及板卡选型
    的头像 发表于 06-25 15:30 6634次阅读
    迅为电子<b class='flag-5'>RK3588</b>S与<b class='flag-5'>RK3588</b><b class='flag-5'>硬件</b>性能区别及板卡选型

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板
    的头像 发表于 08-30 14:13 2600次阅读
    <b class='flag-5'>RK3588</b>!黑神话悟空,启动?-迅为电子<b class='flag-5'>RK3588</b>开发板

    rk3588硬件原理图

    RK3588硬件参考设计
    发表于 02-25 17:44 48次下载

    RK3588参数与主要特性 RK3588数据手册解读

    RK3588参数与主要特性 RK3588数据手册解读
    的头像 发表于 05-19 18:34 1.5w次阅读
    <b class='flag-5'>RK3588</b>参数与主要<b class='flag-5'>特性</b>  <b class='flag-5'>RK3588</b>数据手册解读