开关机"/>
马上:硬件开关机
马上:硬件开关机
通过多年与RK3288不同产品的方案公司的接触,梳理并总结RK3288方案常用开关机的方案
PMU+RTC 方案
PMU: RK808
RTC: hym8563 (纽扣电池供电)
硬件上需要把RTC的中断脚接到RK808的开机引脚上
电源管理芯片又称之为PMU(power management unit)或PMIC,它是一种高集成的、针对便携式应用的电源管理方案,是将传统分立的若干类电源芯片,如低压差线性稳压器(LDO)、直流直流转换器(DC/DC)集成于一体的芯片,从而实现更高的电源转换效率和更低功耗,以及更少的组件数以适应缩小的板级空间,同时亦增强了系统的稳定性和可靠性。
HYM8563是一款低功耗CMOS实时时钟/日历芯片,它提供一个可编程的时钟输出,一个中断输出和 一个掉电检测器,所有的地址和数据都通过I2C总线接口串行传递。最大总线速度为400Kbits/s,每次读写 数据后,内嵌的字地址寄存器会自动递增。
RTC驱动模型
与RTC核心有关的文件在/drivers/rtc/ 底下
解决方案
- 在底层做一个独立的alarm接口,上层(sdk,广播)设定开机时间并保存记录;
- 等到真正关机时,在关机函数里将开机时间写进alarm寄存器
各个不同产品的方案公司(向成+视美泰+亿晟)都会提供广播或者sdk,再垃圾的方案公司也会提供alarm文件给你写开机时间,但是真实给alarm文件即rtc时间是需要换算的。因为寄存器结构定义不同
Linux 提供了三种用户空间调用接口。 在 开发板中对应的路径为:
-
SYSFS接口:/sys/class/rtc/rtc0/
-
PROCFS接口: /proc/driver/rtc
-
IOCTL接口: /dev/rtc0
比如查看当前RTC的日期和时间:
rk3288:/ # cat /sys/class/rtc/rtc0/date
2022-01-02
rk3288:/ # cat /sys/class/rtc/rtc0/time
14:14:14
rk3288:/ #
IOCTL接口可以使用ioctl控制/dev/rtc0。
## 定时开关坑
- 设备的纽扣电池会没电。
- 时间错了,设备只能断电或者开关重开
- 各个不同产品的方案公司定时关机多多少少都有些问题,无法按时开机,且难以排查。但是了解以上知识,可以检测rtc时间设准确没有,排除硬件的问题
参考文章
RK硬件设计之PMU—RK808 VDC管脚巧妙应用
杭州捷茂微电子有限公司
更多推荐
马上:硬件开关机
发布评论