嵌入式产品功耗调优那些事 - 序

发布于 2021-07-21 22:23:06    浏览:54

前言

  • 认识到功耗的重要性,如果功耗的优化对整个系统或产品微不足道,则无须浪费人力物力投入其中。
  • 功耗的重要指标是降低功耗,提高续航,如提高电池的利用效率,降低电量损耗。
  • 调优整机功耗,这是用户最关心的,这也说明,功耗是系统的。
  • 功耗调优,涉及各个方面、各个场景的功耗的调优,如关机模式功耗调优、运行功耗的调优、各个场景功耗的调优、待机功耗的调优。
  • 单纯的降低某个器件功耗、降低某个电源模式的功耗、让某个场景功耗达标,如只保证待机功耗调到最低,整机功耗可能无法达标,功耗没有调到最优,所以需要全局观。
  • 调功耗的工程师,并不要求必须是软硬件技术集一身的技术大佬,或许他们只熟悉硬件或驱动,或者都不太熟悉,但是功耗牵涉到各个方面,所以即便是技术大佬,依旧需要不断的实践、积累、分析总结。
  • 功耗调优不是三两天调完的事情,抱着认真的态度,打好持久战。
  • 功耗调优,可以节约能源,较少不必要的器件工作时间,降低产品的发热,提高产品的续航与工作寿命。

入门与实战

  • 动手实践
  • 结合理论
  • 善于分析与总结

硬件部分

  • 熟悉硬件原理图,了解外围器件,供电逻辑,熟悉主控芯片的引脚配置、芯片内部电源供电逻辑,熟悉整板的电源总输入、各个分支电源。
  • 熟悉电源仪器如程控电源的使用,会使用万用表、电烙铁、热风枪等工具,可快速搭建好自己的功耗调试环境。
  • 熟悉各个器件的电子特性,电源特性,如供电电压、常规工作电流、低功耗工作模式、关断漏电、IDLE模式静态电流等。
  • 需要测量整机功耗、各个模式或场景下的功耗,对比竞品的功耗,确认功耗调优的方向,做到心中有数。
  • 熟悉各个主干电源、分支电源的供电路径,外设供电的依赖关系。

软件部分

  • 熟系电源管理PM框架,了解功耗管理的逻辑与工作流程。
  • 了解各个外设的驱动,如电源开关接口,可根据原理图进行功耗相关调试代码的编写
  • 熟悉主控MCU的数据手册、参考手册,熟悉MCU的时钟配置、各个电源模式、各个工作模式的特点。
  • 通过软件方式关闭全部或部分外设,计算或估算每个模块的供电电流,会分析电源供电逻辑的合理性。
  • 确认各个模块的电源是否都是软件可控的。

动手实战

  • 只有兴趣研究,最终会发现,功耗调优枯燥与乏味占大部分,快乐或许只来自于某些问题解决的瞬间,来自顿悟的瞬间,来自被一点通的瞬间。
  • 功耗调试的大部分时间,都是面对每天不断更新的代码,电路板与电源仪器,各个模式的功耗数据,需要时时测量与记录,分析与思考。
  • 有时功耗异常,需要做大量的代码回溯,需要耐心的测量,对比验证。可能一顿操作猛如虎,依旧解决不了问题,或许静下心来,对着原理图仔细分析,很快找到方法。
  • 掌握基本的动手本领,如焊接、下载、调试,可自行搭建最小系统用于功耗的拆解。可以焊接必要的电源线,能在必要时拆解部分器件,达到功耗拆解与问题定位的目的。
  • 有些功耗问题,如果自己无法分析,如开关驱动接口不能正常工作,业务逻辑不清楚,还需要外领域求助,或自行根据相关的数据手册,产品策划,完善功耗相关的驱动接口,这会收获更多,并加深对软硬件的熟悉程度。
  • 产品的原理图纸、PCB位号图,需要经常看,PCB电路板,需要时常的把玩。尤其是电源部分,有些与功耗相关的并且需要配合硬件改版才能实现的功能需求,需要尽早提出来通知硬件等领域。
  • 功耗不需要写很多的数据结构与算法,但需要了解大部分的片上外设、片外外设的驱动,了解电源开关、工作流程与逻辑,编写很多功耗调试代码。甚至需要了解每天不断更新的代码提交,及时发现可能会带来功耗异常的代码。
  • 很多外设低功耗模式运行,有些外设无法直接关闭电源,需要了解低功耗的实现方法,掌握外设的深睡眠模式。
  • 【重点】功耗调优重在动手调
  • 功耗调优后期,过多的依赖业务的正常工作,通过功耗日志获取续航时间,找出异常的唤醒点。通过大量的实际功耗测量数据,估算整个系统的续航与功耗调优指标。

大胆怀疑

  • 不怕犯错,拆解功耗过程中,犯错是难免的,这是正常的,遇到问题,可以大胆的去怀疑并验证。
  • 项目前期大部分人对整个项目都不太熟悉,对各个功能并不全部了解,功耗的调优会影响功能或性能,如果验证不充分,出错也是正常的。如你关闭了某些外设,可能造成了功能的缺失。负责功能的人会找上门来,可能会revert掉你的代码。
  • 有时问题会反弹,如你开启初步测量排除了这个外设的漏电,但经过几轮的深入测量与验证,又返回来发现确实是这个外设漏电,经常山重水复疑无路。
  • 有时你忽略了原理图的改动,某些引脚需要硬件跳线配置的,确没有手动跳线去配置,造成功能运行不全面,功耗有差异。
  • 等等,这些大大小小错误,并不可怕,也不用恼羞成怒,只需要心平气和的接受,认真对待每个错误或失误。找出有效的解决思路或方法,纠正错误,下次做更充分验证,多总结与思考即可。每次错误,每次的解决问题,都有收获与提高。
  • 当被别人纠错或自行发现自己的失误时,认真的对待,这是提高自己能力最好的机会,掌握分析与验证的方法,深入分析,解决失误与错误。

柳暗花明

  • 努力会有收获,会有成果,调试功耗的最终目标,系统健壮的运行,功耗调到最佳,续航达标,会有成就感。
  • 除了熟悉功耗相关的技术知识,相关的知识积累,有助于你接下来的工作。如硬件设计可靠性、驱动、应用逻辑、操作系统、系统OTA升级等等知识点的积累,都是宝贵的工作经验。
  • 熟练掌握功耗调优的经验,后期可以自行设计或优化PM电源管理框架,灵活地应对不同的平台与产品。
0 条评论

发布
问题