3、硬件测试原理:电源测试(电压/电流/纹波)、时钟测试(频率/抖动)、GPIO与按键测试

各位做量产测试的兄弟,咱们今天聊聊硬件测试里最基础、也最绕不开的三个测试项:电源、时钟、GPIO与按键。这三样东西,说白了就是POS机的「心脏」、「脉搏」和「手脚」。任何一个出问题,机器要么不开机,要么死机,要么按键没反应。

我这些年经手过的量产项目,少说也有几十个了。每次试产阶段,至少有一半的返修板子,问题都出在这三个环节上。所以今天我把自己的测试经验和踩过的坑,都摊开来跟你们讲讲。

3.1 电源测试:电压、电流与纹波

电源是整台POS机的命脉。我见过最离谱的一次,量产了500台机器,结果有30台在客户手里用了一周就自动重启。查到最后,是电源纹波超标,导致主控芯片偶尔复位。

电源测试,我一般分三步走:

3.1.1 电压测试

电压测试不是拿万用表随便一搭就完事的。你得关注三个维度:

  • 空载电压:板子不上电,先测电源输出端对地阻抗,防止短路。然后上电,测各路电压是否在规格书范围内。比如3.3V,我一般要求±3%以内,也就是3.201V~3.399V。
  • 满载电压:让POS机跑满负荷——打印头持续加热、4G模块满功率发射、屏幕最亮。这时候电压会掉。我遇到过一款电源芯片,空载3.3V很稳,一加载就掉到3.05V,直接导致WiFi模块断连。
  • 动态响应:突然加载、突然卸载,看电压的过冲和下冲。这个用示波器看最直观。

我的测试清单:

  • 主电源(如12V):±5%
  • 系统电源(3.3V):±3%
  • 核心电源(1.2V/1.8V):±2%
  • 模拟电源(如音频、ADC):±1%

3.1.2 电流测试

电流测试,说白了就是看你的板子「饭量」有多大。我习惯用精密电阻+差分探头的方式测,而不是直接串万用表。为什么?因为万用表的保险丝在量产测试中太容易烧了,一烧就是停机等维修。

量产测试时,我会设置三个电流阈值:

  • 待机电流:屏幕熄灭、无交易、WiFi待机。一般要求<50mA。如果超标,说明有器件没进休眠。
  • 工作电流:正常交易场景。比如刷卡+打印小票,大概在300mA~800mA之间。
  • 峰值电流:打印头加热+4G发射同时发生。这个瞬间电流可能冲到2A以上。要注意电源芯片的限流点是否设置合理。

注意:我曾经遇到一批板子,待机电流从30mA慢慢涨到200mA。查了三天,发现是某个电容漏电。从那以后,我要求所有量产测试程序必须监控电流的「变化趋势」,而不仅仅是「瞬时值」。

3.1.3 纹波测试

纹波,就是电源上的「毛刺」。你想想看,如果3.3V上叠加了200mV的纹波,那对于1.8V的DDR供电来说,简直就是灾难。

纹波测试的要点:

  • 探头要短地:去掉探头的地线夹,直接用弹簧接地。否则你测到的纹波有一半是空间耦合进来的噪声。
  • 带宽限制:一般设20MHz带宽。太高了会把开关噪声也算进去,太低了又看不到真正的纹波。
  • 测试点选择:在负载端测,而不是在电源输出端。因为PCB走线本身有阻抗,负载端的纹波才是芯片真正吃到的。

我一般要求纹波峰峰值不超过标称电压的1%。比如3.3V,纹波要小于33mV。如果超过50mV,我会建议硬件同事改Layout或者换电容。

3.2 时钟测试:频率与抖动

时钟是POS机的「脉搏」。时钟不准,通信就会错码,屏幕就会闪烁,刷卡就会失败。

3.2.1 频率测试

频率测试,我一般用频率计或者示波器的频率测量功能。但要注意:

  • 晶振频率:比如32.768kHz的RTC晶振,偏差要控制在±20ppm以内。我遇到过一批晶振,标称20ppm,实际测出来有80ppm,导致时钟一天慢好几分钟。
  • 系统主频:比如25MHz的以太网晶振,偏差±50ppm以内。这个用示波器看周期,然后换算成频率。
  • PLL输出:比如主控内部PLL倍频到1GHz。这个没法直接测,但可以通过测分频后的测试点来间接验证。

小技巧:量产测试时,我习惯用「频率偏差百分比」作为判定依据,而不是绝对频率。因为不同批次的晶振中心频率会有微小差异,但偏差百分比是稳定的。

3.2.2 抖动测试

抖动,说白了就是时钟周期的「忽长忽短」。这个对高速信号影响特别大。

我一般关注两种抖动:

  • 周期抖动:相邻两个周期的偏差。这个影响时序裕量。
  • 累积抖动:长时间内的相位漂移。这个影响通信同步。

测试方法:用示波器的抖动分析功能,采集至少1000个周期,看直方图。如果抖动呈现高斯分布,说明是随机噪声;如果出现双峰,那多半是电源串扰或者地弹。

我的经验阈值:

  • 低速时钟(<10MHz):周期抖动 < 1% 周期
  • 高速时钟(>100MHz):周期抖动 < 50ps
  • DDR时钟:累积抖动 < 200ps

3.3 GPIO与按键测试

GPIO和按键,是POS机和用户交互的「手脚」。这个测试看起来简单,但坑最多。

3.3.1 GPIO测试

GPIO测试,我一般分输入和输出两类:

输出测试:

  • 写高电平,测电压是否达到VOH(一般>0.8*VDD)
  • 写低电平,测电压是否低于VOL(一般<0.2*VDD)
  • 测驱动能力:接一个额定负载电阻,看电压是否还能保持

输入测试:

  • 输入高电平,读寄存器是否为1
  • 输入低电平,读寄存器是否为0
  • 测阈值:用可调电源慢慢升压,看什么时候从0变1

我曾经踩过的坑:有一款POS机,量产测试时GPIO全部通过,但到了客户手里,有10%的机器在低温环境下按键失灵。查到最后,是GPIO的上拉电阻选得太大了,低温下漏电流增大,导致电平被拉低。从那以后,我要求所有GPIO测试必须包含「极限温度下的阈值测试」。

3.3.2 按键测试

按键测试,不只是测「按下去有没有反应」。我一般测四个维度:

测试项 方法 判定标准
导通电阻 按下按键,测两端电阻 < 100Ω
弹跳时间 示波器看按下时的波形 < 20ms
长按检测 按住不放,看是否触发长按事件 连续触发
组合键 同时按两个键,看是否误触发 无冲突

量产测试时,我一般用「机械手」来按按键,而不是人工。因为人工按的力度、速度都不一致,测出来的弹跳时间没有参考价值。

3.3.3 矩阵键盘的特殊测试

POS机常用矩阵键盘,这个测试要特别注意「鬼键」问题。什么叫鬼键?就是按了一个键,结果同时触发了另一个键。

测试方法:

  • 逐行扫描:依次拉低每一行,读列值
  • 逐列扫描:依次拉低每一列,读行值
  • 组合测试:同时按两个键,看是否出现第三个键被触发

我的建议:量产测试程序里,一定要加入「按键冲突检测」功能。如果发现两个不相邻的键同时被按下,直接报错。因为这种情况在正常使用中几乎不会发生,一旦出现,多半是PCB走线短路或者二极管装反了。

好了,电源、时钟、GPIO与按键的测试原理,我就讲到这里。这三个测试项,是POS机量产测试的「基本功」。你把这些搞扎实了,后面再测通信、测射频、测打印,心里就有底了。

下一章,咱们聊聊通信接口的测试,包括UART、I2C、SPI这些。到时候我会分享一些我在量产测试中遇到的「奇葩」问题,保证让你大开眼界。