一个功耗问题的澄清

已经大规模量产的方案,客户突然要求澄清一个功耗问题。

问题背景信息如下:

笔记本项目,Windows+Intel/AMD,MCU与主机端CPU通过USB通信,下面提到的MCU中的固件由我们提供。固件分为IAP和APP,IAP只用于升级APP,IAP不支持低功耗;APP完成具体业务功能,支持低功耗。固件IAP在产线通过治具烧录,驱动与IAP交互完成APP更新。测试的spec要求是25mw(如电池供电电压为7.64v,电流为3.27mA)。


 

客户的测试方法:主板单板不接任何小板和外设等,用程控电源给主板单板供稳定的7.64v,也不开机进入系统(没接SSD等,也无法进系统),测主板的电流,具体测试环境见上图。

客户说的初始上电测试,指刚拿到主板,直接按上述方法进行测试。客户说的关机漏电测试,指拿到班子后,组装,开机进系统,跑一些测试软件,再关机,再按上述方法进行测试(不确定整个过程中是否,有掉电再上电的过程,其实是有区别的)。

客户:初始上电和关机漏电都fail,概率50%左右,Fail时的整机功耗为23mA; PASS时的功耗为0.45-0.8mA或者0.9-1.3mA。客户拉低mcu rst时,功耗正常;飞线确认mcu功耗异常;现象稳定复现。客户硬件也不太确定MCU是否跑在APP,所以请客户寄了一块板子给我们进行实测分析。

客户寄来的板子,只有主板大板,没有小板,没有外设,没有SSD,没有电池,没有指纹等,客户也是在这种场景下进行的测试。

先判断究竟有没有烧录固件,固件是跑在IAP还是APP? 然后再实测功耗,重现客户的问题。

第1步,飞线到MCU的SWD测点读取固件信息,本以为可能读不出来(产线上应该在烧录固件IAP后,开启读保护,实际产线并没有这样做),发现只有IAP,即固件只跑在IAP。

第2步,按照客户手法,重现问题,飞线到主板上的电池接口处,并连接程控电源,供7.64V的直流电压(具体电压值,参见笔记本的电池上标注的额定电压),程控电源也会显式此时的电流,也可以串一个万用表测电流,电池接口飞线见上图,程控电源会显示电流,所以不用串电流表。

测试结果,固件跑在IAP,单板电流23/24mA;跑在APP,单板电流6.18mA左右;整个擦除Flash,单板电流变成1.53mA。

第3步,在本地开发板上,验证用户可能面临的完整整机上的情况,用对应的固件(同时有IAP/APP,跑在APP),验证如下:

开发板只通电,不连到USB host端,某GPIO为高,功耗22mA,即MCU没有进低功耗;在真实的用户手上,这个场景不应该存在,如果进了低功耗,USB设备就会异常,出现设备丢失或者黄标的现象。(注:这里的某GPIO表示系统开机状态,系统在S0运行时是一个状态,在S3/S4/S5睡眠休眠关机时是另一个状态。)

开发板只通电,不连到USB host端,某GPIO为低,功耗0.13mA,即MCU进低功耗;

开发板连到USB host端,某GPIO为高,功耗0.23mA,即MCU进低功耗;

开发板连到USB host端,某GPIO为低,功耗0.18mA,即MCU进低功耗;

总结一下:

对这个问题,我最大的疑问是,这项测试的目的是什么,测试标准25mw(7.64v下3.27mA)的前置条件是什么,测试场景和意义是什么? 从用户角度,有意义吗?

从有限的沟通来看,OEM/ODM并没有完全定义清楚,或者随着方案等变化,以前的测试方法是否需要进行调整?

从用户角度出发,用户的使用场景有哪些?应该重点关注哪些应用场景下的功耗?关注的应用场景中,系统和系统中相关组件分别处于什么状态?

只有先搞清楚上述问题,才能看具体的功耗问题。

在我看来,客户的上述测试场景,没啥意义(因为用户不会遇到)。另外,我觉得客户对所谓初始上电和关机漏电的场景,定义得不够清楚,不够细致;其实简单点,按用户使用场景来,如DC下关机后功耗,DC下休眠功耗,DC下睡眠的功耗,如系统工作时闲置的功耗(这一类功耗有测试,可能不是每台必测)。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值