公司动态
双SMU模块化方案:N6705B搭配N6781A实现低功耗与电池测试
1. 项目概述为什么我需要两个SMU而不是一台四象限电源做硬件测试这几年N6700这个名字估计搞电源、搞嵌入式、搞IoT低功耗的工程师都不陌生。这是是德科技原安捷伦的模块化电源系统平台一个主机箱里可以插多块电源模块从基础的纯供电模块到带测量功能的高精度模块都有。而我这套系统里最核心的两块模块是N6781A——也就是标题里说的Source/Measure Units简称SMU。SMU和普通电源最大的区别一句话概括就是既能当电源输出又能当精密的电流电压表用。N6781A本身是一台支持四象限工作的SMU四象限意味着它不仅能灌电流source往外输出还能拉电流sink往里吸收电流。这对测试电池供电设备、低功耗物联网终端、传感器节点这类应用场景来说属于刚需中的刚需。我在实际项目中同时用了两块N6781A配合N6705B主机搭建了一套双通道SMU测试平台。今天就把这套系统的选型思路、关键配置、踩坑经验完整盘一遍。这套系统能解决什么问题先说几个最直白的痛点。测一个设备的待机功耗普通万用表测电流要么分辨率不够要么采样速率跟不上测出来的数据波形根本没法看。而SMU可以直接在纳安到安培的范围内连续工作还能把电流波形按时间轴完整记录下来。再比如测电池充放电曲线普通电子负载只能拉电流普通电源只能推电流但SMU既能推又能拉而且能在推拉之间无缝切换单台仪器就能模拟电池给设备供电、再反过来给电池充电的完整过程。适合谁来参考只要是做低功耗验证、电池管理、传感器驱动、电源完整性测试的硬件工程师这篇文章里的方案都可以直接抄作业。2. 方案选型解析N6700平台与SMU模块的匹配考量2.1 N6700平台为什么适合当SMU的载体N6700平台的核心卖点是一个机箱、多种模块、灵活组合。这个机箱有几种规格比如N6705B是4槽主机带触屏显示和内置数据采集功能可以插最多4个模块N6701A/6702A则是纯模块化电源主机不带显示屏靠上位机软件控制。标题里提到的项目用两块SMU模块意味着至少要选4槽的主机才能同时装下并且还要留出扩展槽位。有人说我想测双通道信号直接买两台台式SMU不就行了为什么非得上N6700这里有一个非常关键的点模块化平台下的所有模块是共享同一套时间基准和触发总线的。N6705B内部有硬件触发同步机制两块N6781A可以做到真正意义上的同步输出和同步采样通道之间的时间偏差可以控制在微秒甚至纳秒级别。而两台独立的台式SMU想要做到这个同步级别要么外接专用同步线缆要么靠软件发命令对齐实际操作起来不仅麻烦而且时间精度很难保证。另外N6700平台的散热和供电设计是为多模块长期满负荷运行准备的N6781A这种高精度模块对温漂比较敏感在模块化机箱里散热条件比独立台式机内部还要均匀一些。实测下来我做过6小时连续采集电流基线漂移很小长期稳定性比同级别的独立台式SMU表现更好。2.2 N6781A这个模块到底强在哪里N6781A是N6700系列里专门用于电池消耗分析和低功耗测量的SMU模块。先看硬指标电压输出范围最高20V电流测量范围从纳安级到±1A高电流档最大到3A但这个时候精度会下降电压测量分辨率最高6位半。最关键的一个特性是它支持无缝量程切换这个后面我会单独展开讲。N6781A还配了一个叫作电池消耗分析仪的专属软件套件配合N6705B主机可以直接在屏幕上画出一整条待机电流vs时间的曲线最小采样间隔可以到4微秒左右也就是说可以捕捉到微秒级的电流脉冲。手机、手表、传感器节点这类设备在睡眠和唤醒切换时电流会在几十纳安和几十毫安之间剧烈跳变普通电源根本没法应付这种动态范围N6781A用无缝量程切换让电子负载在纳安级和毫安级之间自动切换不用手动换挡所以在做超低功耗测试时用起来非常顺手。第二块SMU我选的是同样的N6781A不是N6785A。N6785A是更高功率的SMU模块最大功率60W适合驱动电机、加热丝这类高功率负载。但我这个项目的测试对象主要是低功耗无线传感器和电池供电设备N6781A单模块最高20W功率已经足够覆盖两块同型号模块还能保证通道一致性测试数据对比时不会有因模块型号差异带来的隐性误差。3. 核心细节解析双SMU配置的硬件方案与关键参数3.1 双SMU的系统连接拓扑在N6705B主机上装两块N6781A我实际用的连接拓扑是主机槽位1安装第一块SMU作为DUT设备待测物的主电源/主测量通道槽位2安装第二块SMU作为电池模拟通道或负载通道。这个拓扑可以衍生出几种测试场景场景一双电源冗余测试。两个SMU分别给两个独立的电路模块供电同时监控两路电流用来分析系统内各模块的功耗占比。这个场景对同步性要求非常高因为如果不同步你就分不清某个电流尖峰到底是A模块引起的还是B模块引起的。场景二电池模拟负载模拟。第一块SMU设置为电池模拟模式用内置的电池模型或自定义的电池内阻曲线给DUT供电第二块SMU设置为电子负载模式用来模拟某些外设负载的拉电流行为。这样可以在实验室里完整还原系统在实际工况下的电源环境。场景三充电/放电一体化测试。第一块SMU设置电压上限和电流上限模拟充电器第二块SMU设置电压下限模拟电池。两块SMU通过N6705B的触发同步机制配合可以做电池充放电循环测试的自动化流程。配合N6705B的44932A型4线开尔文测试线缆测量精度比普通鳄鱼夹线高得多。开尔文连接的核心原理是让电流通过一对粗线流入负载再用另一对细线测量负载两端的电压因为电压测量回路里几乎不流过电流所以线缆的接触电阻和导线压降影响基本被消除。低电压大电流场景下线缆阻抗带来的测量误差最容易被忽视这里建议全部使用4线连接哪怕是短距离测试也不要偷懒。3.2 无缝量程切换、采样速率与同步触发讲解先说无缝量程切换这个功能在测动态电流时必须开启。在普通万用表或普通电源里切换电流量程的时候会发生短暂的中断——你看到的读数会跳一下或者有一个短暂的盲区。N6781A采用了一种特殊的浮动量程架构切换量程的时候不会打断电流回路因此测得的数据是一根连续的、没有断点的曲线。注意默认配置里这个功能是关闭的必须手动在设置里打开很多新手在这里翻车测了半天发现数据里有毛刺以为是电路的干扰其实是量程切换时的跳变。再说采样速率。N6781A的数字化采样率达到200kSa/s也就是每秒20万个采样点。搭配N6705B的连续数据记录功能最短可以做到4微秒的采样间隔。如果你需要更高的时间分辨率就得用示波器去配合测量了——SMU的优势是精度和动态范围不是极致的时间分辨率。最后说同步触发。N6705B支持硬件触发总线两块SMU模块之间可以通过背板总线直接传递触发信号。我在做双通道同步测量时设置了SMU1作为主触发源当SMU1检测到电流上升到某一阈值时触发SMU2开始记录这样两个通道的起始时间点完全对齐误差在几十纳秒以内。这个特性在做事件同步分析时非常有用比如你要分析设备的蓝牙广播事件对系统总电流的影响触发源设在SMU1的蓝牙广播电流尖峰处SMU2同步记录主供电电流两路数据严格对齐。4. 实操过程与核心环节实现4.1 第一步硬件安装与连接N6705B主机插模块的步骤很简单关掉电源、把N6781A沿导轨推入槽位、听到卡榫发出咔哒声即可。注意方向不要插反接口是防呆设计插反是插不进去的。上电之后在主机屏幕的Module菜单里检查模块是否被正确识别固件版本是否一致建议两块模块的固件版本保持一致避免出现兼容性差异。接下来是线缆连接。我强烈建议用原厂的开尔文测试线缆或者至少用四根独立的屏蔽线自己焊接。焊接时注意四个端子分别是Force Hi、Sense Hi、Force Lo、Sense Lo对应到DUT端的正极输入和负极输入。连接顺序是先接Sense端再接Force端拆线时先拆Force端再拆Sense端这样可以避免在带电状态下因为接触电阻变化导致DUT两端出现过压。4.2 第二步N6705B主机上的关键设置N6705B自带触屏操作界面比用上位机软件还直观。按通道进入设置菜单后有4个必设项第一项输出模式。N6781A支持CV恒压、CC恒流、CW恒功率以及电池模拟模式。低功耗测试场景通常选CV模式设置好输出电压和电流限制。电流限制一定要设置默认可能是一个比较大的值如果DUT上电瞬间电流过大SMU会直接打嗝保护不仅影响测试严重时会损坏被测器件。第二项量程模式。选择自动Auto还是固定Fixed。自动量程配合无缝切换功能能应对宽动态范围的电流变化固定量程则适合预期电流在某个窄范围内波动、需要极致分辨率的场景。我的经验是测待机功耗用自动无缝测稳定工作电流用固定量程。第三项触发源。选Immediate就是立即开始也可以选Bus由上位机通过GPIB/LAN/USB发命令触发。做双通道同步时建议把SMU1设为MasterSMU2设为SlaveSlave的触发源选Trigger In。第四项数据记录。N6705B支持把采样数据记录到内置存储或者外部U盘。设置好采样间隔和记录时长。如果要测一整晚的待机功耗可以让主机自动记录第二天来收数据。4.3 第三步用上位机软件做自动化双通道测试用N6705B面板设置固然直接但做完一轮设置后换个场景重复劳动就很烦人。这个时候用是德官方的Command Expert或者BenchVue软件会高效得多。BenchVue支持可视化拖拽式构建测试流程无需写代码就能实现双通道数据同步采集和导出。如果你习惯用Python驱动仪器N6705B支持标准SCPI指令通过USBTMC或者LAN接口发送文本命令即可控制。一个最简Python脚本示例如下——注意我这里写的是示意请以实际环境为准import pyvisa # 连接仪器替换为你的实际地址 rm pyvisa.ResourceManager() n6705 rm.open_resource(USB0::0x2A8D::0x0101::MY57001234::0::INSTR) n6705.timeout 10000 # 配置SMU1通道1为CV模式输出3.8V电流限制200mA n6705.write(OUTP:STAT OFF,(1)) n6705.write(VOLT 3.8,(1)) n6705.write(CURR 0.2,(1)) n6705.write(SENS:CURR:RANG:AUTO ON,(1)) # 配置SMU2通道2为电子负载模式拉电流50mA n6705.write(OUTP:STAT OFF,(2)) n6705.write(CURR:MODE SIN,(2)) n6705.write(CURR 0.05,(2)) # 开启两通道输出 n6705.write(OUTP:STAT ON,(1)) n6705.write(OUTP:STAT ON,(2)) # 查询双通道电压电流值 print(n6705.query(MEAS:VOLT? (1))) print(n6705.query(MEAS:CURR? (1))) print(n6705.query(MEAS:VOLT? (2))) print(n6705.query(MEAS:CURR? (2))) # 关闭输出 n6705.write(OUTP:STAT OFF,(1)) n6705.write(OUTP:STAT OFF,(2)) n6705.close()注意脚本里的地址可能与你实际设备不一致建议先用是德官方的IO Libraries Suite扫描一下设备地址和驱动状态。另外双通道同步时用仪器面板上的Trigger键触发比挨个发命令要精准软件层面能做到的时间对齐精度是毫秒级而硬件触发是纳秒级。到这里核心的配置和使用流程已经梳理清楚了。真正要踩一遍坑才知道这套系统里有很多细节决定了测试结果的对错。下面把最容易出问题的几个环节单独拆开讲。5. 常见问题与排查技巧实录5.1 电流读数跳变、数据不连续这是我在这套双SMU平台上遇到最多的一个问题。现象是测待机电流时曲线在某个区间内会出现毛刺或者跳变看起来像是电路本身有问题但用示波器抓波形却一切正常。排查思路先检查量程切换是否开启无缝模式。N6781A默认的量程切换模式可能不是无缝切换如果不小心把无缝切换关了每次切换量程的瞬间会有一个大约几十微秒的中断数据记录软件会把中断读成异常跳变。在面板里找到Current Range配置选项确认Auto Seamless已启用。另外检查采样间隔设置。N6705B的数据记录功能如果设置的采样间隔太大了比如每100ms才采一个点遇到宽度只有1ms的电流脉冲时要么采不到要么采样点恰好落在脉冲上造成横坐标上孤立的高尖峰。应对方法先用高采样率模式最小4微秒间隔跑一遍确认脉冲宽度再根据脉冲宽度设置合理的采样间隔。5.2 双通道不同步做双通道同步测量时发现两路数据的时间戳对不上波形整体有偏移。这个问题的根源几乎都是触发设置不对。排查思路确认两个通道的触发源配置是否一致不能一个设成Immediate另一个设成Trigger In。N6705B的背板触发是共享机制把SMU1的触发输出连接到触发总线再把SMU2的触发输入指向同一条总线设置这个步骤只需要在触发菜单里操作一次不太容易出错。另外一个容易忽视的点是主从角色定义。N6705B的触发系统中谁先触发谁后触发可以配置延迟。我在一次测试中发现SMU2比SMU1晚了大约500微秒启动后来检查发现是在触发配置里不小心给SMU2加了一个500微秒的触发延迟。如果你看到两个通道的数据有明显固定偏差优先检查这个延迟参数。5.3 低电流测量时的噪声和底数偏大测待机电流时发现电流底数一直在几十纳安到几百纳安之间波动无法测到真正的睡眠电流。这类问题通常是连接方式和环境因素造成的先从线缆排查。排查思路确认是否使用了4线开尔文连接。如果用了2线连接Force线和Sense线捆在一起在大电流流过Force线时会在Sense线上感应出噪声电压换算成电流后就是底数抬升。装好4线连接后再做一次零电流校准把DUT移开后SMU应该显示电流接近0A如果底数还是很大就检查屏蔽层接地是否可靠。还有一点容易忽略DUT如果本身有泄放电阻、防静电保护二极管之类的泄放路径即使DUT完全关机SMU端也会检测到一个很小的漏电流这其实不是仪器问题。当时我在测一个带USB防倒灌设计的模块睡眠电流总是稳定在2.3微安怎么调都降不下去后来翻DATASHEET才发现是防倒灌二极管的反向漏电流。5.4 双SMU同时工作时出现电压跌落给两个SMU都设置了5V输出但一开启第二个SMU第一个SMU的输出电压就出现短时跌落。这个问题跟模块功率无关跟主机供电回路的动态响应有关。排查思路检查N6705B的电源配置确认输出电压和电流限制设置合理。一般N6705B有两个供电轨如果两个通道的负载都接在同一供电轨上动态负载切换时交叉调整率可能不太理想需要让两个SMU分别接不同的供电轨。另外检查一下输出开启的时序——两个通道同时开启的时候冲击电流会叠加导致输出电压瞬间跌落。建议在软件脚本里让两个通道错开50ms开启先稳定第一路再开第二路跌落问题基本就能解决。5.5 问题排查速查表现象大概率原因解决措施电流波形出现断点/跳变未开启无缝量程切换开启Current Range的AutoSeamless两通道数据时间错位触发源配置不一致或触发延迟被误设置统一触发源检查触发延迟参数低电流底数偏大未用4线连接或屏蔽接地不良改用开尔文连接检查接地点双SMU同时输出时电压跌落共用同一供电轨或开启时序重叠分配不同供电轨错峰开启输出数据文件过大导致软件卡顿采样率过高记录时间过长先粗采估算时长再设置合理采样间隔测量结果与万用表对不齐线缆电阻未补偿开启远程感测Remote Sense模式5.6 一个容易忽略的工程细节开尔文连接的极性顺序这项单独拿出来说是因为在实际项目里我不止一次看到有人在这个细节上栽跟头。N6781A输出的Force Hi和Sense Hi在DUT端必须连接在同一个点上不能把Sense Hi接到Force Hi线的另一端否则Sense线会形成一个独立的回路不仅起不到远程感测的作用还可能环路振荡。正确做法是在DUT端的电源输入引脚处Force线和Sense线分别用独立的焊盘或者引脚接入尽量靠近DUT的电源引脚。如果在DUT端用一个焊盘同时连接Force和Sense虽然看起来是4线连接实际上只是把4线缩短成了2线电压降误差又回来了。5.7 从固件层面提升双SMU的长期稳定性跑过一整夜的待机功耗测试我发现早期固件版本下N6705B在长时间记录时偶尔会出现通道间时间戳偏移几个毫秒的问题。后来去看更新日志才知道是固件里数据引擎的一个缺陷厂商后续发布了修复版本。N6705B、N6781A这类仪器升级固件不算复杂但一定要严格按官方流程先在是德官网下载对应型号的固件包通过USB或者LAN连接主机在仪器的IO菜单里选择升级升级过程中绝不能断电否则可能把系统刷成砖。升级完后务必重启主机并清除残留的测量缓存数据防止新旧固件的数据格式不兼容导致记录文件打不开。根据我的使用经验如果长期做双通道同步测量建议定期校准。SMU的校准周期一般是一年一次但如果你发现两个通道测量同一标准电阻时读数差异超过0.05%说明模块可能需要重新校准。N6705B支持模块单独拆下来送校不影响其他通道继续使用这一点对比台式SMU整机送校方便不少。6. 双SMU平台还可以怎么扩展这套双SMU平台搭好之后不只是用来做电源测量。我目前已经扩展出了三个额外的应用方向这里一起分享出来供参考方向一温度与功耗联合分析。给DUT贴一个热电偶连接到温度记录仪双SMU通道采集电流电压再用BenchVue把温度数据和电参数合并到同一时间轴。通过这套系统可以直观地看到设备温度升高时功耗的变化曲线。很多热设计问题其实根源都在功耗上双通道同步数据能帮你建立温度-功耗的关联模型。方向二电池模型验证。N6781A支持从CSV文件导入自定义电池模型我可以构建一条电池的放电曲线然后让SMU1扮演电池给DUT供电SMU2扮演充电器在实验室里完整还原一周的电池循环充放电过程而不用真的等一周时间。方向三多路电源时序测试。有些复杂的嵌入式系统需要多路电源轨按严格时序上电比如先1.8V再3.3V最后5V用两台SMU配合N6705B的触发延迟功能可以精确控制各路输出的上电间隔间隔精度远高于软件延时实现的方式。回到标题本身这套双SMU for N6700的搭配在低功耗测试、电池管理、电源完整性验证这些细分方向上有很强的实用性。真正上手之后你会发现模块化平台带来的不只是省地方这一项好处更重要的是触发同步、固件一致性、软件生态这些在一个机箱里天然打通的协同能力——这些才是单台台式仪器拼凑方案比不上的核心价值。另外说句实在话N6781A做电池模拟时设置内阻曲线真的比配一台独立可编程电源要灵活得多尤其是做低内阻电池模型时模块里给出来的曲线拟合参数比手动搭建模拟电路精准太多。如果手里的预算只够先配一块SMU我的建议是优先买第二块同型号模块而不是升级更高功率版本因为双通道同步能力带来的测试场景扩展远比更高的功率指标更实用。