• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

RK3399嵌入式开发板电源常见问题分析

     RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。RK3399的GPU采用四核ARM新一代高端图像处理器Mali-T860,集成更多带宽压缩技术:如智能迭加、ASTC、本地像素存储等,还支持更多的图形和计算接口,总体性能比上一代提升45%。

     友坚科技最新研发的RK3399开发板,搭建了最新android7.1 系统,4G DDR3内存,32G EMMC 存诸,搭配8.4寸高清IPS屏。RK3399开发板主板尺寸为:155*104mm,设计有非常丰富的接口,板载3路TTL UART,2路USB2.0接口,一路USB3.0接口,WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、以太网等;可扩展模块包括4G模块、Camera(1300万、500万)等应用类功能模块。

常见问题分析定位

1. 为什么插着适配器或者 usb,关机后马上又重启,无法关机?pimc 芯片设计之初就是定义为只要插着充电器,就不能关机。

2. 为什么开机后进行电池热拔插,寄存器 GGSTS[4]指明的“电池是否存在”的状态和实际的情况不一样?Pmic 不支持电池的热拔插检测,只在开机上电的时候做一次检测。

3. 为什么关机后的电压跟 dts 配置的关机点不同,那么高的电压就关机了?关机电压以最后 Log 打印的实时电压为准,我们要保证的是实时电压不低于预设的关机点。并且关机后系统下电,电池极化慢慢消失,会有一个电压回升的过程。

4. 如何打开调试信息,抓取 Log?法一:编译前把驱动第一行的 static int dbg_enable = 0;改为 1,即可。法二:如果固件没有打开 dbg_enable, 也可以串口输入如下命令进行开关:打开:echo 1 > /sys/module/rk818_battery/parameters/dbg_level关闭:echo 0 >/sys/module/rk818_battery/parameters/dbg_level

5. 为什么做开关机、reboot、二级待机等拷机时,电量都不怎么变,电压却慢慢在下降?此时驱动无法正常轮询进入工作状态,所以不支持这类拷机测试。品质部和客户在做电量计测试时没有必要测试这 3 项。

6. 为什么用接着电池充电器,但是充电电流一直都很小?a) 确认是否因为充电线的质量差,阻抗大,导致实际给 vbus 的电压远不足 5v。可以外接稳压电源供电,适当提高电压,观察是否电流能增大;b) 进入灭屏状态(一级待机),观察充电电流是否有增加,以此来确定是否和运行功耗有关;c) 快充满的电池肯定充电电流很小,所以请注意电池电压;d) 在高温、大负载情况下,有可能是 PMIC 温度升高触发了输入限流。所以先把反馈温度(fb_temperature)提高,观察是否有效。再不行的话直接关闭温控试(fb_temperature 设置为 0)。

7. 拔掉电池再开机后,电量变了是怎么回事?我们的需求是拆卸电池后电量不会跳变, 是否能满足?a) 拔掉电池后 PMIC完全掉电,此时再开机只能 ocv电压查询 ocv_table反推电量,所以是正常的,是一次电池的重新校正;b) 拆卸后希望电池电量不跳变?几乎不可能,除非软件做规避:把关机前的电量写到文件里,上电后再去读。客户有需求的话,请客户自己增加这部分规避处理的代码。

8. PMIC 有温度反馈功能来调节输入电流,那么如何知道 PMIC 此时的内部温度?没有办法知道,设计时没有留这个功能。

9. 为什么 Log 上打印的电流这么离谱,正负符号颠倒或者电流大小和实际差那么多?请确认选用的是20/10毫欧的采样电阻且电阻精度够高;其次请确认焊点焊接干净,采样电阻应该位于 BAT-和 GND 之间。

10. 为什么明明还没有满电,比如才 3.9v 就报 finish 了?一般是因为电池质量不好,并且设置的最大充电电流过大,导致电池板发生了自我保护。因此导致 PMIC 误报 finish 状态。

11. 为什么 finish 状态下电流的值在正负飘动(值较小)?这个是满电后的电流零点误差,没有关系。

12. 为什么都上报 finish 了,显示的电量才 90%多,没有 100%?由于库仑计会有累积误差,而充电结束是由硬件完成,两者之间会有一定误差,无法那么准确把握 finish 上报的时机,所以出现这种情况是正常的。这种情况下软件会做 一个处理,即慢慢让电量逼近 100%,对于终端用户来说是察觉不到这回事的,使用 上没有问题。

13. 为什么运行过程电量计的电量这么不准,和 ocv_table 的值相差这么多?概念混淆。ocv_table 是开路不带负载情况状态下的电压--电量的比值,并且我们只是在开机校正、休眠较正时用到这个表。所以这样的对比毫无意义,原理上就说不通。

14. 是否支持更换不同的规格的电池?不支持。换了电池,那么 ocv 曲线、内阻、容量等参数都需要重新测试,填写。

15. PMIC 判断电池充满的条件是什么?需要同时满足三个条件:电压达到截止电压,电流达到 finish 电流,且不发生输入限流。

16. 为什么电池图标始终显示 50%正在充电?请把 test_power 驱动 disable 掉1

7. 为什么电池图标始终显示 66%正在充电?当前没有接入电池;或者 dts 的 virtual_power 被配置成了 1,请配置成 0。

18. 为什么没有识别到充电器插拔?Rk818_charger.c 负责充电器的检测,usb 口的充电器和 otg 设备插拔都依赖于 usb 的通知链,请注意串口 Log 是否有打印 “rk818-charger: recieve xxx notifier event: xxx”等串口信息,如果没有的话则是 usb 通知链没有注册成功(可能性小), 或者 USB 驱动出现了问题。

     RK3399嵌入式开发板电源常见问题分析,友坚科技专注于三星、瑞芯微、飞思卡尔平台产品的研发,是三星、瑞芯微、飞思卡尔在中国最具实力的方案公司之一。公司研发、生产的平板、开发板,连续多年销量稳居第一。公司定位于中高端产品的研发,具有多年的嵌入式产品研发经验;基于A15-Exynos5260、A53_S5P6818、A9-S5P4418、A9-Exynos 4412、A8-S5PV210、ARM11-S3C6410、ARM9-S3C2416 、RK3188、RK3288、RK3399、IMX6Q等处理器,开发了系列化产品,为客户提供了全面的产品选择及专业化的量身定制MID解决方案。

全部回复(1)
正序查看
倒序查看
lingyan
LV.8
2
2017-11-01 16:25
东西不错,学习了
0
回复