news 2026/10/17 9:31:34

硬件测试入门:从仪器选型到纹波测量与用例设计避坑指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
硬件测试入门:从仪器选型到纹波测量与用例设计避坑指南

简介:这是一份面向硬件测试初学者与测试工程师的PPT培训教材,系统讲解硬件测试的概念、目的、目标、意义与完整流程,覆盖测试前准备、测试种类与级别、可靠性测试、测试问题解决、效果评估、常见通信技术标准及测试规范制定,内容偏重企业级实践,适合研发、质量与测试岗位人员作为入门指导。压缩包共1个文件,为PPT格式,大小793KB,结构完整,可直接用于培训或自学。已有3761人学习,热度较高。讲师具有多年PC、服务器及板卡硬件测试与设计经验,结合FMEA、正规检视、信号完整性、EMC等要点,能帮助读者掌握测试用例设计、故障分析与流程优化的实战思路,为构建零缺陷产品打下基础。

1. 硬件测试不是“拿表量一量”:入门先要弄清楚自己在干什么

一块新板子第一次上电之前,你心里其实在赌:赌电源没短路、赌芯片没焊反、赌时序能跑起来。硬件测试工程师干的事,就是把这种“赌”变成“查明白”——在交付、转产、发布之前,用一套可重复的方法把板子的功能、信号、电源和可靠性问题找出来,并且给出有依据的结论。这篇入门指导面向刚入行或准备转做硬件测试的人,把最常用的测试类型、仪器选型、测量方法和踩坑经验串成一条能直接上手的路径。它不是教你怎么举万用表,而是教你看懂测到的数到底意味着什么,以及哪些坑是新人最容易一头扎进去的。

2. 先把测试地图画清楚:硬件测试到底在测什么

很多人以为硬件测试就是拿一块板子通上电,看灯亮不亮、能不能跑系统。这个想法最大的问题是没有边界——你不可能把一块板子上的所有电性能都测完,时间不允许,规格书也不会把每一项都写清楚。所以入行的第一件事不是拿仪器,而是把“测试”按类别拆开,分清主次,知道每一项背后的目的。

我把硬件测试拆成四个基本盘:功能、信号、电源、可靠性。功能测试回答“能不能用”,信号测试回答“好不好用”,电源测试回答“喂得饱不饱”,可靠性测试回答“用得住多久”。这四个盘子的测试对象、仪器手段和验收依据完全不同,混在一起做,往往一项都做不深。

2.1 硬件测试的基本盘:功能、信号、电源与可靠性

功能测试是新人最先接触的部分。按键响应、灯的状态、串口能不能收发数据、USB设备能不能被识别、某路GPIO拉高后从设备有没有动作,这些都是功能项。功能测试的判据来自需求文档和操作说明,测的是“行为和预期一致”。它的门槛低,但工作量最大,因为每一个用户操作路径都要覆盖到。我见过不少新人把大量时间花在反复点按键上,这没有错,但只做功能测试,你会漏掉真正让板子返工的信号和电源问题。

信号测试测的是波形质量。一个时钟信号的上沿够不够陡、一组高速总线的眼图有没有闭合、I2C总线上有没有过冲导致误读,这些都是信号测试的范畴。信号测试依赖示波器和逻辑分析仪,判据来自器件数据手册里的时序图和电压阈值。功能测试看到“偶尔通信失败”,到了信号测试这里要变成“SDA下降沿过冲超过Vih阈值,造成误触发”。能把功能问题翻译成信号问题,是测试工程师从入门到能独立负责项目的分水岭。

电源测试是所有板子的底线。电源纹波过大,一块看起来一切正常的板子会随机死机;上电时序不对,芯片在初始化阶段就可能闩锁。电源测试的项目包括电压精度、纹波、负载调整率、线性调整率、效率、上电时序和各类保护功能,主要仪器是可编程电源、电子负载和示波器。判据只有一个来源——电源芯片和受电芯片的数据手册,而不是你“觉得这个纹波还可以”。

可靠性测试回答的是时间问题。板子在高温60度环境下连续跑7天会不会死机,反复插拔连接器几百次后接触电阻会上升多少,整机跌落之后内部线缆有没有松脱。可靠性测试需要温箱、振动台、老化架这类设备,周期长、样本少、成本高,通常在功能、信号、电源都验证完毕后才会投入做。新人阶段不需要把可靠性做深,但要清楚自己的测试计划里有没有把高低温、长负载这些工况安排进去。

2.2 入门仪器选型:预算有限时优先买什么

测试工程师的核心资产不是手里的烙铁和放大镜,而是示波器、万用表、可编程电源、电子负载这四件套。选型时最容易犯的错是“买最贵的”或者“买通道数最多的”,实际上每一类仪器都有自己的关键参数,参数不够,贵也白搭。

示波器的核心参数是带宽、采样率、存储深度和通道数。带宽决定了你能观察到的信号频率上限,经验公式是按被测信号最高频率的5倍起步,但数字信号不能只看时钟频率,要看上升沿——更可靠的经验是用0.35除以信号上升时间,得到的值就是所需带宽的下限。比如一个上升沿为2ns的信号,0.35除以2ns等于175MHz,你至少得买200MHz带宽的示波器,100MHz的根本看不清真实边沿。采样率对应示波器能够还原波形细节的能力,一般是带宽的5到10倍;存储深度决定时基拉长之后波形还清不清楚,入门机建议不低于25Mpts。通道数在入门阶段选4通道,因为测上电时序的时候,4路电源同时抓比两路分两次测靠谱得多。

万用表的核心参数是精度和分辨率。做一般调试,3位半到5位半的真有效值万用表足够;如果以后要测基准源或者校准量值,才需要考虑6位半。分辨率不是位数越多越好,测3.3V电源用0.1mV分辨率已经够了,分辨率更高的表通常噪声更大,读数反而跳。还要关注输入阻抗,绝大多数万用表是10MΩ,测高阻节点时要警惕负载效应,这一点后面的避坑章节会专门讲。

电子负载和可编程电源在入门时容易被忽略,但它们做电源测试不可或缺。电子负载要看功率上限、最小工作电压和动态模式。比如你要测一块5V/2A的DC-DC,电子负载至少得支持10W以上,而且要在低压大电流下还能稳定拉载,有些负载在1V以下拉不了满电流。可编程电源要看电压电流范围、分辨率和回读精度,入门级不必追求高精度电源,但一定要支持远端采样(remote sense),否则测试线缆上的压降会让你的读数偏差很大。

四件套之外,有条件再配一个频率计或者简易逻辑分析仪,用来抓UART、I2C这类低速总线的通信内容。协议分析对新人理解“为什么功能异常”非常有帮助,但它属于增强设备,不着急配。

2.3 从规格书到测试项:一块DC-DC模块的测试清单

规格书就是判据的源头。拿到一块板子,第一件事是找原理图、找主要芯片数据手册、找需求规格书,把“正常”两个字翻译成活生生的数字。以一块输入12V、输出3.3V/2A的DC-DC模块为例,一份合理的测试清单至少包含下面这些项。

测试项测试条件判据示例主要仪器
输出电压精度12V输入,满载2A3.3V ± 3%万用表
输出纹波满载2A不超过 80mVpp示波器
负载调整率负载从1A跳到2A电压变化 ≤ 1%电子负载 + 万用表
线性调整率输入从10V到14V电压变化 ≤ 1%可编程电源 + 万用表
转换效率满载2A≥ 88%电压表 + 电流表
短路保护输出短路1分钟移除短路后模块能自动恢复电子负载短路模式

把这些测试项列出来后,还要给每一项定优先级。输出电压精度、纹波和上电时序属于P0,一定在原型板阶段就开测;效率和短路保护属于P1,在改版或转产前完成;负载调整率这类动态项列P1或者P2。规格书上没有写、但实际应用会遇到的工况,比如轻载1mA、启动瞬间容性负载,可以单独建一个“补充测试”清单,不要混进主测项里,否则测试报告很难解释。

这里有个血泪经验:测一个参数之前,先问自己“判据是什么”。如果答不上来,要么翻器件手册,要么找硬件设计的人确认。没有判据的测试,测出来的数据无法判断通过不通过,等于白测。很多新人测完一堆数据,报告里只有数值、没有结论,评审问一句“这个纹波为什么不写结果”,当场就卡住了。测试清单在动手前就应该把“预期”一栏填满,这一步没做好,后面的操作再漂亮也没有意义。

3. 上电以后的测量实操:纹波、时序与探头设置

仪器选好、清单列好,真正动手的时候你会发现,示波器测出来的数和规格书上的典型值总是对不上。这时候大部分问题出在探头接法上,而不是电路本身。硬件测试的实操环节有个很重要的概念:你测到的永远是你这个测量系统的响应,不一定是电路的真实行为。测量方法错了,示波器会把一个50mV的纹波显示成200mV,还会把2ns的真实上升沿显示成5ns。

这一章我按“电源纹波—信号时序—参数速查”的顺序来讲,因为这是新人在一块数字板卡上最常做的三类测量。每一类我都会给出具体的探头接法、示波器设置和判断方法,都是可以直接抄作业的程度。

3.1 电源纹波测量:探头接法比示波器本身更重要

先说最常见的翻车现场:用示波器探头自带的长地线夹子去测DC-DC的输出纹波,测出来200mVpp,而规格书上写的典型值是50mVpp。很多人第一反应是板子设计有问题,实际上长地线夹已经在空气中做了一个环形天线,把开关节点的高频噪声和周围环境的电磁干扰都耦合了进来。纹波本身是个小信号,叠加在这类拾取噪声上,读数会成倍偏大。

正确的做法是用探头自带的短地弹簧,或者用一根极短的铜线缠绕在探头地环上,把探头尖端和地弹簧直接跨接在输出电容的两个引脚上。跨在电容上而不是跨在电源输出端子上,是因为电容上的电压才是真实的输出纹波,端子到电容之间还有PCB走线的寄生电感,测出来的数值会比实际工作状态下偏大。示波器这边,耦合方式选AC耦合,把直流成分滤掉,垂直刻度放到20mV/div左右,让纹波信号在屏幕上占到足够大的幅度。带宽限制记得打开20MHz,因为电源纹波的关注频段通常在20MHz以内,更高的频率成分要么被PCB走线吸收,要么属于辐射干扰,不该算进纹波指标里。

还有一个参数很多人会忽略:探头衰减比。测纹波时我一般用10x衰减,而不是1x。1x探头虽然对微小信号更敏感,但它的带宽通常只有几MHz,而且底噪大,测出来的高频纹波成分不可信;10x探头配合示波器内部的垂直放大,再加上AC耦合,已经能把几十毫伏的纹波看清楚。如果你手上的是无源探头,测之前先做一次探头补偿校准,方波前边沿不圆、有尖角或者圆角,说明探头电容没匹配好,测出来的幅度和边沿都不准。

设置项推荐值原因
探头衰减10x1x带宽低、底噪大
探头接地短地弹簧跨接输出电容减小环路天线拾取噪声
耦合方式AC滤除直流分量,方便放大纹波
带宽限制20MHz纹波指标关注20MHz以下成分
垂直刻度20mV/div左右让纹波波形占据屏幕主要高度

做完这几步,测出来的纹波才是电路的真实表现。如果读数还是超过规格书,那才轮到怀疑芯片选型、输出电容ESR、PCB布局这些问题。排查顺序别搞反——先排除测量系统的误差,再动板子上的元器件,否则越调越乱。

3.2 关键信号时序测量:上升沿、建立与保持时间

数字信号的时序测量比纹波更依赖示波器设置。比如一个100MHz的时钟信号,如果你用50MHz带宽的示波器去看,上升沿会被严重拉长,占空比也会失真,得出的结论完全不可用。测量之前,先用0.35除以预期的上升时间,确认手上这台示波器带宽够不够。

我来举一个实际的I2C信号测量场景。假设要从一块板上抓一条100kHz的I2C总线,总线上挂着三个从设备,功能测试时不时出现通信失败,怀疑是时序问题。示波器设置参考这个做法:通道1接SCL,通道2接SDA,触发源选SCL,触发方式选上升沿,触发电平设在Vih和Vil的中间值。1.8V电平的系统,触发电平可以设在0.9V左右;3.3V系统则设在1.65V左右。时基先放宽松抓一个完整的读写周期,看清楚波形整体形态,再逐步拉小时基,观测单bit的上升沿和建立时间。

测量上升沿时,电平判据是10%到90%,而不是0%到100%。示波器的自动测量功能里选Rise Time,它会按10%和90%自动标定。如果示波器的高斯带宽不够,测出来的上升沿会比真实值偏大,所以记录数据时要把示波器型号和带宽一并写进测试记录,后面对比数据才说得清差异来源。

建立时间(Setup Time)和保持时间(Hold Time)的测量有一个基本思路:在时钟采样沿到来之前,数据线需要提前稳定多长时间;在时钟采样沿之后,数据线需要继续保持多长时间。示波器上可以把SCL的上升沿作为触发点,用光标分别量到SDA最近一次跳变的时间差。对比I2C器件的规格书,找到最小建立时间和最小保持时间的要求,实测值必须大于这个最小值。实测不满足时,优先怀疑PCB走线长度差过大、上拉电阻过小导致边沿过缓,而不是芯片坏了。

3.3 常见测量项参数速查表:一个设置问题对应一组测量结论

为了方便日常工作,我把几个最常见的测量项做成一张速查表,贴在自己工位墙上。它解决一个很实际的问题:每次拿起示波器,不用重新想该设什么参数,按表设置就能得到可复现的结果。

测量项探头耦合带宽限制触发电平参考备注
电源纹波10xAC20MHz不设短地弹簧跨输出电容
电源上电时序10xDC全带宽额定电压的90%多通道同时抓取
时钟信号10xDC全带宽Vih/Vil中间值先整体后细节
I2C时序10xDC全带宽约0.9V(1.8V系统)触发选SCL上升沿
复位信号10xDC全带宽Vih最小值关注上下电毛刺

这里要特别说一个判断习惯:判据永远优先看器件数据手册上的时序图,而不是套用别的板子的经验值。不同芯片对同样的协议要求不一样,有的芯片建立时间要求5ns,有的要求50ns,你拿上一块板子的经验来判断这块板子,很容易把合格信号误判成不合格。

这套速查表解决的是“怎么测”的问题,“测出来的数该怎么判”还是要回到规格书。两者的顺序不能反。先确定判据,再选设置,最后动手测。新人在动手前多花两分钟把触发、带宽、耦合这三样确认好,能省掉后面返工的两小时。

4. 测试用例设计:从“会测”到“测全”的关键一步

硬件测试最尴尬的结果不是“测出了bug”,而是“交付之后才发现某条路径从来没测过”。功能测试、信号测试、电源测试每一项都做了,但有一个输入电压的边界工况没覆盖,产品在客户现场低温轻载的条件下出现了问题,返工成本十倍于开发阶段。这种事故的根子不在某一次测试操作上,而在于没有先做用例设计。

用例设计是测试工程师和只会调板子的人最大的分水岭。两者的差别可以归纳成一句话:调板子的人想的是“这条路径能不能跑通”,用例设计者想的是“还有哪些路径我没跑过”。硬件和软件不一样,硬件测试没法在代码里跑一个自动化全覆盖,只能靠人把测试项按维度和优先级组织起来,做到可枚举、可追踪。

4.1 用例设计的四个维度:边界、极限、异常与组合

我在设计硬件测试用例时,默认从四个维度去逼近“测全”这两个字。第一个维度是边界。规格书标称输入12V,不代表只测12V就够。输入电压的上下限——比如10.8V到13.2V——必须测,而且要把输出电压精度和纹波作为观察对象,看电路在接近极限时是否仍然满足指标。类似地,温度也是个边界维度,板子规格书写了工作温度-20度到60度,那低温启动、高温满载都是必须设计的用例。

第二个维度是极限。边界测的是“能不能工作”,极限测的是“在超出规格的短暂情况下会不会损坏”。典型例子是负载极限:一个标称2A的电源模块,用电子负载拉2.4A,连续跑1分钟,观察模块是否进入过流保护、保护之后能否恢复。这类用例的目的是确认保护机制有效,而不是靠压榨板子来制造返修件。保护动作的阈值和恢复时间都记录在案,后续量产筛选就有了依据。

第三个维度是异常。输入反接、输出短路、通信线缆半插、插拔瞬间的浪涌,这些在实际使用中一定会发生。异常用例设计的关键是不带预期去试——你说反接会烧保险丝,那烧掉了算不算合格?要按规格书或者设计意图来判定:设计时留了反接保护就是合格,没留保护就要在报告里标注风险等级。异常用例不是用来刁难硬件工程师的,是用来把潜在风险从“用户发现”提前到“出厂前发现”的。

第四个维度是组合。单维度测试做全了,组合工况还会暴露新问题。高温+满载是经典组合,低温+轻载也经常出问题,因为轻载下某些电源芯片会进入跳脉冲模式,轻载纹波比满载还差。组合测试不能无脑堆组合数,要按失效模式的相关性挑。电源项优先做“温度×负载”,通信项优先做“速率×线缆长度”,挑两三个高价值组合就够了,全组合是测试领域做不完的无底洞。

4.2 一个可用的测试用例模板与生成脚本

用例设计的结果需要一个承载形式。很多团队用Excel管理用例,Excel的好处是大家都会用,排序筛选方便;坏处是字段格式靠自觉,换了人容易乱填。我更习惯用结构化文本管理用例,自动生成模板,再用脚本转成不同格式。下面这个Python脚本是一个可以放在任何项目里使用的模板生成器,它生成JSON格式的测试用例文件,字段固定,后面接CI或测试报告工具都方便。

import json from datetime import date def build_test_case(tc_id, category, condition, steps, expect, priority="P0"): return { "tc_id": tc_id, # 用例编号,如 TC-PWR-001 "category": category, # 用例类别:电源 / 信号 / 功能 / 可靠性 "priority": priority, # 优先级 P0 / P1 / P2 "condition": condition, # 前置条件 + 测试环境 "steps": steps, # 测试步骤,列表结构,按序执行 "expect": expect, # 预期结果,必须可量化可判断 "actual": "", # 实测结果,执行时回填 "result": "pending", # 判定状态 pending / pass / fail "created": str(date.today()) } cases = [] cases.append(build_test_case( "TC-PWR-001", "电源", "输入12V,输出接电子负载CC模式拉2A,室温25℃", ["用电子负载将输出拉到2A满载", "用万用表测量输出电压记录", "用示波器AC耦合测纹波"], "输出电压在3.3V±3%范围内,纹波不超过80mVpp" )) cases.append(build_test_case( "TC-PWR-002", "电源", "输入12V,输出满载2A,电子负载从1A动态跳变到2A", ["设置电子负载动态模式,1A与2A交替切换", "用万用表观察输出电压变化"], "输出电压波动不超过1%,无断电或复位现象" )) with open("test_cases.json", "w", encoding="utf-8") as f: json.dump(cases, f, ensure_ascii=False, indent=2) print("生成 test_cases.json,共", len(cases), "条用例")

这段脚本有几个设计点在复制到你的项目里时要注意。tc_id的前缀对应用例类别,方便后续从报告里按类别统计。condition字段不只是“输入12V”,还应该带上环境温度和负载状态,因为同样的用例在不同条件下结论可能完全相反。expect字段必须可量化,写“纹波正常”等于没写,写“不超过80mVpp”才是合格预期。priority字段用来决定测试顺序,P0的用例在任何一次改版中都要回归,P2的用例可以在版本发布前集中处理。

你用的时候只需要改build_test_case()的入参,然后运行脚本就会生成一个JSON文件。如果想转成Excel发给产线同事看,再用pandas读一遍这个JSON导出即可。这个流程的好处是模板格式统一、生成速度快、后续接自动化报告不用二次处理。

4.3 测试记录与问题追踪:让别人能接手你的记录

用例执行完之后,记录的质量直接决定测试结论的可信度。很多测试记录单上只有一列“实测结果”和“是否通过”,隔两周回来看,自己都记不清当时用的是哪块板子、哪个版本。我从入行第一天就被带教导师定了一个规矩:任何记录缺失板卡版本号、器件批次、仪器编号这三项,视为无效记录。

测试记录至少包含这些字段:板卡硬件版本、软件版本、关键物料批次、仪器型号与编号、校准有效期、室温湿度、测试日期、测试人、用例编号、实测数据和最终判定。环境温湿度看起来不重要,但一个开关电源在25度和60度下测出来的纹波和效率差异很大,不记录环境,数据无法复现。仪器编号同样关键,两台示波器如果校准状态不同,同一信号测出来的上升沿可能差出20%,记录仪器编号是为了事后能追溯。

问题追踪跟测试记录不一样,测试记录回答“这一项合不合格”,问题追踪回答“不合格之后做了什么”。我习惯用一个简化的四列表:问题编号、现象与复现条件、根因分析、处理动作与复测结果。核心要求只有一条:问题状态不能停在“分析中”,必须推进到“复测结果已确认”。这个习惯在量产阶段尤其有价值,产线反馈的每一个异常都能在记录里找到对应的问题编号,不会出现“上次那个波形问题后来怎么样了”这种无头悬案。

5. 硬件测试避坑指南:新工程师最容易翻车的五个现场

这一章写的是真人真事级别的经验。我不会讲大道理,只把新工程师最容易踩进去的五个坑按“现象→原因→解决”三个环节讲清楚。每个坑我都踩过或者看着身边同事踩过,写出来帮你少走一两个月弯路。

5.1 用长地线夹测纹波:数字越大,越觉得板子有问题

坑的具体表现是:用示波器探头自带的那根十几厘米长地线夹来测DC-DC输出纹波,测出来200mVpp,明显超过规格书上的80mVpp。你可能反复确认型号和判据,然后开始怀疑电感选型不对、怀疑输出电容ESR太高,甚至准备改版。实际上是测量系统的问题,不是电路的问题。

原因很简单:长地线夹和探头尖端之间形成了一个很大的环路,这个环路相当于一根接收天线。DC-DC的开关节点有高频方波,强烈的dv/dt通过空间耦合到探头的回路里,叠加在真实的纹波信号上。越靠近电感或开关节点测,拾取到的噪声越大。

解决方法是换一种接法:把长地线夹摘掉,用探头自带的短地弹簧,或者用一段不超过1厘米的裸铜线绕在探头地环上,直接连接到输出电容两端。示波器设置同步调整为AC耦合、20MHz带宽限制、垂直刻度20mV/div左右。这么一改,读数通常能降到规格书范围内。判断到底是不是测量问题,有一个快速办法:把探头尖端和地短路接在一起,屏幕上显示的基线噪声如果本身就超过指标值,说明测量环境已经被干扰污染了,先解决测量环境再测真实信号。

5.2 探头带宽不够:测出来的上升沿全是假的

现象是同一块板子上的时钟信号,用一台100MHz带宽的示波器测,上升沿显示5ns;换到500MHz带宽的示波器测,变成2ns。两个数据都是“真实读数”,但只有后者反映信号的真实行为。如果你拿着5ns的上升沿去比对芯片手册里“最大上升时间不超过3ns”的要求,就会得出“芯片性能劣化”的错误结论。

原因是带宽不够的示波器像低通滤波器,把信号的高频分量滤掉了,边沿自然被拉宽。示波器带宽与上升时间之间的关系大约是0.35/BW,100MHz带宽对应的可测上升沿理论上限约3.5ns,测5ns的边沿已经是极限边缘,测2ns的边沿完全不可信。

解决方法是测量前先做估算:0.35除以预期上升时间,得到所需带宽下限。预期上升时间从芯片数据手册里找,一般芯片会给出输出波形的典型上升时间。手册没给,可以按信号频率的5倍起步估算。还要注意一个容易被忽视的点:探头本身也有带宽,示波器标称500MHz不代表配的探头也是500MHz,检查一下探头型号上的带宽标识,两者要匹配。在测试记录里顺手写上设备带宽,后面别人翻记录时能判断数据可信度。

5.3 万用表探到高阻节点:一表笔下去,电路状态直接改变

现象是测某个MOS管栅极电压,第一次表笔接触读数是0.8V,再测一次变成1.2V,来回测了几次数据都不一致。你甚至怀疑表笔接触不良,换了表笔还是这样。实际上电路状态已经被万用表的输入阻抗改变了。

原因是万用表电压档的输入阻抗通常是10MΩ,当一个被测节点本身的输出阻抗在MΩ级时,万用表并联上去相当于给节点挂了一个分压电阻。比如一个高阻分压点,源端等效阻抗1MΩ,万用表10MΩ并上去,测得的电压已经偏离原始开路电压将近10%。对于栅极这类极弱驱动能力的节点,影响更明显。

解决方法是先判断被测节点属于哪种类型。低压电源轨、运算放大器输出这类低阻抗节点,直接用万用表没问题;晶振引脚、MOS管栅极、高阻分压网络、积分电容这类高阻抗节点,优先用示波器10x探头测量,因为10x探头的输入阻抗是10MΩ并上十几皮法电容,和万用表的负载特性不一样。如果必须要测直流电压,还可以先看一眼原理图上该节点的源阻抗,估算一下被测值可能偏离多少。测高阻节点更可靠的手段是加一个高输入阻抗缓冲放大器,但入门阶段用示波器10x探头做定性观察,大多数场景够用了。

5.4 上电不看时序:核心电压先起,IO还没起来

现象是某块板子在测试中偶发启动失败,电流异常,芯片表面明显发烫,有时候重新上电又一切正常。功能测试测不出稳定问题,信号测试也没有异常波形,最后查下来是上电时序不满足数据手册要求。

原因是一块板子上往往有多路电源:核心电压、IO电压、模拟电压、时钟域电压,各路电源之间存在明确的先后关系。数据手册里会画一个序列图,比如要求“核心电压先于IO电压”“或者同时上升”,如果IO先于核心上电,芯片内部可能出现闩锁,使驱动通路直接导通,造成大电流灌入。

解决方法是把多路电源的测试做成一个固定动作:上电时用示波器多通道同时抓取各路电源波形,看它们的上升沿谁先谁后。4通道示波器一次能看四路,用10x探头DC耦合接在电源输出电容两端,触发电平设在各路标称电压的90%附近,捕捉上电瞬间。把这组波形和时间间隔记录进测试报告,作为每块原型板的必测项。一个值得固化的习惯是:任何一块新板子到手,第一次上电之前先看原理图、把上电时序画在纸上贴在示波器旁边,之后每次上电都拿波形跟图比对。这个习惯救过我很多次,因为时序问题往往是“时好时坏”最难复现的那种,等量产了再发现就晚了。

5.5 测试记录缺环境信息:三天后复测,数据对不上

现象是一份电源测试报告里记录了输出电压、纹波、效率的数据,但没写板卡版本、仪器型号和室温。三天后同一个项目组的同事复测,数据差异到了5%以上,两个人谁都说服不了谁,最后发现一个用旧版本板子、一个用新版本板子,根本没有可比性。

原因是记录本身没有包含“可复现条件”。硬件测试的数据不像软件测试那样输入输出完全确定,它依赖硬件版本、物料批次、测量仪器、环境温度、甚至线缆长度。任何一项不记录,数据就失去了横向对比的基础。这属于测试管理的问题,不是测试操作的问题,但它造成的返工量往往比操作失误更大。

解决方法是把测试记录模板固定下来,字段空缺不允许提交。板卡硬件版本、软件版本、关键物料批次、仪器型号与编号、校准有效期、室温湿度、测试日期、测试人,这几项先填完才允许开始测。我见过不少团队用拍照记录代替文字,看起来很全,但照片拍不到的部分永远找不回来。所以我的习惯是:先建好带字段的表格再动手测,而不是测完再补记录。漏记的条件补不回来,这一点没有后悔药。

6. 进阶技巧:用一份脚本把重复测试固化下来

当产品进入量产验证阶段,你会发现自己每天都在重复同一个动作:把可编程电源调到某一个电压,给板子供电,用电子负载拉载,抄下电流值,再换下一组参数。手动拧电源、抄数据的流程不但慢,还特别容易出低级错误——有一次我在连续测了十几个点之后,把一个满载数据抄到了轻载那一行,评审差点没看出来。从那之后,凡是重复性超过五遍的测试流程,我都会花一点时间把它写成脚本。

6.1 用串口控制可编程电源并自动记录数据

入门级可编程电源大多带RS232或者RS485接口,用串口指令控制是成本最低的自动化方案。下面这段脚本演示了最基础的思路:通过串口给电源发SCPI指令,设置不同电压,读取输出电流,并追加记录到CSV文件里。它可以作为固定流程的自动化骨架,你换成自己手上的仪器指令集就能跑。

import serial import time import csv # 根据实际设备修改串口号和波特率 port = serial.Serial('/dev/ttyUSB0', 9600, timeout=2) def set_voltage(ch, volt): """设置指定通道的输出电压""" cmd = f'INST CH{ch};VOLT {volt:.3f}\n'.encode() port.write(cmd) time.sleep(0.5) # 等待电源输出稳定 port.read(port.in_waiting) # 清空应答缓冲 def measure_current(ch): """读取指定通道的输出电流,返回浮点数""" cmd = f'MEAS:CURR? CH{ch}\n'.encode() port.write(cmd) time.sleep(0.3) raw = port.read(128).decode().strip() try: return float(raw.split(',')[0]) except ValueError: return float('nan') # 读到乱码时以nan标记,便于排查 with open('load_test.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerow(['voltage_set', 'current_measured', 'timestamp']) for volt in [3.0, 3.3, 3.6, 4.0]: set_voltage(1, volt) current = measure_current(1) writer.writerow([volt, current, time.strftime('%H:%M:%S')]) print(f'{volt}V -> {current:.3f}A') port.close()

这段脚本里最关键的三个细节值得说透。set_voltage里加的0.5秒延时,是为了等电源输出稳定后再读数,不同电源的稳定时间不一样,需要按你手上设备的响应速度调整。measure_current里读取返回值只取逗号分隔的第一段,是因为很多电源在应答时会带上通道号和状态信息,直接转float会报错,这个兼容性处理是串口仪器通信最常见的一个坑。还有异常处理:读到不能解析的内容时返回nan而不是让脚本崩溃,这样测试流程不会因为一次通信抖动而中断,事后还能根据nan标记去排查哪一步出错了。

不同品牌的电源指令集不一定相同,关键是把设备的串口指令手册找来,把VOLT和MEAS:CURR这两条指令替换成对应格式。自动化测试不是为了取代调试过程,而是为了固定流程。调试的时候还是手动操作示波器抓波形效率更高,一旦测试步骤确定、判据确定,才值得固化到脚本里。

6.2 手动测试与脚本测试的取舍

对比维度手动测试脚本测试
上手速度零门槛需要写代码和调串口
重复性多次操作容易手误每一次操作完全一致
执行速度受操作速度限制按延时参数快速执行
数据记录容易漏抄、抄错自动落表,无丢失
适用场景新项目调试、故障排查量产验证、可靠性长测

手动和自动不是替代关系。研发初期的波形调试、故障复现、边界试探,靠手动灵活调整才是最高效的。量产验证、老化测试、长时间数据采集这类场景,手动操作除了累,还有就是注意力不集中造成的数据污染,脚本才是正确选择。我自己的习惯是:一个测试项如果预计要做超过三次,先停一下,看看能不能用脚本做;做不了的,再手动执行。

硬件测试入门到这一步,算是把地图和工具都过了一遍。我个人的一个习惯是:拿到新板子,第一件事永远是做最笨的通断测试,确认电源到地没有短路之后再接电,然后把上电时序图贴在示波器旁边,才开始跑用例。这些动作看起来琐碎,却在每一个项目里帮我挡掉了大量返工。保持对测量系统的怀疑、对判据的较真、对记录的固执,这条路上你踩坑的次数会少很多。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/18 3:24:10

Matlab光谱转Lab/RGB/k-s值的标准化流程与避坑指南

简介:本资源是一套面向图像处理与色彩科学方向的MATLAB实践工具包,适用于高校学生、科研人员及工业领域从事颜色质量控制、光谱分析的技术人员。它聚焦于从原始光谱数据出发,系统实现k值计算、CIE三刺激值(XYZ)积分、C…

作者头像 李华
网站建设 2026/10/18 0:27:16

Java实现闪送AccessToken高可用管理方案

1. 项目概述:为什么一个AccessToken成了闪送对接的“第一道门”做物流类系统集成的朋友应该都踩过这个坑:明明接口文档写得清清楚楚,参数也填对了,签名算法也照着示例跑通了,可一调用/v2/order/create就返回401 Unauth…

作者头像 李华
网站建设 2026/10/18 0:40:03

foobox: 5分钟装完,把foobar2000灰扑扑界面升级成专业级皮肤指南

foobox: 5分钟装完,把foobar2000灰扑扑界面升级成专业级皮肤指南 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 每次打开 foobar2000,音质一流,但那个灰扑扑、一眼…

作者头像 李华
网站建设 2026/10/18 1:07:47

PyQt5 + pyqtgraph 实现超大遥感影像流畅缩放平移的实战指南

简介:这份资源面向需要显示超大尺寸影像的 PyQt5 开发者,专门解决加载遥感影像、SAR 影像时界面卡顿、响应缓慢的问题。作者采用将影像预先分割为较小瓦片、再在 QGraphicsItem 中循环调度的方式,显著提升交互流畅度,并完整支持缩…

作者头像 李华
网站建设 2026/10/18 0:39:36

从零构建artcraft:艺术与工程融合的创作工具设计指南

1. 从“artcraft”这个名字说起:它到底想解决什么问题第一次看到“artcraft”这个标题,我脑子里蹦出来的不是某个具体工具,而是一种很朴素的冲动——把“art”和“craft”这两个词捏在一起。art是艺术、审美、表达,craft是手艺、工…

作者头像 李华
网站建设 2026/10/18 0:29:13

Unity文件操作避坑指南:安全创建、删除文件夹与.meta文件管理

1. 为什么Unity里删个文件夹比在资源管理器里点一下还费劲?刚接手一个老项目时,我遇到过最让人抓狂的场景:需要在运行时动态清理临时缓存目录,结果用Directory.Delete(path)直接抛出UnauthorizedAccessException——不是权限问题&…

作者头像 李华