账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
如何设计自动化电路板测试系统(ATE)
 

【作者: 誠君】2000年11月01日 星期三

浏览人次:【13741】

目前市面所销售的自动化电路板测试系统(简称ATE)大致区分为三种:针床型ATE、类比型ATE和数位型ATE。目前国内所生产的ATE,大部份以针床型ATE为主,品质还相当不错;类比型ATE,则仅有少数几家依据特定的需求设计生产,至于数位型ATE则全赖进口,国内仅是做整合。


由于目前国军采购了大量先进的武器系统,其中不乏许多类比信号的武器装备,需要相当数量的类比自动化电路板测试系统做后续的维修保养。另外,许多厂商也正尝试自行设计类比自动化测试系统,用来测试手边的类比电路板,本文将针对如何设计一类比自动化测试系统做一说明。


一、类比电路板自动测试系统的用途

类比电路板自动测试系统的英文全名是Analog Automatic Test System简称AATS,从字义来看,类比电路板自动测试系统当然是用来测试类比电路板,不过本文所讨论的范围则不局限于类比电路板,还涵盖了测试混合电路板的能力。所谓混合电路板,就是该电路板不仅有类比电路,同时还有数位电路。早期由于技术人力的需求并不是那么的吃紧,自动化测试系统在工厂自动化里所扮演的角色不是很明显,直到近几年来,人力需求不足,产品技术层次提高,自动测试系统才逐渐受到厂商的重视。


二、设计类比自动测试系统的原则

也许你的工厂已经有了一部电路板自动测试系统,也许你的工厂正刚刚起步准备踏入自动化的领域,在这里谈测试系统的设计,似乎显得有点遥远而不实际,因为下意识里你可能会想:我又不打算生产AATS,买一部测试系统会用就行啦!懂什么劳什子设计干嘛?事实并不尽然,因为全世界所有AATS其基本架构和设计理念都是一样的,如果你能了解AATS这些基本架构的理念,绝对对你日后测试系统的维护和测试程式的发展有极大的帮助,当然如果你是准备从事AATS的生产和制造,相信本文应该会对你有一定的帮助。现在就来谈谈设计类比自动化测试系统的几个原则:


a.易懂易学

我们知道工业化社会,每个人时间宝贵,如果你设计一部测试系统,博大精深,使用者学了一、二个礼拜还搞不懂来龙去脉,一头雾水,那么我告诉你这是一部失败的设计。同样的,如果公司准备购买一部测试系统,派你去受训,一、二个礼拜受训完毕后,你依然弄不清状况,别自责!不是你不行,实在是那家公司设计有问题,奉劝你立刻快刀斩乱麻,替换其他家公司的产品,以免后患无穷。因为一个完美的设计,任何复杂的程序和指令都应该由系统的软体或硬体取代,使用者只需知道一些简单的指令或步骤就可以,自动化嘛!当然一切由系统代劳,如果需花一大堆的时间去学习,岂不形成「二次工害」?


b.操作容易

设计的测试系统绝对要操作容易,因为一旦工程人员发展好的测试程式,上机执行电路板测试时,通常都是由生产线作业人员操作,如果操作程序太复杂,一定非得由专业的技术人员来操作,则对工厂形成沉重的人事负担,不符合经济效益,还是那句话:自动化嘛!目的就是要节省工时和人力成本。


c.维修快速

任何机器设备都有损坏的时候,测试系统当然也不例外,一旦测试系统发生故障时,测试系统本身要能很快速正确的指出损坏位置,便于维修人员修护,否则,任何故障都非得原设计人亲自出马不可,这可就太不合时宜了。试想你设计的测试系统突然一下子卖出了五、六十部,如果每一部不定时的陆陆续续都发生了些小毛病,都需师父出马,你能分得了身并即时处理它们吗?要知道,停机一天对工厂的损失是非常的严重的,所以一部够水准的测试系统,本身的自我诊断(Self-Test)能力一定要非常的快速、精确。同样的,当你打算为公司购买一台功能性自动化测试系统,如果本身不能掌握维修,那务必要好好慎重考虑了。


三、类比测试系统的架构

和一般其他的自动化系统一样,类比测试系统也是由两个主要的部份所组成:硬体和软体。硬体部份不外乎是各种的激励仪器(Stimulus Instrument)、量测仪器(Measurement Instrument)、矩阵(Matrix)和电源(P​​ower Source)等所组成,这些硬体部份,在后面的文章我们会有相当的介绍。同时我们也会提供一些​​建议,那些硬体你可到现货市场去购买,那些硬体部份则不妨花少量的费用自己生产,好掌握一些硬体技术。


至于软体部份,则将是我们这次讨论的一个重点。目前市面上所介绍的一般有关类比自动化测试系统的书籍,大都局限在利用现有商业化的软体语言,例如:Pascal、C、Basic等等,然后利用IEEE 488或RS-232等介面控制去驱动各种仪器,形成一个测试系统。它的优点是在任何一个有电子学背景的人,它只要肯苦读、去熟悉商业语言、介面控制、了解各硬体功能,3、5个月后他有可能组成一个测试系统。但是这套系统只有他一个人会用,如果别人想使用这套系统,他就必须花相同的学习时间,然后才有办法使用,它造成了一个使用上的瓶颈。


这就是为什么一般市面上正规的类比测试系统,从来没有用商业化的软体语言做为他们的测试程式语言,不同公司的测试系统一定含有一套专属的测试语言(Test Language),使用者只需花短短的一、二天学习,就能立刻上机撰写测试程式,开始执行电路板测试了,这是用专属的测试语言和用一般商业语言之间最大的差异了。所以严格来讲,一部类比测试系统其能力的高低,完全在于其软体架构是否严谨、方便、好用;至于硬体,每家都差不多,因为都是那几家出名仪器公司的产品。下面我们就开始来仔细的谈测试系统的架构。


四、类比测试系统的硬体架构

类比测试系统的硬体主要是由五大部份组成,它们分别是电源供应部份、信号激励部份、信号量测部份、矩阵交换部份和信号面板部份,我们用一个方块图(图一)来解释这五大部份相互间的关系。


《图一 》
《图一 》

1.电源供应:

电源供应是由两个部份组成,固定电源和可程式化的电源(Programmer Power Supply),这两部份市面上都有充分的现货供应。在固定电源部份,一般都是装上最常用的+5V、-5V、+12V、-12 V、和+24 V;程式化电源通常都是装两组,以弥补某些待测电路板的电源需求超过上述组的固定电源。程式化电源的上下电压供应大约是±50V左右,电源则大约是15A~20A,这些电源经由电源控制卡(Power Switch Card)将电源供应至待测电路板(UUT),电源控制卡耐电压通常是大一点比较好(约150vdc以上),我们用(图二)再清楚的描述一下。


《图二 》
《图二 》

由于电源供应部份所承载的电流一般较大,所以将它独立出来,同时连接至信号面板的电源线比起信号线来通常也较粗,以防发热。电源控制卡这一部份,应该是可以自己来生产,利用PC内的8255卡做控制卡,再到市面上选购耐压较大的开关(Switch),用打线板应该就可以制成,学问没有多大只要花点时间,当然,直接掏出钞票到市面上去买是最省事了。


2.信号激励(Stimulus):

一般较常用的是信号产生器(Function Generator)、任意波形产生器(Arbitrary Function Generator)、AC400Hz产生器等,最常使用的通常是几家国际知名的仪器生产公司如:HP、TEK、FLUCK等,不过国内所生产的类似产品品质也不坏,而且价钱便宜,唯一的缺点是维修地点太少,保养有点麻烦。


3.信号量测:

如示波器(OSC)、数位表(Digital Multimeter)、万用计数器(Universal Counter)等,也都是上述几个大厂的产品,较普遍由测试系统制造公司所采用,当然,国内也有类似的厂家生产同样的产品。


4.矩阵交换:

这一部份主要的作用是可以将不同的量测仪器和激励仪器联接到同一个待测电路板上的测试点,譬如待测电路板上有一测试点,它可能需要先接受一个DC电压,再输入一个正弦波,输出脚此时才会有讯号出现,矩阵交换就是扮演这样的角色,它可以将DC Power和正弦波产生器先后联接于待测点上。矩阵设计的原则是依两个条件:


a.有多少部仪器准备嫁接在类比测试系统内


b.该部测试系统一次最多可以测试的测试点(俗称UUT的输出/输入脚)


我们用一个范例来说明这两个条件(图三),假设你打算在你的测试系统上装上5部量测仪器和5部激励仪器,另外你的待测电路板最多不会超过120输出入脚,那么这个矩阵交换架构就出来了。


《图三 》
《图三 》

以上架构,我们通常称做10*20矩阵,它表示你的测试系统最多可以容纳10部各式仪器,和最大可以测到120输出入脚的电路板。矩阵部份可以自己做,也可以到市面上购买现成的产品来组装,如果自己做控制部份还是采用PC周边的8255卡,开关(Switch or Relay)则到电子材料行就可买到,利用打线板组装,市面上现成的产品通常是用IEEE-488或VXI来控制开关,一个完整的矩阵架构买下来,价钱也不便宜,所以买或自己做倒是值得评估的问题。


5.讯号面板:

就是所有各式信号集中在这里,以方便待测电路板(UUT)联接使用,这一部份看起来好像没有什么学问,其实它也是要花心思的地方,因为将来待测电路板(UUT)安装是否容易、快速完全看这里的设计了。最花费作业时间的地方就是待测试电路板的安装了,在这里我们并不详谈这部份,因为它是有相当的弹性空间,设计的好坏,见仁见智,没有绝对的标准,总而言之,把握一个原则,以最省时的安装为第一首要。


硬体架构谈到这里算是告一个段,从以上的介绍,或许会发现,类比测试系统的硬体部份似乎没有多大的技术,相关的仪器、矩阵电路买一买,组装一下就成了,了不起再设计一个吸引人的外观,把仪器和矩阵安装在里面就是了。事实也是如此,全世界大多数的测试系统制造公司都是不出这个模式,硬体对外采购,自己只负责组装和发展系统软体-测试语言。所以测试语言的好坏才是一个测试系统能力的真正灵魂。现在就来一窥如何设计一个测试语言的奥妙了!首先从整个软体架构开始。


五、测试系统的软体架构

在谈到系统的软体架构之前,我们假设你已有了一个基本仪器控制观念,也就是说你对IEEE488 BUS或VME BUS有相当程度的了解,因为在这里,我们会专注的去讨论如何发现测试语言的奥秘。至于IEEE488 BUS或VME BUS是仪器厂商使用他们产品所订的一套驱动标准,市面上己有相当的书籍去描述它们,就不在这里讨论。至于发展测试语言所常用的商业语言你至少需要熟悉一种,它可以是Pascal、C、Basic、Fortran等的任一种。有了以上的基本需求后,我们就可以来讨论软体架构了,当然!对于相关的仪器的功能你也必需要有一定程度的熟悉。


1.设计的基本方针

我们先用一个流程图(图四)来说明设计的前后次序。总计是​​7个步骤,这其中以第一个步骤最为困难,因为一个测试系统测试能力高低、方便性,就完全看你第一个步骤是否制定得完整和严谨,每一家测试系统制造公司拼技术的也是在这第一个步骤分出高下,至于后面的步骤则是完全根据第一个步骤发展。


《图四 》
《图四 》

2制定测试语言

在这里我们会用一些范例来说明如何制定测试语言,但它不是一个标准,你可以此为参考去制定另外一套测试语言或多参考各家不同的测试语言,集合它们精华创造出一套属于你自己的测试语言。但需记住一个原则,就是你发展出的测试语言必须好读、好写,几个钟头之内就能令一个生手开始运用它撰写测试程式。


在谈制定测试语言之前,我们先来复习一下前面的硬体架构。除了信号面板部份,下面的硬体部份与我们制定的测试语言有密切的关系:


 电源供应


 信号激励


 信号量测


 矩阵交换


首先,我们来谈电源供应在制定测试语言的关联。我们知道在测试任何电路板之前,第一要务就是把该电路板所需的相关电源提供或在执行的测试过程中,把某些电源去除掉,如何用一个简单的指令就可以令测试系统达到上述的目的呢?我们可以这样定:


"PX+" or "PX/"


P:Power X:Relay + : Connect /:Disconnect


我们把前面所谈电源供应方块图(图五)再拿来进一步说明。譬如我们希望将+5V和+24V电源送到待测电路板(UUT),我们这样定:


《图五 》
《图五 》

P1+5V,P$+24V,$


$表示一个动作的继承,另外我们又发现这块待测电路板需要一个-38V的电源,它不在固定电源的行列内,这时我们需要用到程式化电源供应器,我们这样定:


[PROG1] : -38,P5+PRG1,$


在测试系统内,我们只要安装了两组程式化电源供应器,分别是PROG1和PROG2,如果我们是利用PROG2提供-38V电源,指令就必需这样定:


[PROG 2] : -38,P6+PROG 2,$


假如电路板的测试过程中,需要将24V电源去除掉,另外需用到+12V电源,就这样定:


P4/,P2+12V,$


"+"表示将开关"Switch"关起来,"/"表示将开关打开。


从以上诸多的例子中,我们可以发现,任何一个硬体部份,你都需要设定一个指令去控制它,否则如何去操作它呢?我们总结一下以上的指令:


a) P*+


b) P*/


c) [PROG1]


d) [PROG2]


在后面的讨论中,我们会用这四个控制令去制定参数。接着我们来谈如何定信号激励(Sitmulus)的指令,通常这一部份是由信号产生器(Function Generator)、任意波形产生器(Arbitrary Function Generator)等所组成,我们就拿其中信号产生器做范例:一般的信号产生器大都可以生各种的波形如Sine Wave、Square Wave、Triange Wave、Ramp等,根据不同的波形你就可以制定指令了,如:


a) [SINE] : Ampt, offset


b) [SQUAR] : Ampt, offset


c) [TRING] : Ampt, offset


d) [RAMP] : Ampt, offset


:


:


Ampt和offset是指该波形的Amplitude和DC offset,当然,你也可以用一个指令取代以上四个指令,如[WAVE],后面再定一些波形的参数,如:


[WAVE]:SINE,6V,2V,$


它表示功能产生器将产生一个Sine Wave的波形,peak到peak电压是6V,DC offset电压是2V,也就是说每一个信号激励的仪器都可以用一个指令取代,指令的后面再依仪器的特性定出参数,再来就是信号量测的指令制定:信号量测通常都是由示波器、多功能数位表(Multimeter)等组成。在这里我们用多功数位表做一个范例,一般多功能数位表是具有三个最主要的功能:量多直流电压、电流和电阻,我们就依这些功能来制定测试语言:


[DCV] : 表示量DC电压


[DCA] : 表示量DC电流


[ACV] : 表示量AC电压


[ACA] : 表示量AC电流


[MER] : 表示量电阻


最后,再来谈矩阵交换部份。在前面我们提到一个10*120的范例矩阵,10是指仪器容纳数,120是指输出入脚数,我们定仪器部份的指令为S(表示Source),定输出入脚这一部份为B;假定需要量测仪器3和16只输出入脚连接上,我们可以这样定指令:[B16+S03,$]。如果我们需要激励5的仪器和输出入脚118连上,指令需这样写:[B118+S10,$]。依此类推,最大可以写到:[S10+B120,$]。


说到这里,测试语言的一个基本架构就算差不多了,另再制定一些辅助,指令例如:print,end等等就相当齐全了。


3.参数的设定

为了令测试系统有一个快速的执行测试,我们不希望冗长的测试语言造成一个快速测试的瓶颈,因此有必要将测试指令取代成两字母的参数,这两个字母的参数可以任意设定,但最好是有一定的规则。我们把前面所讨论的指令,摘要的集中在这下面:


阿) P1 + 5V,$


本) P1 / 5V,$


从) [PROG1] : -38,$


但) [PROG2] : -38,$


哦) [SINE] : Ampt,offset,$


分) [SQUAR] : Ampt,offset,$


更) [WAVE] : SINE,6V,2V,$


或) [DCV],$


i) [ACV],$


就) [MER],$


k) PRINT


l) END


现在我们来一一的定出他们的参数:


P:A1,P:A2,P/:A3,[PROG1]:A4,[PROG2]:A5


[SINE]:A6,[SQUARE]:A7,[WAVE]:A8,[DCV]:A9,[ACV]:B1


[MER]:B2,PRINT:B3,END:B4B+S:B5,B/S:B6


一个原则是有多少指令就必须定出多少参数,也许谈到这里对某些人而言,还不是很清楚,我们会在后面举出一些范例帮助了解。


4.资料库的制定

资料库(Database)设定最主要目的是将所有相关的测试资料,测试条件和测试需求集中来处理,我们可以将资料库定成(图六)的格式。相关资料是依据不同参数的特性所制定。


《图六 》
《图六 》

5.编辑(Compile)程式的设计

如何将测试程式经由参数转到data-base内去呢?这个过程就需经由编辑(Compile)程式来完成,编辑程式可以用C语言或Pascal或Basic等商业化语言来发展编辑程式的写法非常简单:


a)首先把整个测试程式读进到一个档案。


b)然后开始一行行去读,譬如:读到#就放到data-base的方块栏内,读到print就放到指令栏位,print指令所引申的参数B3放到参数栏位,最后将Power Set Up On UUT整句存放于资料栏位。


c)编辑程式同时肩负着句型的验证,如不合测试程式的规格,则显示错误讯息(Error Message)告知程式发展人员修改,其它的句型依此类推去转换。


6.自我学习(Self-Learn)程式的发展

Self-Learn程式对测试程式发展人员是非常重要的一个程式,因为针对电路板发展一个测试程式时,并不是常常可以获得足够的测试规格,此时就可以利用Self-Learn程式已写好的测试程式,从一块好的电路板上输出脚资料读取出来,存放于data-base内,做为日后同功能电路板的测试资料用。 Self-Learn程式完全是依据data-base来执行,Self-Learn程式可以用C或Pascal或Basic等商业化语言来发展,如同前面的编辑​​程式一样。 Self-Learn程式是这样写的:


a)首先将database叫进来。


b)接着开始一行一行的去读。


c)从参数栏位读起,以前面的data-base为例:


读到A2知道目前执行Analog Test。


读到B3就将Power Set Up on UUT整行显示在萤幕上。


读到A1就将00000001经由IEEE-488或VME bus(依Relay Card被控制的条件而定)送到开关控制卡,此时P01开关就关起来,5V电源便经由开关控制卡送到待测试电路板。


读到A4知道是一个可程式化的电源,便经由IEEE bus或VME bus,令程式化电源产生一个+15V电源。


读到A1便将00000101送至开关控制卡以时P05开关就关起来,+15V电源便送至待测电路板。


依上述原则,Self-Learn Program读一行执行一行,一直读到END结束为止。其中当读到A9时,知道是要去读取一个DC电压,便由IEEE bus或VME bus令多功能数位表从待测电路板的输出脚B01读取一个DC电压,读到后的电压值便存放于measure data处,另外再给一个±5%或±3%(依程式发展人员的需求)Tolerance值对读取的DC电压,分别存放于up Limit(±5%±3%)和low limit(±5%±3%)位置,例如:读取一个12V电压,给予±4% Tolerance,则data-base栏位情形如(表一):



《表一 》
《表一 》

7.GOOG程式的发展

GOOG程式的写法非常类似Self-Learn Program的写法,它们之间的差别只是在于前者,以Self-Learn Program所读到的测试资料做比较基准,GONOG也是从data-base一行一行读取、执行,当读到量测试时(如DCV),GONOG从电路板上读到一笔DC电压,它会和己存放于data-base内的电压值做比较,如果在它的电压容许值之内(也就是high limit和low limit之内)则pass,继续往下执行;如果超出或小于,则GONOG便在萤幕显示FAIL字样,并停止,除非椄到一个继续执行的指令(如按键盘上Enter键),暂停的目的主要是令操作人员可以有时间来修护这块有问题的电路板。和其他的程式一样,GOOG必须用商业化的语言来发展,谈到这里,整个类比测试系统的软体发展便算告一段落。


总结

一个有国际级的类比自动化电路板测试系统,是需要花一点时间和毅力的,但对提高系统整合能力和软体整合能力有莫大的助益,换句话说,藉由研发制作ATE对工业水准和产业升级都有相当正面的效应,甚至可以进而发展其它相关自动化产品的能力。


  相关新闻
» Tektronix频谱分析仪软体5.4版 可提升工程师多重讯号分析能力
» R&S展示蓝牙通道探测信号测量 以提高定位精度
» 太克收购EA Elektro-Automatik 为全球电气化提供扩展电源产品组合
» 安立知全新模组可模拟MIMO连接 打造稳定5G/Wi-Fi评估环境
» 攸泰科技倡议群策群力 携手台湾低轨卫星终端设备夥伴展现整合能量


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84T9ZY6E2STACUK4
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw