中心議題:
- 電路板自動(dòng)測(cè)試系統(tǒng)的總體結(jié)構(gòu)
- 電路板自動(dòng)測(cè)試系統(tǒng)詳細(xì)設(shè)計(jì)
解決方案:
- 針床設(shè)計(jì)
- 信號(hào)采集
- 信號(hào)傳輸和控制協(xié)議
- 系統(tǒng)的軟件設(shè)計(jì)
本文介紹了一種通用的電路板自動(dòng)測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)從針床到測(cè)試軟件的各個(gè)環(huán)節(jié)都采用了開(kāi)放型的設(shè)計(jì),通用性很強(qiáng),可以用于多種電路板的自動(dòng)測(cè)試;具有高達(dá)2 Gs/s 的信號(hào)采樣率,可以比較準(zhǔn)確地采集頻率為153 MHz 的信號(hào),用于多款電路板的測(cè)試。
電路板已經(jīng)成為當(dāng)今電子產(chǎn)品的重要組成部分,隨著電子技術(shù)及印制板制造技術(shù)的發(fā)展,現(xiàn)代電子產(chǎn)品日趨復(fù)雜,印制電路板的密度日趨增加,隨之而來(lái)的是印制板的測(cè)試及修理也愈加困難。為了提高印制電路板的檢測(cè)及維修的自動(dòng)化程度,設(shè)計(jì)電路板的自動(dòng)測(cè)試系統(tǒng)是非常必要的。
目前,印制電路板自動(dòng)測(cè)試技術(shù)發(fā)展迅速,印制板在線測(cè)試系統(tǒng)(ATE)廣泛應(yīng)用于印制板光板及各種產(chǎn)品的印制電路板的生產(chǎn)、檢測(cè)和維修等環(huán)節(jié)。由于用戶(hù)的測(cè)試要求、測(cè)試對(duì)象各不相同,其具體性能(或功能)、測(cè)試原理及測(cè)試方法也各不相同,它需要量體裁衣、單臺(tái)定制才能滿(mǎn)足用戶(hù)的要求,并且系統(tǒng)的通用性較差,資源可重復(fù)利用率低。鑒于上述狀況,本文設(shè)計(jì)了一款較為通用的自動(dòng)測(cè)試系統(tǒng),用來(lái)測(cè)試電路板是否工作正常,實(shí)現(xiàn)了對(duì)多款電路板的在線測(cè)試。
1 系統(tǒng)的總體結(jié)構(gòu)
1.1 系統(tǒng)總體考慮
本系統(tǒng)的主要目的是測(cè)試電路板是否工作正常,是通過(guò)對(duì)電路板上關(guān)鍵信號(hào)進(jìn)行測(cè)試來(lái)達(dá)到的。因此,本系統(tǒng)的任務(wù)就是對(duì)電路板上的關(guān)鍵信號(hào)進(jìn)行采集,通過(guò)PC 端的軟件進(jìn)行分析得出測(cè)試結(jié)果。系統(tǒng)分為針床、信號(hào)采集和傳輸模塊、測(cè)試軟件3個(gè)部分。作為一個(gè)通用的測(cè)試系統(tǒng),在3 個(gè)部分中均考慮了較強(qiáng)的通用性。
1.2 系統(tǒng)結(jié)構(gòu)
本自動(dòng)測(cè)試系統(tǒng)的結(jié)構(gòu)框圖見(jiàn)圖1。系統(tǒng)的工作原理是:通過(guò)針床將待測(cè)信號(hào)導(dǎo)出,F(xiàn)PGA 通過(guò)控制多路模擬開(kāi)關(guān)將待測(cè)信號(hào)采集進(jìn)來(lái),將數(shù)據(jù)通過(guò)相應(yīng)協(xié)議傳送到PC 機(jī),用自動(dòng)測(cè)試軟件測(cè)試各個(gè)信號(hào)是否正常。
由于待測(cè)信號(hào)的頻率相差較大,有直流信號(hào),也有頻率高于103 MHz 的脈沖信號(hào),以及在其間的多種頻率的信號(hào),因此本系統(tǒng)采用低頻和高頻2 組信號(hào)采樣電路,來(lái)適應(yīng)不同信號(hào)采集的需要。
2 系統(tǒng)詳細(xì)設(shè)計(jì)
2.1 針床設(shè)計(jì)
針床是電路板測(cè)試系統(tǒng)的重要部件,是電路板信號(hào)導(dǎo)出的平臺(tái)。針床的通用性較差,一般是每種電路板對(duì)應(yīng)一個(gè)特定的針床,這使系統(tǒng)的通用性受到很大的限制。為使針床具有一定的通用性,本系統(tǒng)中對(duì)針床的相關(guān)部件進(jìn)行了一些改進(jìn):
(1)探針設(shè)計(jì)。探針見(jiàn)圖2 a。本探針是以目前市場(chǎng)上的探針為基礎(chǔ)、自行設(shè)計(jì)的內(nèi)含彈簧的探針,易于固定,信號(hào)導(dǎo)出方便:
探針的一端為探頭,是與電路板接觸,并導(dǎo)出信號(hào)的部分;另一端是固定座,是絕緣體,中空,內(nèi)含彈簧,使探頭能夠伸縮;中間為信號(hào)的導(dǎo)出端子。為減少各個(gè)信號(hào)間的干擾,導(dǎo)線均采用屏蔽線。為適應(yīng)不同信號(hào)要求,按粗細(xì)和允許的信號(hào)帶寬要求探針?lè)譃槎喾N型號(hào),使用時(shí)根據(jù)需要對(duì)探針型號(hào)進(jìn)行選擇。
[page]
(2)探針的固定:在本系統(tǒng)的針床上,探針的固定是采用兩塊相同的探針固定板和4 塊擋板組成,固定板和探針的固定示意圖見(jiàn)圖2 b 和圖2c:固定板的大小與待測(cè)板相同,板上固定孔位置需根據(jù)電路板的技術(shù)文件來(lái)確定,孔的大小需根據(jù)選取探針的型號(hào)來(lái)決定。擋板可以在整個(gè)針床的底座上進(jìn)行移動(dòng)調(diào)整,以適應(yīng)不同尺寸電路板的固定要求;擋板的寬度,前后兩個(gè)為233 mm,左右兩個(gè)為73 mm。
2.2 信號(hào)采集
電路板上輸出的待測(cè)信號(hào)主要有三類(lèi):電源信號(hào)、脈沖數(shù)字信號(hào)、電平變換信號(hào)。此外還有一些頻率較高的模擬信號(hào),如音視頻信號(hào),此類(lèi)信號(hào)一般不作為關(guān)鍵測(cè)試信號(hào),若需測(cè)試時(shí)可按高頻信號(hào)進(jìn)行采集。其中電源信號(hào)和電平變換信號(hào)均可視為直流信號(hào)來(lái)采集,用 AD7864 完成采集。而脈沖數(shù)字信號(hào)的頻率較高,動(dòng)輒就幾十兆赫茲甚至上百兆赫茲,需要用高速的AD(本系統(tǒng)中用的是AT84AD331) 來(lái)進(jìn)行采集,并且需要對(duì)頻率進(jìn)行測(cè)量。因此本系統(tǒng)信號(hào)采集分為低頻和高頻兩個(gè)部分,下面分別敘述:
(1)低頻部分。本部分主要采集的是電源信號(hào)和電平變換信號(hào),采用AD7864 作為采集芯片。AD7864 具有片內(nèi)時(shí)鐘、讀寫(xiě)允許邏輯、多種通道選擇方式以及內(nèi)部精確的2。5 V 參考電壓,這使得其與高速處理器的接口變得非常簡(jiǎn)單。AD7864 轉(zhuǎn)換后的數(shù)據(jù)讀取采用轉(zhuǎn)換后讀取數(shù)據(jù)的方式,其讀取時(shí)序見(jiàn)圖3。
采集到的數(shù)據(jù)為D3~D11 共12 位,需根據(jù)采集到的數(shù)據(jù)來(lái)計(jì)算電壓值,計(jì)算公式如下:
當(dāng)D11 位為3 時(shí),電壓為正值,計(jì)算公式為:
當(dāng)D11 位為1 時(shí),電壓為負(fù)值,計(jì)算公式為:
以上兩式中D 為讀取的12 位數(shù)據(jù),FSR 為AD7864 的測(cè)量范圍,本例中為23 V(測(cè)量范圍為V)。
[page]
(2)高頻部分。主要是對(duì)脈沖數(shù)字信號(hào)的采集,包括頻率測(cè)量和信號(hào)采集兩個(gè)部分。脈沖數(shù)字信號(hào)的頻率是確定電路板是否工作正常的重要參數(shù),因此確定脈沖信號(hào)的頻率是否正常是本測(cè)試系統(tǒng)的必要工作。本系統(tǒng)是將待測(cè)信號(hào)接入FPGA 與53MHz 的高精度時(shí)鐘同時(shí)開(kāi)始計(jì)數(shù),一段時(shí)間后,通過(guò)兩個(gè)信號(hào)的計(jì)數(shù)值來(lái)計(jì)算脈沖信號(hào)頻率的。信號(hào)采集是以AT84AD331 作為采集芯片。AT84AD331 與EP2S63 的連接見(jiàn)圖4。
AT84AD331 可以配置成I 路和Q 路單獨(dú)使用,此時(shí)可以同時(shí)采集兩路信號(hào),最高采樣率為1 Gs/s;也可以配置成I 和Q 路的交錯(cuò)采樣,此時(shí)只能采集1 路信號(hào),等效采樣率為2 Gs/s,使用時(shí)可以根據(jù)需要對(duì)該芯片進(jìn)行在線配置。FPGA 對(duì)AT84AD331數(shù)據(jù)讀取時(shí)序見(jiàn)圖5。
由于AT84AD331 輸入信號(hào)為差分信號(hào),且信號(hào)峰峰值要求不超過(guò)533 mV。電路板上的待測(cè)信號(hào)都是單端的并且峰峰值一般在4 V~5 V 之間。本系統(tǒng)中采用了13∶1 的變壓器耦合輸入方式,可以完成單端信號(hào)到差分信號(hào)的轉(zhuǎn)換,并且使信號(hào)電壓滿(mǎn)足要求。
在FPGA 內(nèi)部完成對(duì)LVDS 信號(hào)的讀取、組合、排序以及存儲(chǔ)等操作。一般情況下存儲(chǔ)的采樣點(diǎn)的值在1 333 以?xún)?nèi),然后對(duì)這些采樣點(diǎn)的值進(jìn)行計(jì)算,可以得到實(shí)際電壓值,計(jì)算公式如下:
[page]
2.3 數(shù)據(jù)傳輸和控制協(xié)議
系統(tǒng)中待測(cè)信號(hào)較多,低頻和高頻部分分別是32 個(gè),而數(shù)據(jù)采集芯片都只有一個(gè),各個(gè)信號(hào)都是由FPGA 控制模擬開(kāi)關(guān)分時(shí)地進(jìn)行采集的。為使各個(gè)通道的數(shù)據(jù)存儲(chǔ)、傳輸和控制有序地進(jìn)行,在FPGA 中為每一個(gè)信號(hào)都設(shè)置了工作狀態(tài)控制模塊和數(shù)據(jù)存儲(chǔ)模塊(以下稱(chēng)為寄存器和數(shù)據(jù)存儲(chǔ)器)。本系統(tǒng)中所有控制過(guò)程的命令都是從PC 端發(fā)出的,F(xiàn)PGA 接收控制指令后,按指令進(jìn)行相應(yīng)的操作。
(1)寄存器和數(shù)據(jù)存儲(chǔ)器介紹。FPGA 對(duì)每一路信號(hào)都設(shè)有5 bit 的控制寄存器、12 bit 的最終結(jié)果寄存器和16 bit 的原始數(shù)據(jù)存儲(chǔ)器。此外在高頻部分還擁有一個(gè)公共的高速采樣數(shù)據(jù)的存儲(chǔ)器,大小為1 kB,及其對(duì)應(yīng)的一個(gè)8 bit 的控制寄存器。5 bit的控制寄存器每個(gè)通道只設(shè)有一個(gè),該寄存器D3 位為數(shù)據(jù)準(zhǔn)備好標(biāo)志(1 有效),其余4 位為控制位,各位的功能見(jiàn)表1,每一位都是1 為肯定,每一位都可通過(guò)PC 端發(fā)來(lái)的控制指令更改,F(xiàn)PGA 只能向D3 位寫(xiě)1 ,表示數(shù)據(jù)已經(jīng)準(zhǔn)備好。上電或復(fù)位后該寄存器值為33333B。
表1 5bit控制寄存器的位功能
12 bit 的最終結(jié)果寄存器每個(gè)通道也只設(shè)有一個(gè),該寄存器的值是向PC 機(jī)發(fā)送的最終結(jié)果。該寄存器的數(shù)據(jù)在低頻和高頻部分,存放的數(shù)據(jù)不同:低頻部分存放的是13 次采樣結(jié)果的平均值,高頻部分存放的是計(jì)算后的頻率值。
16 bit 的原始數(shù)據(jù)存儲(chǔ)器,其低頻和高頻部分的數(shù)量是不相同的:高頻部分一般是2 個(gè),分別用來(lái)存放標(biāo)準(zhǔn)和待測(cè)時(shí)鐘的計(jì)數(shù)值;低頻部分為13 個(gè),用來(lái)存放13 個(gè)采樣點(diǎn)的值,12 bit 的最終結(jié)果寄存器的值是根據(jù)這13 個(gè)數(shù)據(jù)的平均值。
高速采樣數(shù)據(jù)存儲(chǔ)器是高頻部分的32 路共有的,由于波形采樣的數(shù)據(jù)量比較大,本系統(tǒng)設(shè)計(jì)時(shí)在同一時(shí)刻只允許采樣1 路信號(hào),采樣點(diǎn)數(shù)可以設(shè)定(最多為1 K),待這些數(shù)據(jù)全部發(fā)送出后,才可以開(kāi)始下一次采集。對(duì)應(yīng)的控制寄存器的位功能見(jiàn)表2。
表2 高速采樣控制寄存器的位功能
其中D7~D4 為數(shù)據(jù)采集的點(diǎn)數(shù)設(shè)置,3333B 表示64 個(gè),1111 表示1 324 個(gè),步進(jìn)為64。D3~D1 為數(shù)據(jù)抽取的間隔設(shè)置,333 表示抽取間隔為3,全部數(shù)據(jù)有效;111 表示抽取間隔為28,即每隔28 個(gè)點(diǎn)抽取一個(gè)點(diǎn),步進(jìn)為4。設(shè)置這幾位的目的是為了適應(yīng)信號(hào)頻率的要求,防止采集數(shù)據(jù)不足一周期的狀況發(fā)生。D3位為標(biāo)志位,功能和操作與5 bit 的寄存器的對(duì)應(yīng)位完全相同。本寄存器分高4 位和低4 位兩次設(shè)置。
(2)控制命令介紹。本系統(tǒng)中的控制命令都是由PC 機(jī)發(fā)出的,共8 個(gè)命令:選擇控制寄存器1(低頻部分);選擇控制寄存器2(高頻部分);選擇控制寄存器3(高速采樣部分);寫(xiě)控制寄存器數(shù)據(jù);讀取數(shù)據(jù)1(低頻部分);讀取數(shù)據(jù)2(高頻部分的頻率值);讀取波形采樣數(shù)據(jù);開(kāi)始/停止測(cè)試。
PC 機(jī)發(fā)送的控制字都是8 位的,其中高3 位為控制命令字,用來(lái)區(qū)分8 個(gè)命令,低5 位為輔助功能,具體見(jiàn)表3。FPGA 接收到主機(jī)發(fā)來(lái)的命令信號(hào)后,按命令執(zhí)行相應(yīng)的操作。
表3 控制命令的位功能
(3) 數(shù)據(jù)傳輸過(guò)程簡(jiǎn)述。系統(tǒng)中與PC 機(jī)的通信采用的是RS232 接口,數(shù)據(jù)的傳輸完全符合RS232 標(biāo)準(zhǔn)?,F(xiàn)將數(shù)據(jù)的傳輸過(guò)程簡(jiǎn)述如下:系統(tǒng)啟動(dòng)后,首先進(jìn)行自檢,以確定系統(tǒng)工作是否正常;系統(tǒng)工作正常后,PC 機(jī)通過(guò)測(cè)試軟件對(duì)FPGA 內(nèi)部的各個(gè)寄存器進(jìn)行配置;然后發(fā)送開(kāi)始命令,開(kāi)始對(duì)有效的各個(gè)信號(hào)進(jìn)行采集;采集完成后向PC 機(jī)返回信息,PC 機(jī)根據(jù)需要通過(guò)測(cè)試軟件從FPGA 讀取相應(yīng)通道的數(shù)據(jù),將數(shù)據(jù)計(jì)算后與標(biāo)準(zhǔn)值進(jìn)行比較并得出測(cè)試結(jié)果。也可以根據(jù)需要讀取某一通道的原始數(shù)據(jù)以及采集某一通道信號(hào)的波形。在FPGA 內(nèi)部還擁有關(guān)鍵信號(hào)(電源)的監(jiān)測(cè):任何一路電源信號(hào)不正常則重新進(jìn)行采集,若3 次采集結(jié)果均不正常則直接關(guān)閉電路板的供電電源,避免損壞電路板,并向PC 發(fā)送電源不正常的消息,并給出出現(xiàn)異常的通道號(hào)。
[page]
2.4 測(cè)試軟件設(shè)計(jì)
測(cè)試軟件是本系統(tǒng)的人機(jī)接口部分,在本系統(tǒng)中需包括如下功能:設(shè)置各個(gè)通道信號(hào)的參數(shù)值,并能保存和讀取設(shè)置的參數(shù);顯示各個(gè)通道的信號(hào)測(cè)試結(jié)果,并能夠保存;能夠采集并顯示某一通道的信號(hào)波形。
擁有上述功能即可進(jìn)行測(cè)試,至于界面方面可以根據(jù)個(gè)人的習(xí)慣和愛(ài)好進(jìn)行設(shè)計(jì)。本系統(tǒng)的測(cè)試軟件實(shí)現(xiàn)了上述的功能,至于界面并未追求美觀,其功能大致如下:
系統(tǒng)主界面見(jiàn)圖6,除了“開(kāi)始停止”鍵外,有設(shè)置、查看信號(hào)波形和保存結(jié)果3 個(gè)按鈕,還有一個(gè)結(jié)果的輸出窗口。
設(shè)置窗口見(jiàn)圖7,本窗口中可以設(shè)置每一路信號(hào)的屬性,也可以直接調(diào)出以前保存的設(shè)置,設(shè)置完成后即可按該設(shè)置進(jìn)行測(cè)試。設(shè)置完成后,可以將本次的設(shè)置保存成文件,以便下次直接調(diào)出。
查看信號(hào)波形的設(shè)置和顯示窗口見(jiàn)圖8。
3 結(jié)語(yǔ)
本文設(shè)計(jì)的電路板自動(dòng)測(cè)試系統(tǒng)通用性強(qiáng)、使用方便、工作穩(wěn)定,可以應(yīng)用于多款電路板的測(cè)試;對(duì)不同的電路板,只需制作2 塊對(duì)應(yīng)的固定板即可。系統(tǒng)已經(jīng)對(duì)123 mm×133 mm 和253mm×213 mm 兩款電路板進(jìn)行測(cè)試,結(jié)果令人滿(mǎn)意。該系統(tǒng)具有一定的推廣價(jià)值。