王和明,王菊
(空軍工程大學(xué) 防空反導(dǎo)學(xué)院,陜西 西安 710051)
?
基于FPGA的數(shù)字類板件比對測試平臺設(shè)計*
王和明,王菊
(空軍工程大學(xué) 防空反導(dǎo)學(xué)院,陜西 西安710051)
摘要:數(shù)字類板件的檢測包括功能檢測和時序檢測,由于該類板件輸入輸出信號路數(shù)多、時序復(fù)雜,一直是電子系統(tǒng)中測試的難點(diǎn)。給出了一種基于FPGA的測試平臺,可在不依賴于計算機(jī)的情況下,自動給出被測板件與原板件的邏輯功能和時序關(guān)系的比對測試結(jié)果,且時序誤差可手動設(shè)置,并能確定不一致輸出的位置和此時輸入的測試矢量。該平臺已用于某引進(jìn)裝備中數(shù)字類板件的比對測試,更換不同測試頭也可用于其他板件的測試。
關(guān)鍵詞:數(shù)字類板件;測試平臺;FPGA;比對測試
0引言
隨著現(xiàn)代電子技術(shù)的不斷發(fā)展,數(shù)字系統(tǒng)的應(yīng)用范圍越來越廣。由于數(shù)字類板件輸入輸出信號路數(shù)多,時序復(fù)雜,所以對該類板件的測試已成為了電子系統(tǒng)調(diào)試的難點(diǎn)和研究的熱點(diǎn)問題。數(shù)字類板件的檢測包括功能檢測和時序檢測,該類板件測試的基本思想是對被測板件輸入測試矢量,得到的輸出響應(yīng)與正常情況下的輸出進(jìn)行比對。在測試過程當(dāng)中,難點(diǎn)是確定施加什么樣的激勵,可以使故障激活同時能在可及端測量出來,以及如何進(jìn)行時序測試和判定[1]。
一般數(shù)字類板件的測試平臺須依賴于計算機(jī),而且需在充分分析電路的功能和時序關(guān)系的基礎(chǔ)上,利用邏輯分析儀或示波器確定被測板件的邏輯功能和時序延遲。不同的板件需加載不同的信號在不同的點(diǎn)進(jìn)行測試,但當(dāng)原板件的功能不詳或時序未明時,再利用一般數(shù)字類板件的測試平臺進(jìn)行測試就會帶來測試的盲目性,使測試工作耗時費(fèi)力。因此本文設(shè)計了一種可以對這類數(shù)字類板件進(jìn)行有效測試的測試平臺。
1平臺功能及組成[2-9]
測試平臺的主要功能就是在對被測板件功能和時序不是十分了解的情況下,比對其與在該引進(jìn)裝備上可以正常工作的原裝數(shù)字類板件(本文中簡稱為原板件)的輸出,若在所有輸入測試序列激勵下的輸出邏輯都相同,且時序延遲在認(rèn)可的范圍內(nèi),則說明被測板件功能正常,否則就認(rèn)為工作不正常。在出現(xiàn)不正常輸出狀態(tài)時,控制輸入測試序列停止變化,同時輸入測試序列指示和輸出狀態(tài)指示表明在哪種輸入狀態(tài)下哪幾路輸出不一致。輸入測試序列的頻率和輸出的延遲時間可以選擇控制,其組成框圖如圖1所示。
圖1 系統(tǒng)組成框圖Fig.1 Block diagram of the system
輸入測試序列產(chǎn)生及頻率選擇控制由一片型號為EP1C12Q240C8的FPGA(field-programmable gate array)來完成,并經(jīng)過74ACT245進(jìn)行驅(qū)動,用來提高輸入測試序列的帶負(fù)載能力;為適應(yīng)不同板件,通過矩陣開關(guān)選擇被測板件和原板件的輸入信號;為適應(yīng)多輸出信號的板件,輸出信號處理部分和延時控制部分由一片型號為EPM1270T144C5的FPGA和另一片型號為EP1C12Q240C8的CPLD(complex programmable logic device)共同來完成;狀態(tài)指示和輸出指示由LED來顯示,用來指示狀態(tài)和定位不一致輸出的位置。
2輸入測試序列產(chǎn)生及信號選擇
輸入測試序列的產(chǎn)生是數(shù)字類板件測試時需要解決的關(guān)鍵問題,目前對數(shù)字類板件測試序列的產(chǎn)生方法大致可以分為2類:①確定性生成算法,即以故障覆蓋率盡可能高為目標(biāo),采用某種算法產(chǎn)生測試序列,這種方法必須預(yù)先知道該電路的故障集;②是非確定性生成算法,即在故障集未知的情況下,根據(jù)需要產(chǎn)生測試序列或隨機(jī)產(chǎn)生序列。
由于本測試平臺主要針對某引進(jìn)裝備數(shù)字類板件的測試,電路板的功能和時序未知,無法施加針對某種板件的特定時序關(guān)系的特定測試序列,因此采用非確定性生成算法。常用的非確定生成算法有窮舉法、偽窮舉法、偽隨機(jī)法和隨機(jī)法,且一般情況下對小規(guī)模的邏輯電路采用窮舉法和隨機(jī)法,對規(guī)模較大的邏輯電路采用偽窮舉法、偽隨機(jī)法或隨機(jī)法。本文在輸入部分的FPGA中編寫了產(chǎn)生常用非確定性算法的程序,并通過方式及頻率選擇開關(guān)來選擇輸入序列的類型,具體實現(xiàn)方法如下。
2.1窮舉法或偽窮舉法
窮舉法是為了對板件進(jìn)行全面測試,避免對不一致狀態(tài)的漏檢,其原理是給輸入端加上由計數(shù)器產(chǎn)生的自然二進(jìn)制碼,遍歷所有的狀態(tài),再對輸出信號進(jìn)行處理,檢測被測板件和原板件的輸出是否一致。
這種方法在對輸入信號較少的數(shù)字類板件進(jìn)行測試時比較有效,一旦輸入信號比較多,就會導(dǎo)致測試時間隨著輸入信號的增加而呈指數(shù)級的增長,測試時間過長,不便于測試。因此,對于輸入信號較多的數(shù)字類板件可以采用偽窮舉法,即先將電路進(jìn)行分塊,然后再利用窮舉法進(jìn)行測試,可以大大減少測試時間。
2.2偽隨機(jī)序列
偽隨機(jī)序列是一種既具有隨機(jī)性,又具有規(guī)律性的一種序列,由于這種序列可以不用遍歷所有的狀態(tài),可以減少測試時間,提高測試效率。
其中m序列是最常見的一種偽隨機(jī)序列,是最大長度線性反饋移位寄存器序列的簡稱。它表現(xiàn)出了白噪聲采樣序列的統(tǒng)計特性,在不知其生成方法的偵聽者看來像真的隨機(jī)序列一樣,因此m序列具有很強(qiáng)的系統(tǒng)性、規(guī)律性和相關(guān)性[10]。以m=20的序列產(chǎn)生為例,其硬件實現(xiàn)的VHDL程序片段[11]為:
when 20 =>
pulse_out<=x(0);
x(0)<=x(n-1) XOR x(n-18);
x(n-1 DOWNTO 1)<=x(n-2 DOWNTO 0);
pulse_out是偽隨機(jī)序列的輸出端口,產(chǎn)生的偽隨機(jī)序列如圖2所示。
圖2 m=20的偽隨機(jī)序列Fig.2 Pseudo random sequence of m=20
2.3任意分布的隨機(jī)序列
偽隨機(jī)序列雖然已經(jīng)具有了一定的隨機(jī)性,但是其仍然具有一定的周期和規(guī)律,不是完全的隨機(jī)序列。為了滿足隨機(jī)測試的需求,本文利用在Altera DSP Builder庫中的遞增模塊和LUT模塊,用Signal Complier模塊編譯產(chǎn)生QuartusII工程,并應(yīng)用于FPGA上,產(chǎn)生任意分布的隨機(jī)序列,其在Simulink中的模型如圖3所示。
圖3 任意分布隨機(jī)序列產(chǎn)生模型Fig.3 Generation model of arbitrary random sequence
通過改變Matlab array中的函數(shù),可以產(chǎn)生不同分布的隨機(jī)序列,這里的函數(shù)既可以是Matlab中的庫函數(shù),也可以是自己編寫的函數(shù)。本文中以產(chǎn)生指數(shù)分布的隨機(jī)序列為例,設(shè)置如圖3所示。
圖4是在Simulink和QuartusII中的仿真波形,從圖中可以看出生成的序列具有很好的隨機(jī)性,為了驗證生成隨機(jī)序列是否滿足指數(shù)分布,利用Matlab中的統(tǒng)計工具箱對生成的數(shù)據(jù)進(jìn)行概率統(tǒng)計得到圖5,可以看出較為滿足指數(shù)分布的概率密度曲線,達(dá)到了設(shè)計要求。
圖4 仿真波形Fig.4 Simulation waveform
圖5 概率統(tǒng)計圖Fig.5 Chart of probability statistical
2.4輸入信號的選擇
通過控制輸入測試序列的方式及頻率選擇開關(guān),選擇輸入測試序列是自然二進(jìn)制碼、偽隨機(jī)序列還是某種分布的隨機(jī)序列,以及輸入測試序列的頻率。將產(chǎn)生的輸入測試序列經(jīng)74ACT245驅(qū)動后,通過矩陣開關(guān)選擇同時加入被測板和原板。以第i路的信號選擇為例,如圖6所示。
圖6 第i路信號選擇Fig.6 i-path signal selection
被測板件和原板件的輸入和輸出要一一對應(yīng),如當(dāng)?shù)趇路信號是板件的輸入信號時,GW_i和W_i2個開關(guān)都閉合,則將第i路測試信號同時加到了被測板件和原板件;若第i路信號不是輸入端,則GW_i和W_i2個開關(guān)都斷開。選擇開關(guān)后的2個端子再送到輸出信號處理部分,若是輸入,則用于指示輸入信號狀態(tài)和監(jiān)測開關(guān)是否正常閉合,若是輸出,則進(jìn)行輸出比對。
3輸出信號處理部分[12-15]
輸出信號處理部分主要由一片F(xiàn)PGA來完成,實現(xiàn)對信號的輸出狀態(tài)比較和時序延遲時間的測定與控制。輸出部分的邏輯電路如圖7所示。
圖7 輸出部分的邏輯電路Fig.7 Logic circuit of output part
3.1邏輯比對電路
將被測板件和原板件的所有信號(包含輸入和輸出)送入輸出處理部分的FPGA中兩兩對應(yīng)進(jìn)行異或,當(dāng)2個信號相同時,異或輸出結(jié)果為邏輯0,否則為邏輯1;再將所有異或的結(jié)果相或,若所有輸入輸出信號邏輯均對應(yīng)相同時,則相或的穩(wěn)態(tài)輸出結(jié)果應(yīng)恒為0。
對于加到被測板件和原板件的輸入信號來說,由于在測試平臺上布線路徑不同,會產(chǎn)生一定延遲;對于2種板件的輸出信號來說,即使其穩(wěn)態(tài)輸出一致,但由于電路結(jié)構(gòu)不同、時延不同,其暫態(tài)輸出也會不同。為了使比對測試不僅能進(jìn)行邏輯功能測試還可進(jìn)行時延測試,需對比對輸出結(jié)果進(jìn)行時延控制。
3.2時延控制
本測試平臺中的時延控制電路是由FPGA中的一個模值可控的計數(shù)器來實現(xiàn),改變計數(shù)器的模值來改變最大可接受的延遲時間,其計數(shù)溢出時間小于輸入信號變化周期。
當(dāng)參與比對的信號狀態(tài)有不同時,或門輸出出現(xiàn)高電平,其時長將大于測試信號產(chǎn)生時鐘周期,延時控制計數(shù)器正常計數(shù)并溢出,輸出進(jìn)位信號,進(jìn)位信號控制測試信號產(chǎn)生部分停止工作,平臺給出不一致指示。
當(dāng)參與比對的信號狀態(tài)相同,但時延不同時,或門會輸出短暫高電平,只要其時長小于延時控制計數(shù)器的溢出時間,計數(shù)器就不會輸出進(jìn)位信號,測試信號產(chǎn)生部分就會一直工作下去。改變延時控制計數(shù)器的模值可以確定被測板件和原板件延時大小。
正常工作時,可先將延時控制計數(shù)器的模值調(diào)至最大,主要進(jìn)行被測板件和原板件的功能測試,逐步減小延時控制計數(shù)器的模值可以測試被測板件和原板件的最大時序延遲。
4測試平臺的實現(xiàn)
圖8所示為測試平臺用于比對測試的實際情況。
圖8 測試平臺實物圖Fig.8 Physical map of test platform
將原板件和被測板件插在測試平臺相應(yīng)的測試頭上,根據(jù)引腳關(guān)系撥動開關(guān)選擇輸入信號,如果待測電路板和國產(chǎn)化電路板的輸出一致,且延時控制計數(shù)器的計數(shù)溢出時間小于被測板件和原板件的最大時序延遲,那么輸出部分的所有指示燈都不會被點(diǎn)亮。在圖4中,有一路信號指示燈被點(diǎn)亮,根據(jù)指示燈位置就可以確定是哪路輸出信號狀態(tài)不正確或時序延遲不合格。
5結(jié)束語
本文設(shè)計了一種數(shù)字類板件的比對測試平臺,在沒有計算機(jī)輔助的條件下,可以自動比較原板件和被測板件的輸出是否相同、時序延遲是否在可接受范圍內(nèi),對于不一致的輸出可以定位并進(jìn)行硬件調(diào)試。該測試平臺已在某引進(jìn)裝備的國產(chǎn)化與維修過程中得到了很好的應(yīng)用,更換不同的測試頭后可以擴(kuò)展到其他數(shù)字類板件的測試。
但是由于該引進(jìn)裝備在我國已經(jīng)服役較長時間,很多的數(shù)字類板件已經(jīng)沒有備件,直接導(dǎo)致了該測試平臺的標(biāo)準(zhǔn)數(shù)據(jù)(原板件的輸入輸出)已經(jīng)不存在,限制了該平臺的使用。本文下一步將致力于分析被測板件內(nèi)部電路的功能,用計算機(jī)模擬電路板的工作過程,并形成標(biāo)準(zhǔn)數(shù)據(jù),為數(shù)字類板件的測試提供依據(jù)。
參考文獻(xiàn):
[1]曾曉華.數(shù)字電路板故障診斷研究[J].電子科學(xué),2008,20(1):20.
ZENG Xiao-hua. Study on Fault Diagnosis of Digital Circuit Board [J]. Electronic Science, 2008,20 (1): 20.
[2]劉飛,谷宏強(qiáng),郭利.基于仿真的軍用電路板故障診斷系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2009,32(17):40-42.
LIU Fei, GU Hong-qiang, GUO Li. Fault Diagnosis System of Military Electronic Equipments Based on Circuit Simulation [J]. Modern Electronic Technology, 2009,32 (17):40-42.
[3]邱鵬,陳建輝,李斌.某型防空導(dǎo)彈國產(chǎn)化數(shù)字板測試儀設(shè)計[J].計算機(jī)測量與控制,2007,15(11):1553-1555.
QIU Peng, CHEN Jian-hui, LI Bin. Design of Digital Circuit Testing Instrument for Nationalization of Some Anti-Aircraft Missile [J]. Computer Measurement & Control, 2007,15 (11):1553-1555.
[4]雷紹充,邵志標(biāo),梁峰.VISL測試方法學(xué)和可測性設(shè)計[M].北京:電子工業(yè)出版社,2005.
LEI Shao-chong, SHAO Zhi-biao, LIANG Feng. VISL Testing Methodology and Testability Design [M]. Beijing: Publishing House of Electronics Industry, 2005.
[5]許軍,曹勇,張新喜,等.基于EDA技術(shù)的電路板維修測試系統(tǒng)研究[J]. 火炮發(fā)射與控制學(xué)報,2007(3):53-57.
XU Jun, CAO Yong, ZHANG Xin-xi. Study on Maintenance Test System of Printed Circuit Board Based on EDA Technology [J]. Gun Launch & Control Journal, 2007(3): 53-57.
[6]馬印才,王春平,付強(qiáng).電子裝備板級檢測診斷方法[J].軍械工程學(xué)院學(xué)報,2007,19(6):25-27.
MA Yin-cai, WANG Chun-ping, FU Qiang. Development on Circuit Board Fault Detection and Diagnosis Technology [J]. Journal of Ordnance Engineering College, 2007,19 (6): 25-27.
[7]蔡金燕,單甘霖,孟亞峰.電子裝備故障診斷[M].石家莊:軍械工程學(xué)院出版社,2004.
CAI Jin-yan,SHAN Gan-lin, MENG Ya-feng. Fault Diagnosis of Electronic Equipment [M]. Shijiazhuang: Ordnance Engineering College Press, 2004.
[8]郭聯(lián)群,王惠霞,柴慧芹. 電路板故障診斷系統(tǒng)原理及應(yīng)用[J]. 艦船科學(xué)技術(shù),2006,28(1):27-31.
GUO Lian-qun, WANG Hui-xia, CHAI Hui-qin.The Principle and Application of Failure Diagnose System for Electrocircuit Board [J]. Ship Science and Technology, 2006,28 (1): 27-31.
[9]趙嘎,王小軍,宋鳴,等. 基于 FPGA 的可配置偽隨機(jī)序列發(fā)生器的設(shè)計與實現(xiàn)[J].云南大學(xué)學(xué)報,2012,34(2):147-151.
ZHAO Ga, WANG Xiao-jun, SONG Ming,et al.Design of a Configured Pseudo-Random Sequence Generator Based on FPGA [J]. Journal of Yunnan University:Natural Sciences, 2012,34 (2): 147-151.
[10]潘松. EDA技術(shù)與VHDL [M].3版.北京:清華大學(xué)出版社,2011.
PAN Song. EDA Technology and VHDL [M].3rd ed.Beijing: Tsinghua University Press, 2011.
[11]邱云萍,王琳,王學(xué)偉,等.電路板故障診斷的多總線自動測試技術(shù)研究[J].電子設(shè)計工程,2012,20(10):61-63.
QIU Yun-ping, WANG Lin, WANG Xue-wei. Research on Multi-Bus Auto-Test Technology of Circuit Board Fault Diagnosis[J]. International Electronic Elements, 2012,20 (10): 61-63.
[12]王猛. 基于LabVIEW的電路板故障測試系統(tǒng)的設(shè)計[D].北京:北京交通大學(xué),2012.
WANG Meng.Design of PCB Board Testing System Based on LabVIEW [D].Beijing:Beijing Jiaotong University, 2012.
[13]尤東妹,徐靜. 基于自動測試系統(tǒng)的數(shù)字電路板測試與故障診斷[J].硅谷,2013(5):91,107.
YOU Dong-mei, XU Jing. Digital Circuit Board Test and Fault Diagnos Based on ATS[J]. Silicon Valley, 2013(5): 91,107.
[14]柳穎,周婷. 引俄裝備數(shù)字電路板中存儲器件的LASAR建模[J]. 艦船電子工程,2012,32(6):150-152.
LIU Ying, ZHOU Ting.LASAR Modeling of Memorizer Indigital Circuits Equipped in Russian Equipment [J]. Ship Electronic Engineering, 2012,32 (6):150-152.
[15]郭甲陣,謝華,蘭京川.基于虛擬儀器的雷達(dá)電路板自動測試系統(tǒng)[J].儀表技術(shù)與傳感器,2011(2):26-28.
GUO Jia-zhen, XIE Hua, LAN Jing-chuan. Design and Realization of Radar Circuit Board Automated Test System Based on Virtual Instrument [J]. Instrument Technique and Sensor ,2011(2): 26-28.
Design of Digital Type Plate Comparison Test Platform Based on FPGA
WANG HE-ming, WANG Ju
(AFEU,Air and Missile Defense School, Shaanxi xi’an 710051,China)
Abstract:Due to the large number of inputs and outputs and time-series complex, digital type plate has always been a difficulty in the electronic system testing. A test platform based on field-programmable gate array(FPGA) is presented, and it can work without a computer. Through manually set, the comparison results of logic function and timing between the measured plate and the original plate can export automatically. Timing error also can be set manually, and it can display the position of the output and the values of inconsistent input vector. This test platform has been used in some import weapon systems for the comparison test on the digital circuit and also can be used in other kinds of digital plate when the test head is changed.
Key words:digital circuit; test platform; field-programmable gate array(FPGA); comparison test
中圖分類號:TN79;TN407
文獻(xiàn)標(biāo)志碼:A
文章編號:1009-086X(2015)-01-0071-05
doi:10.3969/j.issn.1009-086x.2015.01.012
通信地址:710051陜西西安長樂東路甲字1號空軍工程大學(xué)防空反導(dǎo)學(xué)院研1隊王菊E-mail:862588498@qq.com
作者簡介:王和明(1965-),陜西西安人。教授,碩士,主要研究方向為微電子技術(shù)應(yīng)用。
收稿日期:2013-11-25;
修回日期:2014-01-29