黃順福
(上海貝爾股份有限公司,上海 201206)
?
基于VXI PXI Digital I/O卡的診斷算法研究
黃順福
(上海貝爾股份有限公司,上海 201206)
針對目前在生產測試平臺中廣泛使用的高密度VXI PXI Digital I/O板卡容易損壞且故障定位困難、不便維修和維護的情況,開展了對其進行故障定位的診斷算法研究。研究了包括各種可能出現的錯誤模型及其相互關系,以及檢測和定位這些錯誤模型的相應算法,并應用相應的算法成功地開發了高密度VXI PXI Digital I/O板卡的自動化診斷系統,大幅提高了生產效率,降低了維護成本,提高了經濟效益。
PXI;VXI;Digital I/O;錯誤模型;診斷算法;自動化診斷系統
在Alcatel-Lucent的移動通信設備基站生產制造中,廣泛采用了統一的測試平臺,以滿足紛繁復雜的不同系列產品的需要,如3G CDMA的BTS數字系統測試平臺(DTP),射頻系統測試平臺(RTP),4G LTE BTS的公共測試平臺(CTP)。這些測試平臺中的核心部分都使用了VXI或PXI設備,其中對于生產測試最關鍵的模塊設備是VXI或PXI Digital I/O板卡模塊。
由于生產制造平臺產量大,當VXI或PXI Digital I/O板卡某一線不良時,如不能及時排除故障,將造成該測試平臺停產,嚴重影響產能。平臺上的VXI或PXI Digital I/O線往往都超過90線以上,屬于高密度,如果僅僅是用人工置1或置0的方法,不僅檢測時間長,實際上很難精確找出哪一線有問題,很多情況下的檢測都呈現出無故障的現象,但實際上又不能使用,這給平臺維護人員的維修診斷造成巨大困難。高密度VXI或PXI Digital I/O板卡價格昂貴,大量購買新的VXI或PXI Digital I/O板卡來更換,會給公司造成很大的經濟壓力。鑒于此,本文開展了VXI或PXI高密度Digital I/O板卡的診斷算法研究,以便實現VXI或PXI Digital I/O板卡的高效自動化診斷。
1.1 VXI或PXI高密度Digital I/O板卡的抽象模型簡介
VXI或PXI高密度Digital I/O結構框圖見圖1(a)。不同廠家的具體產品的電路會有所不同,但其原理是相同的。其主要由0~N個端口(Port)及端口選擇控制器(Port Control)所組成。端口連到被測系統BTS的BBS(基帶部分),其作用是采集相應位數的數字信號,或發出相應位數的指令,讀回相應的響應。端口選擇控制器用于選擇相應的端口。診斷時需要每次讀/寫1位,由控制器發出,通過Data BUS總線送到端口。例如:Port0為8位,發出對Port0 D1位置1的指令0000 0001;發出對Port0 D2位置2的指令0000 0010,依次類推。由此可見,當每次讀/寫1位指定位時,VXI或PXI高密度Digital I/O電路可以抽象為圖1(b)所示結構模型[1-3]。
從圖1(b)中可看出,對指定1位的讀寫可看成是D1~D8的列與Port 0~PortN的行的交點的讀寫。對于選擇Port 0~PortN中的哪一行,相當于是行譯碼器的行為模型;選擇D1~D8列中的哪一列,相當于是列譯碼器的行為模型;而交點相當于一個元件單元,實際上還應該包含讀/寫電路、線驅動電路、鎖存電路等。由于這些電路元器件的關聯的復雜性,使得有些故障現象容易被認為是正確的結果而很難被診斷[4]。例如,Port 0 D7單元有卡死故障,其被卡死在1。當讀1時,其是正確的;當置0時,由于周圍鄰居某0單元恰好在此狀態下,又與卡死單元有某種類型的耦合,因此讀0時也是正確的。在這種情況下,讀0讀1都正確,這時就無法檢測出Port 0 D7的故障。下面敘述幾種主要的錯誤模型。

圖1 VXI或PXI Digital I/O結構框圖和抽象模型圖
1.2 卡死錯誤模型
卡死錯誤定義為某單元或線總是0(SA0)或1(SA1);它總是在狀態0或狀態1,不能改變到其相反的狀態。如圖2(a)所示,單元狀態原來為0,當置0時,還是回到0狀態;當置1時,其還是到0狀態,所以為SA0錯誤。如圖2(b)所示,單元狀態為原來為1,當置1時,為1;當置0時,仍然為1,故為SA1錯誤。對于卡死錯誤檢測必須滿足:所有的單元必須通過讀一次0和讀一次1進行檢測。

圖2 卡死錯誤和遷移錯誤狀態圖和模型圖
1.3 遷移錯誤模型
遷移錯誤是卡死錯誤的一種特殊情況,它定義為當0→1遷移時,單元或線向上遷移的錯誤。同理,當1→0遷移時,單元或線向下遷移的錯誤。向上遷移錯誤記為:TF<↑/0>;向下遷移錯誤記為: TF<↓/0>。如圖2(c)所示,當單元或線在狀態1(S1)時,置1時為1,置0遷移到狀態0(S0)正確;當單元或線在狀態0(S0)時,置0時為0,置1時仍為0,沒有遷移到S1,所以為TF<↑/0>錯誤。實際遷移模型見圖2(d),原來Q狀態為0,在觸發器的S端置1時,Q端應翻轉為1,但仍舊是0,所以把它歸類為TF<↑/0>。之所以不把遷移錯誤歸入卡死錯誤,是因為其他錯誤形式(如耦合錯誤)可以使它翻轉。對于遷移錯誤的檢測必須滿足:所有的單元必須進行一次向上遷移和一次向下遷移以及每次遷移后的讀。
1.4 耦合錯誤模型
耦合錯誤是由遷移所引起,其發生在兩個單元之間。耦合錯誤的定義如下:在一個單元產生一個向上或向下遷移而引起第2個單元內容的變化。翻轉耦合錯誤(CFin):在一個單元產生一個向上或向下遷移而引起第2個單元內容的翻轉。CFin模型見圖3(a),Cn為正常時鐘輸入,Cc為額外時鐘輸入。當Cc發生向上狀態遷移時,則翻轉了D觸發器的內容。單元j產生一個單元i的耦合錯誤,單元j稱作耦合單元。如果Ci為<↑;>,則表示為單元j引起單元i一次向上或向下的遷移。對于翻轉耦合錯誤的檢測必須滿足:對于所有被耦合單元,通過觸發耦合元產生可能的各次翻轉耦合后,讀各次翻轉耦合的被耦合單元(條件是各次翻轉耦合不能相互屏蔽)。這里討論的耦合錯誤模型是單向的,即j→i,實際上可能是雙向的,即也有可能同時存在i→j,這比較復雜,因篇幅有限,本文不作進一步討論。
0或1耦合錯誤模型定義如下:一個單元的向上或向下遷移,強制第二個單元的內容為0或1。如圖3(b)所示,Sn是普通的置1輸入,Sc是不想要的置1輸入,它強制R/S觸發器置1,即為<↑;1>。R/S的R端情況與S端的情況類似,即為<↑;0>。該模型有4個可能性:<↑;0>,<↑;1>,<↓;0>,<↓;0>。

圖3 耦合錯誤的觸發器模型
這里給出一個i單元和j單元的一個0或1耦合錯誤模型狀態轉換的例子,見圖4(a),共有4個狀態:00、01、10、11,即Sij表示為S00、S01、S10、S11。W0/i,W0/j表示i單元置0,j單元置0,狀態返回到S00狀態;W1/i,W0/j表示i單元置1,j單元置0,狀態返回到S10狀態;W0/i,W1/j表示i單元置0,j單元置1,狀態返回到S01狀態;W1/i,W1/j,表示i單元置1,j單元置1,狀態返回到S11狀態。在該例圖的其他狀態在一定條件下的轉換的分析,可按照上述方法進行。這里需要特別指出的是S00在W1/j條件下轉換到S11的情況。正常情況下,S00在W1/j條件下應該轉換到S01狀態,而不是S11狀態,這說明發生了0或1耦合錯誤。即當j從0遷移到1(↑)時,i強制為1,即為<↑;1>。
與上述遷移引起的耦合錯誤模型不同的是橋接耦合錯誤模型和狀態耦合模型。這兩種耦合是由于邏輯電平的原因造成的,與遷移無關。
1.5 鄰近單元感應錯誤模型
鄰近單元感應錯誤模型定義為:一個單元的內容是由其所有另外的單元構成的圖式所影響,這些單元構成的圖式是由0和1所組成的。如圖4(b)所示,鄰近單元是指與錯誤單元有關的所有單元包含錯誤單元。b代表基本單元,基本單元表示正在測試的單元。稱不包含基本單元的鄰近單元為已消除基本單元的鄰近單元,簡稱為已消基鄰近單元。鄰近單元感應錯誤模型的表示方法為:Ci,j

圖4 0或1耦合錯誤的一個例子和鄰近單元感應錯誤模型
1.6 地址譯碼錯誤模型
地址譯碼錯誤有5種類型:(1)某一個地址沒有單元可訪問;(2)沒有某單元可訪問的地址;(3)某個單元多個地址可被訪問;(4)某個單元可被多個地址訪問;(5)以上四種類型的任意組合。在VXI或PXI高密度Digital I/O板卡中的端口選擇的電路邏輯就相當于地址譯碼模型。
2.1 診斷算法簡介
診斷算法就是根據VXI或PXI高密度Digital I/O板卡的特點,結合上述錯誤模型,選取最能檢測出相關錯誤模型的方法。每種具體型號的板卡的電路結構可能不同,但有些錯誤模型是普遍發生的,如卡死錯誤模型、遷移錯誤模型、耦合錯誤模型、地址譯碼錯誤模型。根據具體電路結構來決定是否需要鄰近單元感應錯誤模型的檢測算法。診斷算法有:行程算法、0-1算法、棋盤算法、步行和快步0/1算法等。
2.2 行程算法的概念
行程算法是由一定數量的有限的行程單元序列所組成的。行程單元是對高密度Digital I/O的每個單元診斷操作的序列。行程方向可以按地址方向向上行進,用↑表示;行程方向可以按地址方向向下行進,用↓表示;地址無關用表示。置0為(w0),置1為(w1)。讀期望值0為(r0),讀期望值1為(r1)。行程測試算法{↑(r0,w1);↓(r1:w0)}是由行程單元{↑(r0,w1)}和{↓(r1:w0)}所組成的。行程算法的類型很多,功能很強,有針對各種錯誤模型的解決方法,但算法比較復雜,其能檢測到故障但不一定能定位到故障。行程算法的主要類型為:MATS+:主要檢測卡死錯誤模型;行程C-:檢測無關聯的0或1耦合錯誤模型;行程A:檢測相關聯的0或1耦合錯誤模型;行程B:檢測相關聯的遷移錯誤模型和遷移錯誤模型。
2.3 0-1算法
最小測試是由置0和置1所組成。算法分為4個步驟:(1)對所有單元置0;(2)對所有單元讀;(3)對所有單元置1;(4)讀所有單元。0-1算法特點為:(1)不是所有的地址譯碼錯誤能被檢測到;(2)卡死錯誤可以被檢測到和定位(條件是地址譯碼正確);(3)不是所有的遷移錯誤能被檢測到;(4)不是所有的耦合錯誤能被檢測到。其算法表示為:{↑(w0);↑(r0);↑(w1);↑(r1)},優點是算法占用時間短和能夠定位。
2.4 棋盤算法
棋盤算法把所有單元分成2組,即單元組1和單元組2,由此形成棋盤圖式。其算法分為4個步驟:(1)對單元組1置1,對單元組2置0;(2)讀所有單元;(3)對單元組1置0,對單元組2置1;(4)讀所有單元。其算法表示為:M1{(w1);(r1);(w0);((r0)},M2{(w0);(r0);(w0);(r0)},其中M1為單元組1,M2為單元組2。其特點為:(1)不是所有的地址譯碼錯誤能被檢測到;(2)卡死錯誤可以被檢測到和定位(條件是地址譯碼正確);(3)不是所有的遷移錯誤能被檢測到;(4)不是所有的耦合錯誤能被檢測到。該算法的優點是占用時間短和能夠定位。該算法主要針對鄰近單元的短路檢測(條件是地址譯碼正確)。
2.5 步行和快步0/1算法
步行和快步0/1算法是相似的,只是讀基本單元時的行為有些差異。步行算法是所有其他單元讀過之后才讀基本單元;快步0/1算法是每次讀其他單元后,讀基本單元。具體算法如圖5所示。

圖5 步行和快步0/1算法
步行和快步0/1算法的特點是:(1)能檢測和定位所有的地址譯碼錯誤。地址譯碼錯誤將造成基單元不能在步驟2進行置位,算法從而在步驟5或7能夠定位故障。同樣,其他的單元在步驟2置位,在步驟4和步驟6定位故障。(2)能檢測和定位所有的卡死錯誤,因為在基本單元在步驟2置位,在步驟5和7進行讀(0和1)檢測和定位。(3)能檢測和定位所有的遷移錯誤。因為在步驟5和步驟7的讀操作后,基本單元在步驟2有一次↑和↓的遷移動作。(4)能檢測和定位所有的耦合錯誤。在步驟2,可以探測<↑;1>、<↓;0>、<↑;↑>、<↓;↓>耦合錯誤(根據步驟1中的0或1),在步驟4和6進行定位故障。在步驟3,可以探測<↓;1>、<↑;0>、<↓;↑>、<↑;↓>耦合錯誤,在步驟4和6進行定位故障。該算法的定位地址譯碼錯誤和耦合錯誤是十分精確的。因為在置位耦合單元后,算法立即進行讀操作,所以它十分清楚哪個單元耦合給哪一個。步行和快步0/1算法在實際工程中得到了廣泛應用。

圖6 E1458A的測試診斷程序界面
在Alcatel-Lucnt公司的3G CDMA測試平臺中使用了4塊Agilent VXI Chanel Digital I/O E1458A,快速和精確定位故障是選擇診斷算法的基本要求。綜合各種算法特點,根據2.5節的描述,步行0/1算法是比較適合本例。本例用NI LabWindows CVI[5]軟件開發了E1458A的測試診斷程序,測試程序界面見圖6,其涉及步行0/1算法的部分代碼(由于篇幅有限,只用部分代碼做演示)見圖7。如圖6所示,SELF BIT BY TEST REVIEW表格(位于界面的下半部分)用來顯示采用了步行0/1算法的診斷結果。表格的第1行是通道號(Channel),第2行是測試置0的結果,第3行是測試置1的結果。如果測試結果在第2行(置0行)的某格顯示出1或-1,則表示該格所對應的通道置0出錯;如果測量結果在第3行(置1行)的某格顯示出0或-1,則表示該格所對應的通道置1出錯,這樣可以即精確又方便地報告故障所在的位置,即哪一端口的哪一線出錯及出錯的類型。

圖7 E1458A的步行0/1算法測試診斷程序
通過對VXI PXI高密度Digital I/O建立抽象模型,引入了對其錯誤模型和算法的研究和討論,從而得出了合適的算法即步行0/1算法,并應用此算法成功地開發了VXI PXI高密度Digital I/O自動化診斷系統,解決了大規模生產的實際維護問題。當然,可以應用此思路,改進或發展這些算法并應用到其他類似模型的電路結構中,從而能更好、更多地解決實際問題,開發更多的自動化診斷系統。
[1] CHAKRAVARTY S, Gong Yiming. An algorithm for diagnosing two-line bridging faults in combinational circuits[C]. 30th Conferecne on Design Automation, 1993:520-524.
[2] JHA N, GUPTA S.數字系統測試[M].王新安,蔣安平,宋春殫,等,譯.北京:電子工業出版社,2007.
[3] BOPPANA V, FUJITA M. Modeling the unknown! Towards model-independent fault and error diagnosis[C]. IEEE International Test Conference, 1998:1094-1011.
[4] 秦蓮童.高校微機室計算機I/O設備故障分析與修復[J].微型機與應用,2015,34(5):47-50.
[5] 王建新,楊世鳳.LabWindwos/CVI測試技術及工程應用[M].北京:化學工業出版社,2006.
Study on the diagnosis algorithm for VXI PXI Digital I/O card
Huang Shunfu
(Shanghai Bell Company, Shanghai 201206, China)
The high density VXI PXI Digital I/O card is widely used in production testing platform currently,but it is easy to be damaged and it is difficult to realize fault location. In order to conveniently repair and maintain, the research of fault based on fault location is carried out. We study on error model including all possible error models and their relationship, and the corresponding algorithm to detect and locate these error models. The related algorithm is used to successfully develop the automatic diagnosis system for the high density VXI PXI Digital I/O card. It greatly improves production efficiency, reduces maintenance cost, and increases economic benefit.
PXI; VXI; Digital I/O; error model; diagnosis algorithm; automatic diagnosis system
TP29
A
10.19358/j.issn.1674- 7720.2016.20.021
黃順福. 基于VXI PXI Digital I/O卡的診斷算法研究[J].微型機與應用,2016,35(20):75-78.
2016-05-30)
黃順福(1964-),男,工程碩士,工程師,主要研究方向:自動化測試,自動化控制,嵌入式系統設計等。