ACT8846深度解析:长按 RESET 与休眠唤醒策略

需积分: 0 1 下载量 128 浏览量 更新于2024-08-05 收藏 173KB PDF 举报
本文主要讨论了在Android设备中,针对ACT8846电源管理单元(Power Management Unit, PMU)的RESET和休眠唤醒功能的注意事项。ACT8846是一种电压和电流调节器,当处理手机电池相关的硬件复位和休眠唤醒操作时,需要注意以下关键点: 1. **硬复位与软复位的区别**: - 如果通过短按 RESET 键进行软复位,时间必须超过4秒(硬复位)才能触发PMU内部寄存器的清除,否则可能无法清除寄存器导致在电压过低时无法正常重启。而短按时间不足4秒会导致PMU不执行硬复位。 - 对于旧的PMU设计,RESET按钮仅支持硬复位,短按无效,因此务必确保按下时间足够长。 2. **启用或禁用宏**: - 在Device Drivers下的Voltage and Current Regulator Support模块中,ACT8846 PMICSUPPORTRESET宏的启用与否会影响对休眠唤醒电压的设置。如果启用,可能会有额外的配置选项;若禁用,则需要在板级文件中手动设置休眠电压。 3. **休眠唤醒电压设置**: - 在act8846_dcdc_info结构体中,休眠电压的设置至关重要。例如,对于逻辑供电(vdd_core),设置的最小和最大电压范围为1000000微伏,而在支持RESET的情况下,休眠电压(suspend_vol)设置为1200000微伏,否则为900000微伏。 - 同样,ARM供电(vdd_cpu)的设置也遵循类似规则。 4. **休眠状态下的操作**: - 当设备进入待机状态,只需通过拉高PMU_SLEEP引脚来切换到休眠电压。这在board-pmu-act8846.c文件的suspend和resume函数中分别处理,如使用GPIO开关或32KHz时钟信号。 5. **代码实现**: - 板级代码提供了具体的驱动程序接口,如`sramfuncboard_pmu_act8846_suspend`和`sramfuncboard_pmu_act8846_resume`,它们负责根据系统配置调整PMU的相关操作,确保在休眠和唤醒过程中的正确性。 本文详细解释了在Android设备中使用ACT8846 PMU进行硬复位、休眠唤醒以及相应电压管理的机制,强调了不同复位模式下操作的差异,并给出了关键代码示例。开发者在集成这些功能时,务必注意遵循这些最佳实践,以确保设备的稳定性和功耗控制。