Nordic半导体
Nordic 是超低功耗无线连接技术供应商,旨在为物联网设备赋能,实现万物互连。Nordic 提供的无线连接解决方案包含硬件、软件和开发工具,它们不仅具备卓越的性能,且易于使用,为开发人员带去了完整、流畅的开发体验。
237篇原创内容
公众号
大家主要看视频吧!
云深之无际
下面主要是加一点算法解释:
PPK2非常好用
Nordic Power Profiler App 两种工作模式 分别是:
Source Meter Mode(源表模式)
Ampere Meter Mode(电流表模式)
下面我详细对比这两个模式的区别和如何接线:
PPK2 提供电压(通过 VOUT 输出)给 DUT。
同时测量 DUT 实际消耗的电流。
类似“电子电源 + 电流表”组合。
PPK2 引脚 | 连接目标 |
---|---|
VOUT | 接 DUT 的供电引脚(比如 VCC、VDD) |
GND | 接 DUT 的地 |
VIN | 不用连接(仅 Ampere 模式用) |
若 DUT 电流消耗可能超过 400 mA,要额外连接 USB POWER ONLY 接口;可以在 Power Profiler App 中设置输出电压(通常为 1.8V~5.0V)。
DUT 自己通过 USB 或其他电源供电。
PPK2 不供电,只负责测电流;类似“电流表串入 VCC 路”。
PPK2 引脚 | 连接目标 |
---|---|
VOUT | 接 DUT 电源引脚(VCC/VDD) |
VIN | 接 DUT 电源轨来源(外部电源输出,或 DUT 的 USB 供电路径) (即电源 → VIN → VOUT → DUT) |
GND | 接 DUT 的地 |
PPK2 会将 VIN → VOUT 间的电流测量出来;必须确保 DUT 的电源流经 PPK2!
特性 | Source Meter 模式 | Ampere Meter 模式 |
---|---|---|
DUT 电源来源 | PPK2 提供(VOUT) | 外部电源提供 |
是否连接 VIN | 不需要 | 必须连接,作为电源入口 |
最大输出电流 | 约 1A(>400 mA 要加 USB) | 最高也建议不超过 1A |
用途 | 控制 DUT 电压并测电流 | 不干扰 DUT,仅测其电流 |
推荐场景 | 实验控制方便的测试场景 | 精确低功耗测量、USB供电测试 |
内部的框图
使用的电池
只带的分析功能很弱
后处理计算一致
GGplot的风格
这个也是一个风格
另外一个
分段积分
按照 每 1 秒 为间隔,对电流进行积分(估算能耗),并将每秒能耗(单位:mJ)以柱状图可视化。
横轴:每个时间段(如 0–1s, 1–2s, ...)
纵轴:该时间段的能量(单位:mJ)
柱状图展示逐秒能量消耗趋势
加入整体平均能耗水平线
元素 | 含义说明 |
---|---|
绿色柱子 | 每秒能耗(mJ) |
红色虚线 | 整体平均能耗水平线 |
图例 | 自动标出平均值数值 |
利用电流变化模式识别设备周期性行为,如:
BLE 广播周期
睡眠/唤醒节奏
传感器读取周期
方法:找波峰波谷;电流突变的起止点(高阶导数、滑窗判断)。
用于观察当前消耗集中在哪些区间,例如:
95% 的时间 < 20 μA → 表明休眠表现良好
5% 的时间 > 5 mA → 表明发射功率大
工具:
sns.histplot(df["current_uA"], bins=100, kde=True)
多样分析
检测到了多个电流波峰点(可能代表 BLE 广播或活动周期,这里数据不好,看不出来)。
相邻波峰的时间间隔约为:1 ms(即周期约 1000 Hz)
已绘制 电流直方图 + KDE 密度曲线:
展示电流值在整个采样期间的概率分布
图中红线为平均电流水平
如果看到单峰/双峰结构,可能代表设备存在明显的睡眠/活跃状态切换
上面的算法在我的数据上面不好用,我fake一下:
电流直方图 + KDE 密度曲线,拟合的数据
功耗分布分析
图表:直方图 + KDE(概率密度曲线)
平均电流:图中红线表示全局平均电流
可判断系统主要功耗集中在哪个区间(例如是否以 Sleep 区间为主)
周期行为
抖动(Jitter)分析
检测到多个功耗波峰(可能对应 BLE 广播、传感事件等)
平均周期:约 12.6 ms
周期抖动(标准差):0.5~1ms 量级,表示周期性事件相对稳定但有轻微波动
状态分类与可视化
基于设定电流阈值(如 1000 μA)分为:
Sleep(绿色)
Active(红色)
图表中颜色清晰区分状态切换行为
状态 | 持续时间(s) | 能耗(mJ) | 时间占比(%) | 能耗占比(%) |
---|---|---|---|---|
Active | 0.08 s | 0.28 mJ | 7.64 % | 17.08 % |
Sleep | 0.92 s | 1.37 mJ | 92.36 % | 82.92 % |
表明系统大部分时间处于低功耗状态,且能耗贡献主要也来自 Sleep 状态
完事,可玩性极高!
比如ADC的运行功耗也可以计算,电池的容量都可以~