马上:硬件开关机

13 篇文章 0 订阅
1 篇文章 0 订阅

马上:硬件开关机

通过多年与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管脚巧妙应用

杭州捷茂微电子有限公司

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值