1. 3070测试系统中的testorder文件解析
在PCB功能测试领域,Teradyne 3070测试系统作为行业标杆设备,其测试流程控制的核心就在于testorder文件的精准配置。这个看似简单的文本文件,实际上承载着整个测试程序的骨架结构。作为在ATE行业摸爬滚打十多年的老工程师,我见过太多因为testorder配置不当导致的测试异常案例——从简单的测试顺序错乱,到严重的电源时序冲突。本文将深入剖析这个关键文件的语法规则和实战应用技巧。
testorder文件本质上是一个测试项清单,但它远不止是简单的列表。通过这个文件,测试工程师可以:
- 定义各类测试(电阻/电容/数字等)的执行顺序
- 设置特殊测试属性(如永久性标记、电源测试标记)
- 控制测试生成器的行为(如阻止IPG重新生成特定测试)
- 管理测试资源分配(通过MPA工具)
重要提示:永远不要用vi或记事本直接编辑testorder文件!这会导致i3070程序无法识别文件修改。必须使用BT-Basic编辑器进行操作,以保持文件头信息的完整性。
2. testorder文件核心语法结构
2.1 基本语句类型
testorder文件包含两大核心语句类型:
- 语句列表(Statement List):定义具体测试项及其属性
- Testplan生成开关:控制是否生成新的测试计划
2.1.1 语句列表的通用格式
所有测试语句都遵循相同的基本结构:
basic复制test <测试类型> "<测试名称>"; <选项1>, <选项2>, ...
其中测试类型包括:
- 基础测试:pins(引脚)、shorts(短路)
- 模拟测试:capacitor(电容)、resistor(电阻)等12种
- 数字测试:digital(数字器件)
- 边界扫描:scan connect(扫描连接)等5种
- 混合信号:mixed(混合信号)
2.2 测试选项详解
每个测试语句可以附加多种选项,这些选项会直接影响测试生成和执行:
| 选项 | 适用场景 | 作用 |
|---|---|---|
| permanent | 所有测试 | 标记为"永久测试",IPG不会重新生成 |
| nulltest | 所有测试 | 标记为空测试,实际不执行 |
| power | 模拟功能测试 | 标识为电源相关测试 |
| preshorts | 器件测试 | 执行测试前先做短路检查 |
| characterize | 模拟测试 | 启用特征分析模式 |
| prepowered | 高压齐纳管 | 测试前预先通电 |
实际案例:
basic复制test resistor "R101"; permanent, characterize # 永久性电阻测试,启用特征分析
test analog functional "VR1"; power # 电源相关功能测试
test digital "U1"; nulltest # 数字器件空测试
3. 测试顺序的工程实践
3.1 测试序列设计原则
合理的测试顺序需要考虑以下因素:
- 电源时序:先测试供电电路再测依赖电源的部件
- 信号路径:按信号流向顺序测试(输入→处理→输出)
- 测试耦合:避免前测影响后测结果(如电容充电影响电阻测量)
- 效率优化:将耗时测试分散安排,平衡测试时间
典型问题场景:
当板上有大容量电容时,若先测电容再测并联电阻,电容的充电过程会导致电阻测量值异常。正确做法是:
basic复制test resistor "R201" # 先测电阻
test capacitor "C201" # 再测电容
3.2 多测试系统协同
在Mux/UnMux混合系统中,测试顺序还需考虑:
- 多路复用器切换时序
- 高压测试与低压测试的隔离
- 边界扫描与其他测试的配合
特殊配置示例:
basic复制test scan connect "BSCAN1" # 先执行边界扫描连接测试
test digital "U1" # 再测数字器件
test analog powered "OP1" # 最后执行模拟通电测试
4. Testplan生成控制策略
4.1 生成开关的工程应用
testplan生成控制语句的两种形式:
basic复制testplan generation on # 开启生成(默认状态)
testplan generation off # 关闭生成
使用场景对比:
| 场景 | 推荐设置 | 原因 |
|---|---|---|
| 首次开发程序 | on | 需要生成完整testplan |
| 增量修改测试 | off | 保留已有testplan修改 |
| 调试阶段 | off | 避免覆盖手动调整 |
| 量产阶段 | on | 确保使用最新testplan |
4.2 实际配置案例
典型文件结构示例:
basic复制testplan generation off # 保留现有testplan
# 电源相关测试
test analog functional "VR1"; power, permanent
test analog functional "VR2"; power
# 数字器件测试
test digital "U1"
test digital "U2"; nulltest # 暂不测试的器件
# 模拟器件测试
test resistor "R1"
test capacitor "C1"; characterize
5. 高级应用与疑难解答
5.1 多版本板卡支持
对于支持多版本的PCB,可以使用skip语句控制不同版本的测试项:
basic复制test resistor "R101"; skip="V2,V3" # V2/V3版本跳过此测试
test capacitor "C101"; version="V4" # 仅V4版本执行
5.2 常见问题排查
问题1:测试顺序与文件不一致
- 检查是否有多个testplan generation语句
- 确认IPG是否以增量模式运行
问题2:修改未生效
- 确认使用BT-Basic编辑器修改
- 检查文件是否保存到正确目录
问题3:资源分配冲突
- 检查MPA是否识别所有测试项
- 确认没有重复的测试名称
5.3 性能优化技巧
- 将高频测试项靠前放置
- 对耗时测试添加characterize选项
- 合理使用nulltest临时禁用非关键测试
- 对稳定测试标记permanent提升生成速度
6. 工程经验分享
在实际项目中,我总结出这些宝贵经验:
- 版本控制:将testorder文件纳入SVN/Git管理,每次修改添加注释
- 模版应用:为同类产品创建标准测试顺序模版
- 注释规范:使用BT-Basic的注释语法记录重要决策
basic复制# 2023-05-20 因电源时序调整将VR1测试提前
test analog functional "VR1"; power, permanent
-
渐进式开发:先搭建框架再填充细节,分阶段验证:
- 第一阶段:基础连通性测试
- 第二阶段:电源和关键功能测试
- 第三阶段:全面参数测试
-
交叉验证:定期用IPG测试顾问检查测试项覆盖率
通过合理运用testorder文件,我们曾将某汽车电子板的测试效率提升40%。关键在于精细控制测试顺序,使得:
- 电源测试集中在开始阶段
- 相关功能测试分组执行
- 耗时测试均匀分布
- 故障检测前置化
这种深度优化需要工程师对电路原理和测试技术都有深刻理解,也正是testorder文件的价值所在——它不仅是简单的配置,更是测试策略的载体。