帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
如何設計自動化電路板測試系統(ATE)
 

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

瀏覽人次:【13750】

目前市面所銷售的自動化電路板測試系統(簡稱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)和電源(Power 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電源,指令就必需這樣定:


[PROG2] : -38,P6+PROG2,$


假如電路板的測試過程中,需要將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.參數的設定

為了令測試系統有一個快速的執行測試,我們不希望冗長的測試語言造成一個快速測試的瓶頸,因此有必要將測試指令取代成兩字母的參數,這兩個字母的參數可以任意設定,但最好是有一定的規則。我們把前面所討論的指令,摘要的集中在這下面:


a) P1 + 5V,$


b) P1 / 5V,$


c) [PROG1] : -38,$


d) [PROG2] : -38,$


e) [SINE] : Ampt,offset,$


f) [SQUAR] : Ampt,offset,$


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


h) [DCV],$


i) [ACV],$


j) [MER],$


k) PRINT


l) END


現在我們來一一的定出他們的參數:


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


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


[MER]:B2,PRINT:B3,END:B4,B+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)首先將data-base叫進來。


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.GONOG程式的發展

GONOG程式的寫法非常類似Self-Learn Program的寫法,它們之間的差別祇是在於前者,以Self-Learn Program所讀到的測試資料做比較基準,GONOG也是從data-base一行一行讀取、執行,當讀到量測試時(如DCV),GONOG從電路板上讀到一筆DC電壓,它會和己存放於data-base內的電壓值做比較,如果在它的電壓容許值之內(也就是high limit和low limit之內)則pass,繼續往下執行;如果超出或小於,則GONOG便在螢幕顯示FAIL字樣,並停止,除非椄到一個繼續執行的指令(如按鍵盤上Enter鍵),暫停的目的主要是令操作人員可以有時間來修護這塊有問題的電路板。和其他的程式一樣,GONOG必須用商業化的語言來發展,談到這裡,整個類比測試系統的軟體發展便算告一段落。


總結

一個有國際級的類比自動化電路板測試系統,是需要花一點時間和毅力的,但對提高系統整合能力和軟體整合能力有莫大的助益,換句話說,藉由研發製作ATE對工業水準和產業昇級都有相當正面的效應,甚至可以進而發展其它相關自動化產品的能力。


  相關新聞
» Tektronix頻譜分析儀軟體5.4版 可提升工程師多重訊號分析能力
» R&S展示藍牙通道探測信號測量 以提高定位精度
» 太克收購EA Elektro-Automatik 擴展電源產品組合
» 安立知全新模組可模擬MIMO連接 打造穩定5G/Wi-Fi評估環境
» 攸泰科技倡議群策群力 攜手台灣低軌衛星終端設備夥伴展現整合能量


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

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.133.87.156
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw