最近收到了面包板社区寄来的一块板子,基于Nordic最新出品的nPM1300电源管理芯片的评估套件。关于电源管理芯片,大家可能熟知的是一些分立的芯片,比如升降压、电源监控、POR复位、充放电管理等功能,但是把这些功能都集成到一颗芯片上的却很少见。本篇文章我们一起来体验有史以来第一款集成了所有必要功能的电源管理IC(PMIC)——nPM1300。
nPM1300是Nordic的一款PMIC电源管理芯片,Nordic即北欧半导体,成立于1983年,对于做蓝牙低功耗相关产品开发的朋友应该不陌生,是超低功耗无线技术的开创者,也是无线技术领域的代表性企业。
Nordic总部位于挪威,拥有蓝牙、ANT+、Thread 和 Zigbee、WiFi、NB-IoT技术。
Nordic的低功耗蓝牙SoC因其高性能、易于设计的特性,被广泛应用于物联网领域,包括无线PC外设、游戏、运动和健身、手机配件、消费电子、玩具、医疗保健和自动化产品等。
虽然很多SoC已经集成电源管理功能,但是受限于功耗、效率、充放电管理等方面,很多用户还需要外置的电源管理芯片来完成复杂的功能需求。常见的电源管理芯片架构通常比较简单,一般支持多路可调电压输出,并支持外部电池进行充放电管理。
随着智能家居、可穿戴产品对于产品尺寸、性能、续航的需求,电源管理芯片的功能也随之增加,比如:
本篇文章要评测的这款电源管理IC——nPM1300就包括以上所有的功能。
和Nordic众多开发板、评估板一样,nPM1300评估套件也是采用青蓝色PCB设计,板子整体尺寸长100mm,宽64mm,采用4层PCB设计,基于AltiumDesigner设计软件。
官方提供所有的硬件资料,如PCB和原理图,生产设计制造所需要的钻孔文件、BOM、Gerber、贴片文件等所有文件。下面我们来详细看一下板子的硬件资源:
nPM1300评估套件系统框图如下:
PCB顶层和底层
PCB 3D效果:
nPM1300芯片特写
USB-C接口
板载的3路用户按键
LED
电池接口
管脚通过排针引出
扩展接口可以下图所示的电量计扩展板,用于生成电池的充放电模型。
了解了评估板的硬件资源之后,我们重点来看一下这块板子的核心——nPM1300芯片。
从官方数据手册我们可以看到芯片内部的结构:
主要包括以下几个部分:
nPM1300详细的电气特性如下:
在不同输出电流下的转换效率,最高可以达到95%左右,还是非常高效的!
常见的应用场景如:
nPM1300可以让用户的工作更轻松,硬件工程师不需要写代码,软件工程师不需要阅读数据手册,开箱即用,只需要在直观可视化的GUI界面里进行设置,并导出overlay文件,然后添加到你的SDK项目中即可使用。
相比于多颗独立的电源管理芯片,nPM1300几乎集成了所有电源管理芯片的功能,它将以下8颗芯片的功能集成在一起,包括:
常规的分立芯片设计需要很多无源器件,导致原理图复杂、PCB面积大、BOM成本高,nPM1300所需要的外围电路非常简单,最少只需要5个无源器件即可使用。
官方提供了两种封装的推荐布局方案:
https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/reference-layouts/npm1300/qfn/npm1300-qeaa-reference-layout-1_1.zip
https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/reference-layouts/npm1300/wlcsp/npm1300-caaa-reference-layout-1_0.zip
常规分立芯片与nPM1300原理图设计对比:
PCB尺寸对比设计:
可以说,nPM1300是真正的1颗更比8颗强!
下面我们来简单使用一下nPM1300评估套件,由于我手头没有可用的锂电池,所以本次体验不涉及充放电、电量计等功能。
首先需要下载配套的上位机软件:nRF-Connect-for-Desktop,它支持常用的Windows、Linux、MacOS三大平台,目前最新版本是:
nrfconnect-setup-4.4.1-x64.exe,下载完成之后进行安装,它会同时安装Jlink驱动:
安装完毕之后,打开软件,可以看到这个工具是Nordic芯片常用上位机软件的集合,我们评测的是PMIC,所以我们还需要再安装nPM PowerUP,
如果出现安装失败的情况,可以多试几次,或者重启电脑。
安装完成之后,准备两根Type-C的USB数据线,同时连接板卡的两个USB接口到电脑,可以看到LD4指示灯在呼吸闪烁,如果USB PMIC接口未连接,LD4指示灯是快速闪烁状态。
连接电脑之后,设备管理器会多出两个串口号:
第一次使用这个软件,需要先更新板卡上SoC的固件:
打开nPM PowerUP软件连接板卡,可以在底部控制台看到日志:
14:52:40.188 Device Connected SN:EE177EE0F1D0259B
14:52:40.189 Getting serialport options from persistent store EE177EE0F1D0259B.pc-nrfconnect-npm
14:52:40.190 Device Connected SN:null
14:53:45.467 Selected device with s/n EE177EE0F1D0259B
14:53:45.478 Opened port with options: {"path":"COM4","baudRate":115200}
14:53:45.575 Closed port: COM4
14:53:45.575 Device setup ready for device with s/n EE177EE0F1D0259B
14:53:45.581 Opened port with options: {"path":"COM4","baudRate":115200}
14:53:47.831 Reset cause: SWRESET
图形化界面如下图所示:
各个窗口基本的功能:
通过滑块调整电压或手动输入数字,可以任意调节输出的电压值,使用万用表或示波器测量VOUT1和VOUT2电压值,会随着设定值变化。由于我手头没有可用的锂电池,所以本次评测没有对充放电、电量统计功能进行评估。
感兴趣的朋友可以连接一块电池进行测试,可以在软件中看到电池的实时电压、电流、温度等信息。
官方也提供有这款评估套件配套的电量计扩展板——nPM Fuel Gauge Board,生成电池的充放电模型数据。据官方介绍,12 小时内-20°C~+60°C 温度变化情况下,软件算法电量计精度误差在 3%以内。
对芯片进行配置完成之后,点击左侧Export Configuration
,导出当前配置,可选overlay
和json
文件格式,overlay文件可以用在我们的MCU应用中,在项目中加入这个文件之后,它会在Zephyr TWI驱动程序中被调用。
执行devicetree 覆盖文件,请点击 nRF Connect for VS Code 扩展中的“edit build configuration”,然后通过“Devicetree overlay”下的“Add overlay ”按钮来添加覆盖文件。
需要保证prj.conf
中包含这些配置:
CONFIG_GPIO=y
CONFIG_SHELL=y
CONFIG_LOG=y
CONFIG_REGULATOR=y
CONFIG_SENSOR=y
CONFIG_LED=y
如果你的应用程序没有启用IIC总线,则还需要在文件末尾添加以下几行代码:
&i2c0_default {
group2 {
psels = <NRF_PSEL(TWIM_SCL, 0, 27)>, <NRF_PSEL(TWIM_SDA, 0, 26)>;
bias-pull-up;
};
};
/delete-node/ &{/pin-controller/i2c0_default/group1/};
这将启用I2C线路的内部上拉,其中27和26数值指定了所用SoC的SDA和SCL引脚编号。
评估套件配套的资料非常齐全,对于开发者来说几乎上手即用,主要包括:
本篇文章介绍了nPM1300电源管理芯片的特性,简单体验了评估套件的基本功能,图形化配置界面的基本使用。在使用过程中可以发现这款芯片非常简单易用,几乎不需要阅读数据手册,也不需要编写代码即可在项目中进行应用。需要注意的是,nPM1300不可以独立使用,需要MCU主机通过I2C接口进行配置和控制,官方推荐的典型应用是配合nRF52 和 nRF53 系列SoC来使用,也可以在其他非Nordic芯片上使用。