PCB测试机(精选5篇)
PCB测试机 篇1
1. 引言
我们知道早期雷达的数字处理技术水平较低, 我国第一代采用脉冲压缩技术的警戒雷达甚至是用模拟器件 (声表面波滤波器) 而非数字器件来压缩雷达回波。随着大规模集成电路和计算机技术的发展, 越来越多的高性能通用及专用C P U、DSP、FPGA等超大规模数字器件在雷达中被广泛使用。雷达中使用的PCB越来越复杂, 器件安装密度也越来越高, 我们以往采用的电装检测方法已经不能满足要求。本文介绍了边界扫描技术的原理、优势, 以及基于边界扫描技术设计的一种P C B自动测试设备 (A T E) , 并通过实际的测试报告说明了这种设备的实用性及先进性。
2. 边界扫描技术的能力及应用条件
上世纪八十年代, 联合测试行动工作组 (JTAG) 开发出边界扫描的测试规范, 这个规范后来被制定为IEEE1149.1-1990标准。边界扫描测试结构提供了一种方法, 可以高效的测试PCB上面的器件。它提供了对设备的观察和控制能力, 1149.1标准被设计用来改进电路错误检查和隔离的能力。
大多数复杂数字器件以这种或那种方式用到了IEEE1149.1 (JTAG) 标准。如FPGA或CPLD, 几乎可以肯定这些硬件是通过JTAG端口来进行配置、加载的。实际上, 许多CPLD和FPGA制造商都将JTAG作为其器件在系统编程与配置的标准方法。目前, 利用仿真工具来进行调试的硬件, 如ADI的虎鲨系统高性能浮点DSP——TS101和TS201, 也是通过JTAG端口与处理器对话。说明了JTAG端口在几乎所有使用高性能数字器件的印刷电路板中都会出现, 这就为采用基于边界扫描技术来测试PCB提供了基本条件。
3. 边界扫描技术的原理介绍
边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上 (周围) , 所以被称为边界扫描寄存器。当芯片处于调试状态的时候, 这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描单元, 可以实现对芯片输入输出信号的观察和控制。
对于芯片的输入管脚, 可以通过与之相连的边界扫描单元把信号 (数据) 加载到该管脚中去;对于芯片的输出管脚, 也可以通过与之相连的边界扫描寄存器“捕获” (C AP TU RE) 该管脚上的输出信号。在正常的运行状态下, 这些边界扫描寄存器对芯片来说是透明的, 所以正常的运行不会受到任何影响。这样, 边界扫描寄存器提供了一个便捷的方式用以观察和控制所需要调试的芯片。另外, 芯片输入输出管脚上的边界扫描 (移位) 寄存器单元可以相互连接起来, 在芯片的周围形成一个边界扫描链 (Boundary-Bcan Chain) 。一般的芯片都会提供几条独立的边界扫描链, 用来实现完整的测试功能。边界扫描链可以串行的输入和输出, 通过相应的时钟信号和控制信号, 就可以方便的观察和控制处在调试状态下的芯片。
图1展示了一个芯片的边界扫描逻辑结构。
边界扫描单元信号 (B o u n d a r yscan cell signals)
在并行输入端PI俘获数据
在并行输出端PO更新数据
串行扫描数据从SO到与它相邻的SI
行为透明:PI到达PO
TAP控制器信号 (TAP controller s i g n a l s)
测试信号输入TDI
测试信号输出TDO
测试模式选择TMS
测试时钟TCK
可选择的测试复位信号TRST
在IEEE1149.1标准里面, 寄存器被分为两大类:数据寄存器 (DR) 和指令寄存器 (IR) 。边界扫描链属于数据寄存器中很重要的一种, 边界扫描链用来实现对芯片的输入输出的观察和控制。而指令寄存器用来实现对数据寄存器的控制, 例如:在芯片提供的所有边界扫描链中, 选择一条指定的边界扫描链作为当前的目标扫描链, 并作为访问对象。
TAP (Test Acce ss Po rt) 是一个通用的端口, 通过TAP可以访问芯片提供的所有数据寄存器和指令寄存器。而对整个T A P的控制是通过T A P C o n t r o l l e r (测试访问端口控制器) 来完成的。TAP总共包括5个信号接口:T C K、T M S、T D I、T D O和T R S T。测试访问端口控制器, 本身是一个状态机, 有1 6个状态, 通过三个控制信号制, 在图2中说明了此状态机各个状态迁移的流程。
图3展示了一块拥有四个边界扫描器件的P C B。你能够发现:
T D I、T D O是串联在一起的;
TMS、TCK分布到每一个边界扫描器件上。
我们来分析图3, 通过边界扫描链这种结构我们能实现哪些类型的测试:
(一) 内部结构测试
首先, 我们可以对扫描链的完整性进行测试, 如果扫描链路断开, 测试工具会知道当前的扫描链不是完整的;
TAP controller, 可以检查它是否正常工作;
器件缺失;
器件错误安装, 通过读取器件的ID号来了解器件安装是否正确。
(二) 互连测试
固定电平 (0/1) 测试;
开路/短路测试;
边沿连接器测试;
(三) 簇器件 (本身不支持边界扫描) 测试
功能测试;
存储器测试。
4. 器件封装技术的发展挑战传统测试技术手段
目前PCB测试面临的困难:电路规正逐渐削弱以至于消失。BGA (ball grid array) 器件封装是伴随着日益提高的器件内时钟速度发展起来的一种封装技术。这种元器件的管脚全部集中在器件下面, 管脚数量及密度不断提高, 在这种情况下对管脚测试点的访问极为困难。
4.1.光学测试方法的局限性
采用普通的光学手段无法观察BGA器件的物理管脚, 想要观察这种封装的器件管脚只能采用X光照相手段, 含铅材料对X光的阻挡是X光照相测试的基础。图4展示了一个BGA器件的X光照相顶视图, 从这张照片中我们发现含铅元件对X光起到了阻挡作用, 所以我们很难从照片中区分良好焊点和虚焊。虽然目前多维X光机可以从多种角度观察BGA器件管脚的焊接情况, 但也要依赖人眼, 使用久了容易疲劳。和所有光学的检测方法一样, X光照相仅仅得到了焊点的静态图像, 而不是提供确保连接性所需的动态电气报告, 因而极难判断虚焊和可靠焊点之间的差异。所以, 传统光学测试的方法已经不能满足目前PCB常规测试的需求了。
4.2.针床测试方法的局限性
在使用针床夹具这项历史悠久的传统PCB测试方法来测试目前PCB的时候会遇到哪些困难呢?
a) 在产品设计过程中不断增加测试点, 致使多次制作PCB板, 延长了产品开发周期, 从而延迟了产品上市时间, 丧失了占领市场的先机;
b) 每一次在PCB上增加测试点, 都会导致重新制作昂贵的ICT测试针床, 代价巨大;
c) PCB上设置了大量的测试点, 导致电路信号完整性、电磁兼容性能严重下降, 产品设计风险增加;
d) P C B上的测试点引发大量过孔、埋孔、盲孔, 增加焊接故障。这些故障通常表现为:PCB易分层、爆板、过孔障, 球形焊点中出现空洞、开路故障;
e) BGA芯片阴影效应, 从而导致隐蔽焊点, 易发生虚焊、冷焊故障;
f) PCB测试覆盖率不高, 产品可靠性风险增加。
所以采用表面测试针技术——针床夹具, 同样不能适应目前PCB测试的需求了。
4.3.边界扫描测试方法的优势
基于boundary scan (JTAG) 的PCB测试能以非传统的方式获得PCB电气连接性的信息, 它有几大优点:
a) 一个是方便芯片的故障定位, 迅速、准确地测试两个芯片管脚的连接是否可靠, 提高测试、检验效率;
b) 另一个是采用无物理接触的“虚”导通访问, 无需外加硬件电路, 测试起来简洁快速, 且准确安全;
c) 从测试成本上评估, 这种测方式非常低廉, 因为它不需要特殊的设备, 如针床、X-r a y机等。只需要把故障P C B插在测试台上, 然后运行测试工程, 几十秒, 最多几分钟就可以得到准确、详细的测试报告, 经济效益显著。
5. 基于边界扫描的PCB自动测试设备 (A T E) 的设计
自动测试设备分软件和硬件两大部分:
5.1.自动测试设备的软件部分
测试软件的开发工具为法国Tomento S y s t e m s公司的D i a T e m。针对一块P CB, 较为完整的测试软件开发流程大致可以分为四个步骤:
a) 在DiaTem开发环境中创建PCB系统板的工程, 建立同类器件库文件;
依据原理图构造JTAG链, 并核检JTAG链的完整性;
在相应的类库中导入新的元器件及其对应的BSDL文件;
如果是F P G A器件, 还需要根据FPGA的管脚文件*.pin, 使用转换脚本程序把器件的B S D L文件转换成新的BSDL文件, 然后导入进Di aTe m。
b) 建立板级链后, 导入设计文件, 并设定相应规则;
分析网表, 检查记录测试覆盖率;
开始自动运行仅JTAG类器件的测试-ATPG。
c) 在JTAG类器件进行ATPG后在添加cluster类器件进行测试;
测试及调试PCB板;
得到出错报告及相应的处理建议。
d) 编程元器件;
导出测试结果。
在整个流程中, 设定规则是重要的一个环节, 规则有错误会导致测试报告出错, 严重的时候会损坏PCB本身。对某些cluster器件需要添加适当的测试脚本来设置测试条件 (如开放总线等) , 这类脚本可以归入初始化脚本。另外针对一些比较特殊的器件或使用者的特殊用法, 在测试开发工具无法自动生成测试向量的情况下, 需要设计师自己阅读器件手册并在领会P C B设计师设计意图 (通过原理图) 的情况下编写出测试脚本, 来完成测试。如果器件是自设计的器件, 需要测试设计师充分了解其时序关系后, 编写出符合要求的测试脚本方可得到正确的测试结果。
5.2.自动测试设备的硬件部分
自动测试设备的硬件部分包括一个测试底板, 一个JT AG适配器, 一台P C机。如图5所示, 图中的边界扫描测试接口就是JTAG适配器, I/O适配器就是一块测试底板。每部分的作用是:
a) JTAG适配器, 它提供了一个或多个测试端口;
b) 测试底板, 它为被测试PCB提供电源, 以及提供接插件测试时需要的测试激励;
c) P C机, 在上面运行测试软件。
将JTAG适配器引出的测试接头插在被测试PCB的JTAG端口上, 然后再将PCB插在测试底板上就可以测试了。测试时间从几十秒到几分钟不等, 这主要取决于测试时钟速度 (由器件本身或由PCB的SI特性来决定) 、被测PCB的复杂程度、测试覆盖率、功能测试的难易及校验次数等因素。
6. 测试报告分析
运行测试软件后就可以得到PCB测试报告, 测试报告是基于PCB电气连接性的电子文档, 内容非常详细, 不仅包括对整个测试工程的描述 (表格1) , 还有对所有出错的网络及器件管脚的描述及分析。
如下部分报出了一个开路故障:
根据报告中的提示, 测试人员很容易定位故障点。
7. 总结
基于边界扫描的测试技术在PCB生命周期的每个阶段都可以发挥巨大作用, 如:
工程阶段 (Engineering Station)
借助边界扫描和JTAG标准带来的潜在优势, 在工程阶段, PCB设计师和测试工程师可以验证和排除电路板和系统中的错误。
在这个阶段允许你在两天之内定义你的电路板并且建立一个测试工程, 从而留出更多的时间去做调试。然后, 你可以静态的分析测试覆盖率和检测PCB的易测性。这种分析就像网络浏览器, 让你很快的了解怎样能够在JTAG易测性方面做出改进, 确认你的设计可以在生产之前就得到优化。
产品阶段 (Production Station)
边界扫描测试设备可以高效的完成批量产品的硬件测试工作。生产、加工部门可以用它来完成产品最初的测试及检验, 查出问题立刻返修, 不让存在硬件故障隐患的PCB流入下一个环节。
维修和维护阶段 (R e p a i r a n d Maintenance Station)
售后服务部门可以使用边界扫描测试设备测试用户返修的故障PCB。通过准确、快速的故障定位不仅可以节约大量的人力资源, 还可以避免物料的浪费。
通过测试报告说明了基于边界扫描测试技术设计的PCB自动测试设备是先进、可靠、有效的, 很好的解决了雷达中使用的复杂数字PCB测试困难的问题。
摘要:现代雷达中使用的PCB中大量采用集成度很高的IC, 尤其是BGA器件。传统的测试方法无法进行或者测试效率低下, 并且测试的覆盖率也不高, PCB调试工作极为困难, 迫切需要一种高效的测试手段来解决硬件测试中遇到的难题。边界扫描测试结构提供了一种方法, 可以高效的测试PCB上面的器件, 采用边界扫描技术设计的PCB自动测试设备 (ATE) 很好的解决了高性能PCB测试的难题。
关键词:自动测试设备,BGA器件,边界扫描
参考文献
[1]System Test with Boundary Scan (JTAG) , By David Bonnett Technical Product Manager ASSET InterTech, Inc.
[2]IEEE Standard Test Access Port and Boundary-Scan Architecture.
[3]Tomento System, Scan and JTAG concepts.
PCB测试机 篇2
随着科技的发展, 手机、平板等数码设备、医疗设备、对安全性要求高的汽车电子设备用线路板 (PCB) 的制作层数越来越高、线路越来越密、焊盘尺寸越来越小, 使得更多的人要求进行低电阻高绝缘的电子测试。因为在这些PCB中, 部分PCB线路不单是导线, 同时还是信号线, 线路阻值的变化会造成信号的延滞和衰减, 从而引起功能性问题。同时PCB如果存在孔内无铜、孔破、孔内铜薄、线路缺口等缺陷时会影响产品使用的安全性。
在通常情况下, PCB开短路测试中的测试参数值-开路阻值设为25Ω, 线路阻值大于25Ω时测试机判断为开路, 小于25Ω时判断为合格, 对于阻值小于25Ω的线路则无法精确测试出实际电阻值, 25Ω以下的线路成为测试盲区。在实际生产中发现PCB的某些缺陷, 如孔内无铜、空洞、铜薄、线过细、线路缺口等问题均会影响到线路阻值, 当阻值小于25Ω时, 用通常的开短路测试方法来测试这些缺陷板时, 测试结果为合格, 当这些PCB经过高温焊接后阻值会发生变化, 导致开路问题发生, 引起产品缺陷。
低电阻测试是指在PCB测试机在测试过程中将开路阻值设定到1Ω甚至更低。传统的两线测试方法已经无法精确测试出如此小的阻值, 现需将开尔文四线测试法应用于PCB测试机中以达到精细阻值的测量。
1 PCB测量方法原理
PCB测试机的基本测试原理是欧姆定律, 其测试方法是向待测试点间加一定的测试电压, 用测试针选中PCB板上待测试的两个点, 通过对电流的测定, 获得两点间的电阻, 从而判断PCB线路通断的情况[1]。
1.1 普通二线式测量方法原理
通常的开短路测试方法即为普通二线测试, 如图1所示, 二线测试是目前测试机普遍应用的一种方案。
二线测试只有一个回路, 所测得的阻值为r1+r2+Rpcb, 即所测得的阻值为馈线电阻和待测线路阻值之和, 故无法精确测定被测PCB阻值。但是因为线路板开路测试的条件一般为25Ω, 因而馈线电阻影响不大, 可以忽略不计。二线测试的精度虽然不高, 但是可以用来判断一般线路因完全断线、断孔导致的开路。但是二线测试对低电阻线路的测试则无能为力。
1.2 Kelvin四线测量方法原理
Kelvin四线测量是采用双电桥线路结构削减附加电阻的影响[2]。
如图2所示, 在双电桥线路结构中, 待测电阻Rpcb和桥臂电阻RN均为四端接法;R1、R2、R3、R4均为高阻值电阻, 其中R3、R4构成双电桥的“内臂”。
四端电阻外侧的两个接点称为电流端。图2 (a) 中A1、C1接电源回路, 从而将其附加电阻折合到电源回路的电阻中。B1、B3两接点用短而粗的导线相连, 设B1、B3间附加电阻为r。当若R1、R2、R3、R4及RN满足一定条件时, 可消减r对测量结果的影响。
四端电阻内侧的两个接点称为电压端。四端电阻内侧的两个接点接高电阻回路或电流为零的补偿回路。图2 (a) 中, A2、C2端接触电阻分别并入R1、R2;B2、B4端接触电阻分别并入R3、R4。由于R1、R2、R3、R4本身电阻很高, 所以这些附加电阻对它们的影响可以忽略不计。此外, 电压端之间的部分即为低电阻本身, 无另外的连接导线, 故有效地消除了导线电阻的影响。
调节平衡, 就是调节电阻R1、R2、R3、R4和RN, 使B、D两处等电位, 从而检流计电流Ig=0。由图2 (b) 中所示电流方向, 由于R1>>r1, R2>>r2, R3>>r3, R4>>r4, 可列出方程:
联立可以解得
双电桥在结构上做到使上式第二项满足故
由于测试回路的输入电阻远大于馈线电阻, 所以, 此方法测量小电阻的准确度很高。
2 Kelvin测量方法的优点
对比现在两线测试测试方法, Kelvin测试方法由于可以精确测试出被测线路的阻值, 所以可以检测到PCB存在以下一些潜在的缺点:
(1) 由于线宽不足而导致的微断路;
(2) 线宽正常, 但是铜厚不足的线路;
(3) 线路被腐蚀而带有缺口或者凹陷;
(4) 导电孔的电镀铜厚度过薄;
(5) 银或碳灌孔时的缺陷。
这些缺陷可能在两线测试时满足设定的参数要求, 但是随着温度、湿度、时间等因素改变, 有可能使得缺陷显露。而Kelvin四线测试方法可以将其检测出来。
3 结束语
开尔文四线测试方法是测试机技术的新发展, 弥补了传统二线测试不能测试低阻的缺陷。在测试机中应用四线式测试方法, 可以减低不良PCB的出货率, 也可以通过阻值检测表搭配问题PCB切片及图片协助找出PCB的问题点, 及时发现流程异常, 明确改善对策, 减少生产报废。
摘要:分析了PCB测试机中的普通二线式测试原理、开尔文 (Kelvin) 四线测量方法原理, 介绍了开尔文四线测量方法的优点。
关键词:四线测试,开尔文,PCB测试机
参考文献
[1]赵英伟, 庞克俭.Kelvin四线连接电阻测试技术及应用[J].半导体技术, 2005 (11) :43-50.
PCB功能测试系统的设计与实现 篇3
关键词:PCB测试系统,功能测试,继电器矩阵,总线
0 引言
自从表面贴装技术(SMT)开始逐渐取代插孔式安装技术以来,电路板上安装的器件变得越来越小,而板上单位面积所包含的功能则越来越强大。电路板产品的飞速发展,增加了对电路板自动测试系统的需求,同时也给电路板的测试、维修工作带来更高层次的要求。由于设备和操作者的各种可能的因素,不可能保证生产出来的PCBA全部都是完好品。这就要求在生产的末端加入各种的测试设备和测试工具,以保证出厂的所有实装电路板与设计的各种规格和参数完全一致。这就产生了ICT、AOI、X-Ray、Boundary-Scan、FCT等各种测试手段。
FCT英文全称Functional Test(功能测试),是在生产线的中间阶段和末端利用专门的测试设备,对电路板的功能模块进行全面的测试,用以确认电路板的好坏。它将电路板上的被测单元(UUT)作为一个功能体,对其提供输入信号,按照功能体的设计要求检测输出信号。功能测试涉及模拟、数字、存储器、RF和电源电路,通常要用不同的测试策略。测试包括大量实际重要功能通路及结构验证,以弥补前面测试过程遗漏的部分。
尽管各种新技术层出不穷,但功能测试依然是保证产品到最终应用环境立刻就能工作必不可少的手段。如果应用场合非常重要,如军事、航空、汽车、医疗等领域,或者最终产品的成本及复杂程度非常高,如电信网络、发电站等,那么更需要保证产品自身以及与其他系统合在一起时能工作正常,这时功能测试将是必须的。
1 概述
本功能测试系统是针对滞后的手工测试以及满足PCBA测试操作简便的需求而设计的。系统将传统方法上多人合作完成的测试项目集中到一台自动测试设备上,只需手动将针床压合,系统就会自动进行测试,其速度是手动测试无法比拟的。自动准确判断每个细节,不产生遗漏和误判,测试结果由PC分析得出PASS或FAIL;多项目集中测试和多测试点同步测试,减少工位和工时;具有完善的自检功能;用户界面友好,系统不仅对操作人员要求低,而且易于技术人员编程和调试;对FAIL品可即时打印出相关数据,对整个测试过程可生成统计报表文件以供日后随时调用;治具结构规范,利于统一管理和控制成本。
本测试系统主要完成以下功能:
1)PCB板电气参数(电阻、电容、电压、电流、频率等)检测;
2)自由选择96路输入/输出,给产品加入电压源、电流源等信号;
3)自动连接下载器,进行程序下载;
4)自动与产品通信,记录产品采集数据;
5)自动启用电动装置,控制产品测试状态。
2 结构和原理
硬件总体框图如图1所示。系统定义了8路数据总线,工业控制计算机通过RS232-485芯片发送信号给系统控制板,利用继电器开关矩阵可灵活选择输入/输出端口的特点,自由选择测试资源和针床的测试点,都与总线相连,实现信号互通,节约系统测试资源,提高系统集成度。
3 系统控制板设计
系统控制板是整个测试系统的核心大脑,它主要作用是控制整个测试过程的进程。它由通信、信号处理、自检3模块组成。通信模块主要功能是上位机与MCU间的指令传输,并发送单片机控制信号。信号处理部分用于接收信号后,控制继电器矩阵的动作,具有控制传输方向、通道选择、数据锁存、功率驱动等功能。自检部分可以随时对继电器矩阵进行自我检查。
3.1 通信模块
通信模块包括转换芯片MAX485 EA和MCU两部分。MAX485 EA将上位机传输的485信号转变为单片机识别的TTL电平信号。单片机接收指令后,发送系统复位、通道选择、传送使能、系统自检、I/O数据等信号。如图2所示。
3.2 信号处理模块
信号处理模块包括总线传送芯片SN74HC245C、通道选择芯片HCC4067BF、锁存芯片SN74HC573N、驱动芯片ULN2803N等。SN74HC245C是双向传输开关,用于控制数据的传输方向。HCC4067BF功能是多路选择模拟开关,即通过地址选择端A、B、C、D进行选择,发送锁存使能信号,用于控制SN74HC573N锁存。锁存使能信号为低电平时,以维持当前状态。直到锁存使能信号为高电平时解除锁定。ULN2803N用于驱动通信模块中的继电器。如图3所示。
3.3 自检模块
自检模块通过自检选通信号控制8通道模拟开关CD4051B,将系统自检信号经过继电器矩阵后传回单片机,实现系统自检。如图4所示。
4 软件设计
测试系统采用vb6.0作为测试软件的开发平台。软件功能强大,分为两种不同的测试模式,分别是给一般操作者使用的自动测试模式和给工程人员使用的单步调试模式。系统具有灵活、简便的人机对话界面,使操作分工明确,流程简化,降低了对操作人员的要求。一般操作者通过选择型号调出测试项,选择正常测试、分步全功能测试、自检测试等操作进行测试,测试失败可以直接进行调试。系统运行结果如图5所示。
系统针对不同的测试板,只需更换治具和简单编写数据库即可,降低了二次投入成本。并且所有的测试结果都存储在系统文件中,以供日后随时统计和打印。程序员通过编写测试项、测试描述、测试选择、测试正确值和上下限、测试值单位、矩阵卡控制方式、测试功能等项目,与MCU进行通信,控制继电器开关矩阵,将测试点和测试资源都与总线相连进行测试。数据库编写界面如图6所示。
5 结束语
PCB测试机 篇4
印制电路板(PCB)作为电子产品的载体,追随着微电子器件的发展,不断地朝着高密度、高要求发展,从单面板、单层板,一直发展到多层板、揉性板。短路是PCB板制造过程中经常发生的故障,占故障总数的50%以上。因此研究短路故障测试,实现PCB批量生产过程中的自动化检测,提高PCB质量,具有重要的意义。
对PCB进行短路故障检测,其关键在于寻找一种方法,就是使用最少的测试次数来快速发现短路故障的存在与否。
1 算法的提出
将印制电路板上的被测点视为一个个独立的网络点,设印制电路板上有n个网络点,用集合表示为P={P1,P2,…Pn},如果n个网络点是彼此独立的,为了检测集合P中n个网络点不存在短路,通过排列组合法需undefined次测试。
若将P进行对半分割,对分为2个不交子集Jundefined和Jundefined(若n是奇数,可在集合中加入一个空元素处理);然后再进行二次分割,把Jundefined对分为Jundefined和Jundefined,Jundefined对分为Jundefined和Jundefined;如此进行分割,直到分割的子集为单元集为止。如图1所示,每次分割使原集合中的网络数减少一半,经log2n次分割后子集变成为单元集[1]。
假定把分割后的一个网络集加激励,另一个网络集不加激励,如果2个网络间存在短路,那么通过一定的方式就可检测到响应。定义函数Fun(X,Y),输入参数X、Y为网络集,且X∪Y=P,X∩Y=ϕ。给X加激励,Y不加激励,若Fun(X,Y)无响应,则X与Y互为独立,否则有相联网络即存在短路。设Fun(X,Y)无响应用“0”表示,有响应用“1”表示,则:
(1) X=Jundefined,Y=Jundefined,若Fun(X,Y)=0,则Jundefined和Jundefined相互独立。
(2) X=Jundefined∪Jundefined,Y=Jundefined∪Jundefined,若Fun(X,Y)=0,则Jundefined、Jundefined、Jundefined、Jundefined相互独立。
(3) X=Jundefined∪Jundefined∪Jundefined∪Jundefined,Y=Jundefined∪Jundefined∪Jundefined∪J83,若Fun(X,Y)=0,则Jundefined、Jundefined、Jundefined、Jundefined、Jundefined、Jundefined、Jundefined、Jundefined相互独立。
按照图1所示的集合分割,继续进行最多log2 n次测试,直到Fun(X,Y)=1,即可找到短路网络。若Fun(X,Y)=0,说明集合P中的网络点独立,无短路存在。依据这个算法,可设计出一个测试电路,通过控制信号产生激励和响应,实现短路测试。
2 激励信号和响应信号的产生
图2为测试电路的开关阵列,开关阵列由锁存器和三极管构成。P1、P2、…Pn为网络测试点,通过针床与印制电路板网络相联。计算机通过总线输出数据,分2路经光电耦合隔离、电平转换后写入锁存器,锁存器输出地址信号为a1,a2,…,an和b1,b2,…,bn,分别控制N型三极管(简称N开关)和P型三极管(简称P开关)。
设2组电源(+5 V~GND2,-5 V~GND1)相互隔离;ai(i=1~n)高电平为GND1,用逻辑“1”表示,低电平为-5 V,用逻辑“0”表示;bi(i=1~n)高电平为+5 V,用逻辑“1”表示,低电平为GND2,用逻辑“0”表示。令ai =bi,则开关管导通真值表如表1所示。
图3为取样电路图,其中Is为恒流源,Rx为PCB网络点短路等效电阻,A1构成负反馈放大电路(D1、D2为钳位二极管),A2构成比较电路;Vf为比较电压参考值,计算机根据所测PCB材质,通过数模转换器产生。则:
undefined
式中:UECS、UCES分别为N开关和P开关的饱和导通压降,实际测得为0.07 V左右;Rx很小,铜膜为零点几欧姆,碳膜为几百欧姆;Is可设定在10~20 mA;R取200 kΩ;Rf取30~510 kΩ。
当ai=bi=“0”时,N开关导通、P开关截止,Pi为GND1高电平,得到激励(用激励“1”表示);当ai=bi=“1”时,P开关导通、N开关截止,Pi为GND2低电平,没有激励(用激励“0”表示)。
(1) 当网络集合P={P1,P2,…Pn}中各网络点相互独立时,给网络集X加激励,Y不加激励,Ii=0(Rx为∞),Uo输出电压高值:Uo=Is×Rf,通过比较器A2可以得到F=“0”,即响应Fun(X,Y)=0。
(2) 当网络集合P={P1,P2,…Pn}中有2个或2个以上网络点短路时,给网络集X加激励,Y不加激励,GND1与GND2间有通路,Ii=Is(Rx较小),Uo输出0~3 V电压,通过比较器A2可以得到F=“1”,即响应Fun(X,Y)=1。
3 测试举例
下面以8个(n=8)网络点为例,运用上述算法来说明短路网络的判断和定位流程。设这个网络集中P5、P6存在短路,其它的网络独立。表2显示了该算法获取8个网络点(每个点看成是1个网络)激励和响应的逻辑关系。
第一次,对网络集{P1,P2,P3,P4,P5,P6,P7,P8}进行分割,在一半的代表网络集{P1,P2,P3,P4}中输入激励“1”,在剩下的网络集{P5,P6,P7,P8}中输入激励“0”,得到响应“0”,说明前后2个半网络集无短路。
第二次,对半网络集{P1,P2,P3,P4}进行分割,对每个子网络集进行独立的递归测试。在其子网络集{P1,P2}中输入激励“1”,在剩下的网络集{P3,P4}中输入激励“0”。对于半网络集{P5,P6,P7,P8},在其子网络集{P5,P6}中输入激励“1”,在剩下的网络集{P7,P8}中输入激励“0”,得到响应“0”,说明前后4个子网络间无短路。
第三次,对子网络集{P1,P2}、{P3,P4}、{P5,P6}、{P7,P8}再进行分割,{P1}、{P3}、{P5}、{P7}输入激励“1”,{P2}、{P4}、{P6}、{P8}输入激励“0”,得到响应“1”,说明{P1,P2}或{P3,P4}或{P5,P6}或{P7,P8}内部有短路存在。
第四次,对网络集{P1,P2,P3,P4}加激励“0”,网络集{P5,P6,P7,P8}不变,如响应为“1”,则说明短路网络为{P5,P6}或{P7,P8};如响应为“0”,则说明短路网络为{P1,P2}或{P3,P4}。
第五次,对网络集{P5,P6}加激励“0”,其余不变,响应为“0”,则说明短路网络为{P5,P6};如响应为“1”,则说明短路网络为{P7,P8}。
通过以上分析可知,经过最多log2n次判断,就可以找出短路网络的存在,但要定位短路网络还需进行2次判断,即需要[(log2n)-1]次判断才能进行定位[2]。
以上测试是假定只有1个网络点存在短路的情况,在实际中可能存在多个短路点,假设{P1,P2,…,Pn}中有k个网络点短路,则必须进行k次循环才能找出全部短路网络,最后为了证实网络中不再有短路存在,需要再做log2n次测试,故测试总数为
undefined
4 控制流程
若将n个网络点的点数用二进制数码表示(例如用000~111表示8个网络点),再将二进制码排列成n×m矩阵(m=log2n),用矩阵G=[α]n×m表示,则转置矩阵GT中的第一行行值通过电路输出可实现网络集合P的第一次分割,依次类推,第log2n行行值实现集合P的第log2n次分割。例如,当n=8时,矩阵G和GT分别为
undefined
中的行值与表2中a1~a8的地址逻辑相符。用程序控制开关阵列实现短路网络检测的程序流程如图4所示。
5 结论
采用本文提出的算法,笔者在印制电路板测试机中进行了实践。开关阵列采用ACTELA3P125可编程逻辑芯片控制,N开关和P开关分别采用A92、A42三极管,64点为1个单元,64个单元共4 096点。实际测试表明,4 096点系统测试时间小于1 s,较好地解决了网络点数与测试速度的矛盾,优于目前国内市场同类测试机2 048点/s的测试速度[4]。该测试算法具有良好的应用前景。
参考文献
[1]FANG S C.印刷电路板上短路的检测算法[J].运筹学杂志,1990,9(2):75~80.
[2]冯志泉,郑令德,孙家琪.印刷电路板单短路定位算法[J].上海工业大学学报,1993,14(1):63~67.
[3]杨光友,王鹏,周国柱,等.Kautz算法在印制电路板光板故障检测中的应用[J].理论与方法,2007,26(6).
PCB测试机 篇5
在线测试 (Online Test) , 又称路内测试, 是20世纪70年代后期盛行的PCB检测方法, 它以编程与判断简易快速见长。在线测试的主要任务是测试PCB电路板上的元件有无安装错误和焊接错误的现象, 同时也可以检测所装元件本身质量等问题。在线测试的基本方法是通过专用针床中的一组测试探针, 一方面给被测元件输入激励信号, 另一方面从被测元件引出响应信号, 以此检查元件在电路中的状态, 并推断其参数。由于被测元件连接在整个电路中, 其它元件会对被测元件的测试产生不可忽略的影响, 因此在测试时需要采用专门的技术将被测元件与其它元件的作用隔离开, 从而确保测试的精度。由于在线测试是对PCB上的各个元件分别进行测量, 所以通用性很好, 测试程序编制简单, 可以在不知道PCB整体功能的情况下进行[1]。
虚拟仪器是在以计算机为核心的硬件平台上, 由用户设计定义, 具有虚拟面板, 其测试功能由测试软件实现的一种计算机仪器系统。其实质是利用计算机显示器模拟传统仪器的控制面板, 以多种形式输出检测结果;利用计算机软件实现信号数据的运算、分析和处理;利用I/O接口设备完成信号的采集、测量与调理, 从而完成各种测试功能的一种计算机仪器系统[2]。使用者用鼠标或键盘操作虚拟面板, 就如同使用一台专用测量仪器。
本文设计的PCB在线测试系统不再依照传统的设计思路, 而是要尽量采用现代电子与信息技术, 以基于USB总线的在线测试系统结构和虚拟仪器的设计思想, 充分发挥通用计算机的作用, 尽量由计算机来代替传统仪器的功能, 从而减小了仪器本身的体积, 也降低了开发成本。
2 系统的总体结构
PCB在线测试系统是由底层硬件系统和上层软件系统两部分组成, 二者通过USB接口实现通信。
图1是本文提出的PCB在线测试系统的总体结构图。其中, PC机软面板负责整个在线测试系统的控制、数据分析和输出测试结果。信号发生/数据采集单元用来实现测试系统中激励信号的输出功能和响应信号的采集功能。在线测试单元针对不同种类的元件设计了不同的测试电路, 使被测元件从周围电路网络中分离出来, 而不受其他元件的影响。继电器阵列是测试电路单元与被测电路板间连接的桥梁, 它通过八条测试总线与在线测试单元相连, 其作用是控制测试点的切换。针床用于固定被测PCB板, 并能直接接触到测点。
系统的工作过程如下:在线测试单元使用多条测试总线与继电器阵列的一端相连, 再将继电器阵列的另一端接到固定被测PCB的针床上。用户通过PC机软面板向在线测试仪发送命令, 由信号发生单元产生激励信号, 根据被测元件的类型发送到适当的测试总线。同时, 根据当前所测元件在被测PCB上的具体位置, 通过继电器阵列的控制, 将测试总线连接到针床上相应位置的测点。从测点得到的响应信号也经过继电器阵列和测试总线传入在线测试单元进行信号调理后, 由数据采集单元形成数字数据上传给计算机。计算机处理这些数据后, 以适当的形式将测试结果显示出来。
3 系统硬件设计
为了实现在线测试功能, PCB在线测试系统的硬件部分应包括USB接口单元、信号发生/数据采集单元、在线测试单元、继电器阵列和针床五部分。
3.1 USB接口单元:
USB接口单元的主要实现芯片为Cypress公司的CY7C68013, 负责完成硬件系统和上位机之间的数据传输。将CY7C68013作为主控芯片的一个重要原因是Cypress公司为EZ_USB FX2系列产品的开发提供了大量的技术支持, 如公司为开发者提供了主控平台、固件开发环境、设备驱动程序和事例及技术文档资料。
3.2 信号发生/数据采集单元。
系统通过CY7C68013的I/O口对DA转换芯片TLC5618进行控制, 由于TLC5618不兼容TTL电平, 所以选用了PI74LVC3245A作为电平转换芯片。为了实现高速数据采集, 系统采用了主控芯片内部从FIFO自动工作模式, 它将以DMA的方式将AD转换的数据直接输送到计算机。AD转换芯片采用TI公司生产的THS1206, 支持1.5~3.5V的电压转换, 为了扩大电压测量范围, 采用了两级功率放大, 使得输入电压范围扩大为-5~5V, 满足了实际工作的需要。CY7C68013与AD转换器THS1206相连, 并采用了CPLD XC9572简化逻辑电路的设计, 从而完成了整个信号发生/数据采集单元的硬件设计。
3.3 在线测试单元。
在线测试单元根据六线测试原理[3], 针对不同种类的元件设计了不同的测试电路。这些测试电路单元的作用是将元件从被测PCB板上隔离出来, 并根据不同的元件设计了相应的激励信号和信号测试回路。
3.4 继电器阵列。
本系统采用日本NEC公司生产的EA2-5型常规继电器, 每四个继电器为一组, 分别将输入引脚接到测试总线, 输出引脚并联接到被测系统形成一条测试回路。每组继电器之间采用I2C总线连接, 选用美国Microchip公司制造的PIC16C62芯片。这种微处理器工作电压为3.0~6.0V, 最大灌电流可达25m A, 足以直接驱动继电器工作。
3.5 针床。
针床由床体、夹具、定位针、测试针和连接插座五部分组成。夹具、定位针、测试针和连接插座都固定在床体上。夹具和定位针用于被测PCB的固定。测试针能够很好地连接被测PCB的测点, 连接插座通过导线连接测试针, 再通过扁平电缆线将测试针连接的测点信号传送到在线测试仪上进行测量。为了降低针床的制作难度, 可以在修改被测PCB板的PCB图上制作与其对应的针床。
4 系统软件设计
系统软件可分为三个部分:采用Keil C51语言编写的CY7C68013芯片的固件程序、采用Visual C++语言编写的USB设备驱动程序和采用Visual C++语言编写的MFC应用程序。
4.1 芯片固件程序。
CY7C68013芯片固件程序负责处理PC机发来的各种USB请求, 以完成主机与外围电路间的数据传输。Cypress公司为了简化和加速用户使用EZ-USB FX2系列芯片进行USB外设的开发过程, 在开发包里提供了一个驱动程序 (ezusb.sys) 、应用程序以及一个完整的固件程序框架[4]。用户只需提供一个USB描述符表、添加其他端点接收和发送数据的通信代码, 以及控制外围电路的程序代码就可以完成固件程序。
4.2 设备驱动程序。
USB设备驱动程序的主要功能是使MFC应用程序能正确访问硬件设备。将CY7C68013的固件代码存放在上位机上, 当系统上电或USB连接时, 再将它下载至芯片的RAM中。
4.3 MFC应用程序。
应用程序主要负责读取系统硬件输出的测试结果, 并显示出来, 所使用的编程语言为微软公司的Visual C++6.0, 主界面如图2所示。其中, “配置描述符”、“设备描述符”和“字符串描述符”按钮分别用来读取USB配置描述符、设备描述符和字符串描述符, 从而判断硬件设备是否连接正常, “显示测点”按钮用来显示原理图上事先标注的测点位置, “保存数据”按钮用来保存测试结果。
5 结论
基于虚拟仪器思想设计的在线测试系统充分发挥了计算机强大的分析计算功能和显示功能, 由于采用了虚拟仪器的设计思想, 将硬件的功能交由软件编程实现, 从而减小了整体设备的体积, 降低了生产成本。应用本系统可大幅度地提高电子产品的生产效率和产品质量。
摘要:本文在简单介绍PCB在线测试技术和虚拟仪器概念的基础上, 阐述了基于虚拟仪器设计思想的在线测试系统的整体方案, 并分别给出了系统硬件和软件的实现方法。该系统通用性好, 测试过程简单, 具有实用价值。
关键词:PCB,USB2.0,虚拟仪器,在线测试
参考文献
[1]刘思久, 张礼勇.自动测试系统与虚拟仪器[M].北京:电子工业出版社, 2009:195.
[2]张易知.虚拟仪器的设计与实现[M].西安:西安电子科技大学出版社, 2002:10.
[3]刘思久, 于小秋.阻抗元件在线测试的误差分析[J].电测与仪表, 2004, (7) :13-16.