阅读时间:6分钟 | 适用人群:芯片测试工程师/射频开发工程师/自动化测试主管
某研究所的AD9910芯片生产线遇到了一个棘手问题:这款由ADI公司推出的高性能数字频率合成器(采样速率高达1GSPS),随着科技发展与进步,在射频通信系统、测试测量仪器、工业医疗等领域的应用越来越广泛,市场需求量日益增大。
但出厂测试环节成了瓶颈:
测试效率低:传统测试仪器设备老旧,故障率偏高,每颗芯片测试用时5分钟左右,远远不能满足大批量生产需求
软件环境差:原有测试软件难以解读,不易生产维护和解决异常
人工操作多:测试人员需要手动选择四个设备端口号,容易选错引入错误
更麻烦的是,芯片出厂测试有高温、低温、常温等多种场景,数据保存路径要能够清晰区分每种场景,方便查阅。企业急需一套准确、高效又便捷的自动测试系统。
针对上述痛点,基于LabVIEW的AD9910自动测试软件,核心架构如下:
|
模块 |
关键器件 |
技术亮点 |
|
测试盒 |
FPGA + ZYNQ |
高速接插件提供GTX、LVITL、LVDS、SPI、LVCMOS等多种接口,以太网与测试软件通信 |
|
测试子板 |
AD9910专用板卡 |
通过可插拔高速连接器与测试盒相连,支持四种工作模式 |
|
频谱仪 |
是德科技N9030B |
通过以太网程控,读取待测频点进行检测 |
|
信号源 |
罗德与施瓦茨SMA100B |
给测试盒发出相应测试时钟频点 |
|
电压源 |
艾德克斯IT6332B(两台) |
通过USB2.0程控,提供3.8V/2.5V/3.3V/1.8V多路供电 |
上位机:LabVIEW(面向过程编程)
通信协议:NI-VISA(兼容GPIB、USB、以太网、串口等多种仪器接口)
核心功能:自动检测端口号、网络检查、FPGA程序下载、一键测试、数据保存
这种"LabVIEW图形化编程 + NI-VISA通用仪器驱动"的架构,从根本上解决了不同厂商不同类型仪器的兼容问题。
AD9910输出部分电路设计中,相比单个巴伦输出的设计结构,对称式的双巴伦输出结构可以有效减少2次谐波的幅值,对不平衡的幅度进行补偿。
我们的解决方案:
采用MACOM的TCI-1-13巴伦,阻抗比1:1,频率范围4.5 MHz 3000 MHz
将SFDR指标提升了3 dB左右
阻值为49.9 Ω的电阻将AD9910输出的电流值转换为电压值,经双巴伦平衡后通过隔直电容输出到SMA接插件
测试软件运行后先进入自动检测模块,以频谱仪为例:
通过"VISA查找资源"函数匹配所有INSTR设备
获取信号源、频谱仪和两台电压源的设备列表
循环匹配关键字(频谱仪关键字为"N9030")
精确识别存储的字符串里是否含有频谱仪端口
这个设计能省去测试人员手动选择四个设备端口号的操作,防止因人员失误选错端口号而引入的错误。
对测试盒、信号源和频谱仪做PING操作,确保网络连接正常
执行PING命令前将界面灰化设置,检查完成后恢复界面,减少误操作
读取外部配置文件适配通信网络,更改配置时无需修改源码
测试盒是一个通用平台,除了可以测试AD9910芯片,还支持AD9957。测试人员只需点击"FPGA下载"按键:
软件界面灰化设置
自动读取bit文件、校验并完成发送
界面弹出进度条显示发送进度
发送成功后恢复界面
点击一键测试后,界面灰化设置,软件按以下步骤执行:
Step 1: 电压源配置
电压源1的三个通道分别设置电压为3.8 V、2.5 V和3.3 V
电压源2的通道1设置电压1.8 V
限流均设置0.5 A
配置成功后使能输出,测试子板上电启动
Step 2: 信号源与频谱仪初始化
信号源多次初始化可能会出现报错情况,分为首次初始化和后续初始化两个分支
当出现报错时进入后续初始化分支,先清除错误,再重新初始化
频谱仪设置为Swept SA模式,通过本振扫频和窄带中频滤波,在设定好的起止频率内逐点测量
Step 3: 测试子板初始化
软件自动读取子板初始化配置文件
将初始化命令通过UDP逐下发
Step 4: 循环测试32个出厂参数 每个循环测试一个参数:
程控信号源输出特定频点和幅值
指令控制测试板输出待测频点
程控频谱仪完成相应参数的测试与读取
根据测试需要,读取电压源的电压值和电流值计算功耗
整个流程各步骤间的时间间隔通过大量测试反复验证,间隔时间过短会导致测试到的参数不准确,间隔时间过长则会使整个测试时间超过20 s。
由于频谱仪厂家封装的驱动函数不能完全覆盖该设计使用的测试模式,该软件采用VISA下发指令和直接调用驱动函数两种方式进行开发设计。
以REFCLK倍频器RPO的指令测试方法为例:
|
INST:SEL PNOISE // 将频谱仪设置到相位噪声模式 INIT:LPLot // 开启频谱仪极限线测试扫描模式 FREQ:CARR 20 MHz // 设置载波频率 :LPL:FREQ:OFFS:STAR 1 kHz // 设置极限线判定的左边界偏移值 :LPL:FREQ:OFFS:STOP 1 MHz // 设置极限线判定的右边界偏移值 FREQ:CARR:TRAC:ACC HIGH // 将载波频率的轨迹捕获精度设置为高精准模式 CALC:LPL:MARK:MODE POS // 将极限线测试的标记点模式设置为位置锁定模式 INIT:CONT OFF // 关闭频谱仪的普通连续扫描 INIT:IMM;*WAI // 触发单次普通扫描,强制等待执行完成 CALC:LPL:MARK:X 1 kHz // 手动将极限线专属标记点直接定位到X轴1 kHz的频点上 CALC:LPL:MARK:Y? // 读取极限线专属标记点X轴1 kHz对应的Y轴坐标值,即为RPO参数 |
关键技术点:
*WAI是SCPI标准的阻塞指令,彻底解决了因指令执行过快数据读空、读错的致命问题
高精准模式对载波中心频率的信号进行多轨迹累加平均、相位锁定、频率漂移补偿处理,大幅降低载波的频率抖动和幅度噪声
位置锁定模式下频谱仪会自动把标记移动到极限线fail的频点,同时精准读出该频点的频率值和实际幅值
软件利用移位寄存器存储每次循环测试得到的参数值,每轮测试结束后,将移位寄存器的数组送入解析队列,在单独的解析循环里进行出队解析。此设计可保证软件界面的流畅性,不会因数据解析出现卡顿。
数据解析模块:
读取外部的.ini配置文件获得所有测试项及对应的指标值
依次判定测试数据
根据测试结果进行分类整理
显示不合格项并将测试项测试数据及结论保存成电子文件
|
指标 |
传统测试系统 |
我们的LabVIEW方案 |
提升幅度 |
|
单颗芯片测试时间 |
5分钟(300秒) |
20秒 |
15倍↑ |
|
端口号选择 |
手动选择,易出错 |
自动识别 |
零差错 |
|
网络检查 |
人工确认 |
自动PING检测 |
防误操作 |
|
FPGA下载 |
手动操作 |
一键下载+进度条 |
可视化 |
|
数据保存 |
手动整理 |
自动分类保存 |
场景区分 |
将保存的测试数据与芯片手册指标进行逐一对比,并与原有旧测试设备的测试数据进行对比。经大量测试与比对:
|
Fout/MHz |
带宽/kHz |
SFDR/dBc (手册典型值) |
测试值 |
偏差 |
|
50.1 |
±500 |
-87 |
-90.14 |
3.14 dB |
|
101.3 |
±500 |
-87 |
-91.85 |
4.85 dB |
|
201.1 |
±500 |
-87 |
-89.63 |
2.63 dB |
|
301.1 |
±500 |
-86 |
-84.78 |
-1.22 dB |
|
401.1 |
±500 |
-84 |
-82.65 |
-1.35 dB |
测试值与手册典型值相差不大,符合要求。在测试不合格的芯片时软件会精确定位异常参数,和旧测试设备保持一致。


客服
小程序
公众号