毕业设计:基于单片机的能耗分析系统
写在前面
笔者不才,过去一年中一半的时间在准备考研,博客园无心打理,显得荒芜了。到如今临近毕业,找的工作实事求是的讲也只是专业相关,并不完全对口,估计一段时间之内都没法亲自做开发了。虽然去的也是大公司,培养和各方面的保障都不错,但是对于学了四年技术(惭愧地说学的不算精深)的笔者来说,毕业了做的不是技术岗位,心中仍然有些许彷徨。幸而不论是家中亲人、学校的同学还是因缘际会下认识的朋友,得知笔者的心理状态后,都从理性到感性进行了开导,不得不感叹遇见他们实乃幸运。
个人情况就讲到这里吧!总之之后一段时间会告别开发,但是笔者已经下定决心无论在何种环境中,都不会失去对技术的学习热情,尽可能依靠技术和个人技术背景赋能职业路径。以后博客可能不常更新计算机技术分享了,但笔者仍然力求在这里分享职业道路上的收获,既包括通信方面的技术和知识,也包括我做市场岗位的体会和记录,不管会不会被有缘人看到,但总归不做有始无终之事,无愧于心即可。
这篇博客主要更新了我2024年以来毕业设计所做的内容,当然该选题不是凭空想出来的,而是建立在导师的idea、同学院同学做了一半的创新项目之上才得以完成。
摘要
随着信息化和数字化浪潮不断演进,由集成电路芯片和电子元器件构成的各类电子设备的数量和能耗都迅猛增长,与之相比供能技术的演进速度仍然滞后。与此同时,绿色环保和节能减排的理念在全社会受到更多关注,集成电路与芯片领域的研究人员与工程师均寻求降低芯片、板卡、电子设备等负载能耗的方案。无论是缓解电子设备能耗增长速度与供能技术发展速度不匹配的问题,还是响应节能减排的现实要求,都要求我们对负载电路的能耗进行精确测量与分析。
常见的能耗分析方法主要分为基于建模的能耗分析和基于测量的能耗分析两种,前者指的是通过建立待测系统的功率模型以估计其能耗等级,从而进行分析;后者使用传感器或功率计对运行中的负载电路进行测量,以获取实际物理信号和数值,因而具有更高的准确性。笔者设计了一种使用 INA219 传感器进行能耗数据的采样并由 STM32 单片机进行分析的系统,适用于各类接口供电的负载电路。系统按照功能可以划分为能耗采集模块、能耗分析模块、通信模块以及屏幕显示模块。其中能耗采集模块的功能是测量负载电路的物理信号并转换为可计算的数据,该模块使用带 I2C 接口的零漂移双向电流/功率传感器 INA219。能耗分析模块使用较高性能的 STM32 系列单片机对采集得到的数据进行接收与分析。通信模块通过软件模拟 I2C 通信的方式使得单片机可以配置 INA219 并接收采样数据。屏幕显示模块通过 TFTLCD 屏幕向用户展示采样数据、分析结果、能耗折线统计图和异常报警的界面。
总体设计
由于这是分享而非论文,笔者只简要介绍笔者所做的工作,主要可以分为软硬件两部分:硬件部分,由于要测量PCIE负载设备的能耗情况,而PCIE供电共有三种不同的规格:+12V 供电、+3.3V 供电以及+3.3Vaux 供电。+12V 和+3.3V 是负载设备正常运行时的供电电路,而+3.3Vaux 供电的作用主要是在负载设备处于低功耗状态(如待机或休眠时)为负载设备提供必要的小电流,以便设备在低功耗模式运行并有恢复至正常工作模式的能力。因此笔者参考英伟达PCAT的设计思路,采用三枚INA219传感器分别测量三种规格供电电路的能耗,再进行加和即可。具体实现上,笔者参考了淘宝上有售的INA219最小板、以及立创开源平台上使用INA219的开源项目,从而也利用立创EDA设计出了如下图所示的PCB:
该设计已经开源在立创开源平台上,虽然十分简单和粗糙,仍供感兴趣的同学们参考:
https://oshwhub.com/czy10/ina_project_new
写在最后
笔者常思考自己适不适合做技术?适不适合做市场?在纷乱的思绪中总是迷失自己,患得患失。其实这都是因为想得太多,做的太少,若有缘人看到这里,我愿和你一起脚踏实地做实事,待越过山丘后再回头看吧。