李玨穎,韓文興,楊 誠(chéng),李 昂,原艷南
(中國(guó)核動(dòng)力研究設(shè)計(jì)院核反應(yīng)堆系統(tǒng)設(shè)計(jì)技術(shù)重點(diǎn)實(shí)驗(yàn)室,四川 成都 610213)
在核反應(yīng)堆領(lǐng)域,由于其特殊的核安全級(jí)需求,對(duì)儀控設(shè)備的性能及可靠性要求極為嚴(yán)格[1]。雖然近年來(lái)新建反應(yīng)堆大多開(kāi)始普及應(yīng)用全數(shù)字化儀控設(shè)備,但在役核反應(yīng)堆模擬儀控系統(tǒng)的數(shù)字化改造依然存在安全和運(yùn)維等方面的難題,短時(shí)間內(nèi)難以完全更新[2]。由于現(xiàn)有設(shè)備設(shè)計(jì)時(shí)的技術(shù)條件限制,其設(shè)計(jì)大多采用定制化非標(biāo)形式,因而存在不同裝置、卡件間未采用統(tǒng)一的設(shè)計(jì)規(guī)則,平臺(tái)化、通用化程度不高,以及卡件功能及接口多樣的問(wèn)題。因此,在供貨及維保測(cè)試中難以構(gòu)建一致的測(cè)試標(biāo)準(zhǔn),現(xiàn)有設(shè)備依然較為依賴(lài)人工使用專(zhuān)用工具進(jìn)行測(cè)試,自動(dòng)化程度較低。
自動(dòng)化測(cè)試系統(tǒng)(automatic test system,ATS)已經(jīng)成為電子行業(yè)提升測(cè)試效率的重要手段,逐步由專(zhuān)用系統(tǒng)向通用系統(tǒng)轉(zhuǎn)變,可實(shí)現(xiàn)開(kāi)放系統(tǒng)的可擴(kuò)展測(cè)試[3]。但由于模擬化核儀控設(shè)備存在卡件功能及接口多樣、接口定義各不相同、信號(hào)種類(lèi)復(fù)雜多樣的問(wèn)題,在進(jìn)行集成設(shè)計(jì)時(shí)難度較大?,F(xiàn)有核儀控ATS設(shè)備大多使用測(cè)試主機(jī)外接信號(hào)接口機(jī)箱的方式[4]。測(cè)試主機(jī)一般基于面向儀器系統(tǒng)的外設(shè)組件互連標(biāo)準(zhǔn)(peripheral component interconect,extemsions for instrumentation,PXI)、緊湊型外設(shè)組件互連標(biāo)準(zhǔn)(compact peripheral conponent interconnect,CPCI)等標(biāo)準(zhǔn)硬件平臺(tái)構(gòu)建[5-6],集成輸入/輸出(input/output,I/O)多種信號(hào)通道。其接口機(jī)箱預(yù)留所有卡件的接口[7],對(duì)不同信號(hào)進(jìn)行隔離、濾波等調(diào)理操作[8]。最終呈現(xiàn)的ATS設(shè)備通常組件數(shù)量眾多、體積較大,難以滿(mǎn)足現(xiàn)場(chǎng)測(cè)試的便攜性要求。
為解決核儀控ATS設(shè)備小型化困難的問(wèn)題,本文設(shè)計(jì)了1種基于總線(xiàn)式開(kāi)關(guān)矩陣陣列的接口自適應(yīng)方法,將傳統(tǒng)體積巨大的測(cè)試接口機(jī)箱壓縮至板卡級(jí),實(shí)現(xiàn)了核儀控自適應(yīng)測(cè)試設(shè)備的高度集成化和小型化。
便攜式核儀控ATS設(shè)備組成如圖1所示。
圖1 便攜式核儀控ATS設(shè)備組成
便攜式核儀控ATS設(shè)備采用一體化設(shè)計(jì)。所有模塊部件均集成在1個(gè)便攜式機(jī)箱內(nèi)部。設(shè)備由人機(jī)交互、邏輯控制、自適應(yīng)接口等功能模塊組成。人機(jī)交互模塊采用嵌入式工業(yè)平板,通過(guò)觸摸屏實(shí)現(xiàn)測(cè)試邏輯控制、人員操作及測(cè)試反饋等功能;邏輯控制模塊采用現(xiàn)場(chǎng)可編程門(mén)陣列(field programmable gate array,FPGA)嵌入式控制器實(shí)現(xiàn)信號(hào)源、信號(hào)檢測(cè)電路、陣列選擇等功能的控制;自適應(yīng)接口采用接口匹配矩陣實(shí)現(xiàn)不同板卡接口的自動(dòng)識(shí)別和邏輯適配。
人機(jī)交互模塊、邏輯控制模塊等功能模塊已具有成熟技術(shù),集成度較高。自適應(yīng)接口與具體待測(cè)試的卡件定義緊密相關(guān)。而模擬化核儀控設(shè)備卡件I/O接口需要矩陣陣列節(jié)點(diǎn)數(shù)較多,與外設(shè)組件互連標(biāo)準(zhǔn)(peripheral component interconnect,PCI)、CPCI等標(biāo)準(zhǔn)矩陣陣列兼容性較差,通常需大量板卡才能實(shí)現(xiàn)功能。因此,測(cè)試卡件匹配接口的小型化已成為便攜式核儀控ATS設(shè)備集成設(shè)計(jì)的最大瓶頸。
接口匹配開(kāi)關(guān)陣列通常通過(guò)行列交叉的方式進(jìn)行信號(hào)排列,由交叉點(diǎn)實(shí)現(xiàn)任意行與任意列之間的信號(hào)切換[9-10]。交叉排列方式分別以測(cè)試信號(hào)I/O接口與信號(hào)源/檢測(cè)通道為橫、縱坐標(biāo),通過(guò)在每個(gè)交叉點(diǎn)設(shè)置開(kāi)關(guān)形成開(kāi)關(guān)矩陣陣列。當(dāng)某個(gè)開(kāi)關(guān)導(dǎo)通時(shí),該開(kāi)關(guān)在矩陣陣列中所對(duì)應(yīng)的信號(hào)及接口導(dǎo)通,實(shí)現(xiàn)該信號(hào)的I/O功能。
交叉排列方式的開(kāi)關(guān)矩陣陣列控制邏輯簡(jiǎn)單明了,只需要單個(gè)開(kāi)關(guān)即可實(shí)現(xiàn)一路具體信號(hào)通路的導(dǎo)通。
交叉排列開(kāi)關(guān)陣列如圖2所示。
圖2 交叉排列開(kāi)關(guān)陣列
開(kāi)關(guān)陣列的開(kāi)關(guān)數(shù)量由待測(cè)板卡的信號(hào)I/O接口數(shù)量與測(cè)試功能所需的信號(hào)源通道數(shù)量共同決定。在開(kāi)關(guān)全覆蓋情況下,任一I/O接口都需要與任一信號(hào)源通道通過(guò)開(kāi)關(guān)相接。因此,交叉陣列排布開(kāi)關(guān)總數(shù)量P1如式(1)所示。
P1=i×j
(1)
式中:i為I/O接口M的數(shù)量;j為信號(hào)通道N的數(shù)量。
當(dāng)系統(tǒng)測(cè)試規(guī)模不大時(shí),交叉排列的開(kāi)關(guān)陣列已能滿(mǎn)足大部分測(cè)試需求。但當(dāng)測(cè)試規(guī)模較大、接口數(shù)量較多時(shí),這種排布所需開(kāi)關(guān)會(huì)達(dá)到驚人的數(shù)量級(jí)。
對(duì)測(cè)試邏輯進(jìn)行具體分析可知,測(cè)試設(shè)備整體的測(cè)試內(nèi)容是由所有卡件內(nèi)部功能模塊共同匯集而成。進(jìn)行任意單一測(cè)試功能時(shí),只會(huì)使用開(kāi)關(guān)陣列中的部分相關(guān)信號(hào)功能,而開(kāi)關(guān)陣列中的其他信號(hào)通路則處于閑置狀態(tài)。
根據(jù)這一特點(diǎn),本文設(shè)計(jì)了1種總線(xiàn)式的陣列排布方法,在開(kāi)關(guān)陣列的排布時(shí)引入新的變量,即總線(xiàn)L。L的定義為在進(jìn)行任意具體測(cè)試功能時(shí)所需的最大信號(hào)通路數(shù)量。
總線(xiàn)式開(kāi)關(guān)陣列如圖3所示。
圖3 總線(xiàn)式開(kāi)關(guān)陣列
在總線(xiàn)式排布設(shè)計(jì)中,I/O接口與信號(hào)源并不直接連接,而是分別通過(guò)開(kāi)關(guān)掛載在總線(xiàn)上。測(cè)試開(kāi)始時(shí),根據(jù)具體項(xiàng)目定義所需若干總線(xiàn)的功能,將所需的信號(hào)接口與信號(hào)源分別與總線(xiàn)接通,實(shí)現(xiàn)具體信號(hào)的輸入或輸出。通過(guò)對(duì)不同卡件測(cè)試需求及測(cè)試功能的定制化分解,可將各待測(cè)卡件測(cè)試邏輯流程分解為串行進(jìn)行的多個(gè)測(cè)試項(xiàng)。單個(gè)測(cè)試項(xiàng)僅包含1個(gè)獨(dú)立的、定義單一的測(cè)試內(nèi)容,使用時(shí)僅需對(duì)其所需的幾個(gè)信號(hào)通道進(jìn)行配置,從而控制卡件測(cè)試時(shí)所需的信號(hào)通道數(shù)量。而矩陣中的總線(xiàn)數(shù)量L與系統(tǒng)中最復(fù)雜、測(cè)試功能最多的1個(gè)測(cè)試項(xiàng)同時(shí)所需的信號(hào)通道數(shù)量一致。因此,在全覆蓋的情況下,陣列開(kāi)關(guān)數(shù)量P2如式(2)所示。
P2=(i+j)×k
(2)
比較式(1)和式(2)可知,在測(cè)試工作時(shí)同時(shí)占用的信號(hào)總線(xiàn)L的數(shù)量k與i和j相差不多的情況下,總線(xiàn)式陣列排布并不占優(yōu)勢(shì)。當(dāng)i和j數(shù)量大量增加,與k存在較大差距時(shí),交叉式排布所需開(kāi)關(guān)數(shù)量P1將急劇增加,而總線(xiàn)式排布所需開(kāi)關(guān)數(shù)量P2則受限于k,增長(zhǎng)明顯較少。總線(xiàn)數(shù)量與接口數(shù)量和信號(hào)源數(shù)量的差距越大,優(yōu)勢(shì)越明顯。
以本設(shè)計(jì)為例,卡件連接器接口數(shù)量為160芯、各類(lèi)卡件所需信號(hào)輸出通道及檢測(cè)通道合計(jì)42路,則采用交叉式陣列排布所需的開(kāi)關(guān)總數(shù)將高達(dá)6 720個(gè)。而通過(guò)對(duì)具體測(cè)試功能的分解細(xì)化可知,不同輸入卡件與輸出卡件、模擬接口卡件與數(shù)字接口卡件各自所需的信號(hào)通路均可以復(fù)用總線(xiàn),因此得到測(cè)試所需的最大總線(xiàn)數(shù)量為9個(gè),采用總線(xiàn)式陣列排布所需的開(kāi)關(guān)總數(shù)僅需1 818個(gè),開(kāi)關(guān)數(shù)量較交叉式排布減少72.9%。
在進(jìn)行可切換開(kāi)關(guān)矩陣設(shè)計(jì)時(shí),繼電器和電子開(kāi)關(guān)均能實(shí)現(xiàn)信號(hào)切換功能。在早期,由于電子開(kāi)關(guān)通道阻抗較大、承載電壓較低[11],對(duì)開(kāi)關(guān)矩陣的通過(guò)性能影響較大,因此繼電器陣列在設(shè)計(jì)中應(yīng)用更多。隨著技術(shù)的進(jìn)步,電子開(kāi)關(guān)的性能瓶頸已逐漸突破,其在體積、響應(yīng)速度、使用壽命等方面相較繼電器優(yōu)勢(shì)更加明顯,設(shè)計(jì)中的應(yīng)用也逐漸增多。元器件性能對(duì)比如表1所示。
表1 元器件性能對(duì)比
本設(shè)計(jì)選用MAXIM公司MAX46xx系列四通道SPST型互補(bǔ)金屬氧化物半導(dǎo)體(complementary metal oxide semiconductor,CMOS)模擬開(kāi)關(guān)。該型開(kāi)關(guān)通道阻抗低至1.25 Ω,避免了普通開(kāi)關(guān)高阻抗帶來(lái)的通道壓降、信號(hào)衰減等問(wèn)題。MAX46xx承載電壓高達(dá)44 V,開(kāi)關(guān)連續(xù)工作電流達(dá)200 mA,具有常開(kāi)、常閉等多種開(kāi)關(guān)型號(hào),能夠滿(mǎn)足絕大部分測(cè)試信號(hào)的使用性能要求。
對(duì)于測(cè)試中所需的高電壓、大電流等少量特殊信號(hào),開(kāi)關(guān)矩陣單獨(dú)選用大電流繼電器進(jìn)行功能實(shí)現(xiàn)。通過(guò)大量電子開(kāi)關(guān)加少量繼電器的開(kāi)關(guān)矩陣組合形式,開(kāi)關(guān)矩陣在保證功能性的同時(shí)實(shí)現(xiàn)了高速、小體積的矩陣設(shè)計(jì)。
在開(kāi)關(guān)矩陣的控制功能上,使用獨(dú)立I/O接口控制不同開(kāi)關(guān)雖然可以實(shí)現(xiàn)矩陣狀態(tài)的靈活配置,但動(dòng)輒上千個(gè)開(kāi)關(guān)的矩陣陣列極度耗費(fèi)主控芯片的I/O接口資源,無(wú)論從選型還是成本上均不建議使用。本設(shè)計(jì)中,采用MAX7301通過(guò)級(jí)聯(lián)式鎖存驅(qū)動(dòng)方式實(shí)現(xiàn)了I/O接口的擴(kuò)展。
MAX7301使用標(biāo)準(zhǔn)的4線(xiàn)制串行外設(shè)接口(serial peripheral interface,SPI)總線(xiàn)或集成電路(inter-integrated circuit,I2C)總線(xiàn)可實(shí)現(xiàn)最多28路的I/O接口擴(kuò)展,支持推挽式邏輯輸出、施密特邏輯輸入或帶內(nèi)部上拉的施密特邏輯輸入。設(shè)計(jì)采用菊花鏈拓?fù)溥B接形式實(shí)現(xiàn)芯片的級(jí)聯(lián)。主控芯片通過(guò)一路SPI總線(xiàn)的數(shù)據(jù)接口連接MAX7301的DIN端口實(shí)現(xiàn)控制信號(hào)的寫(xiě)入,再將MAX7301的DOUT端口接入下一塊芯片的DIN端口。通過(guò)這種級(jí)聯(lián)方式,當(dāng)輸入狀態(tài)信息超過(guò)第一塊芯片的28個(gè)狀態(tài)時(shí),狀態(tài)信息將直接傳遞寫(xiě)入第二塊芯片的對(duì)應(yīng)引腳。SPI總線(xiàn)就可直接串行給出多個(gè)芯片的I/O接口狀態(tài)數(shù)據(jù),通過(guò)高低位控制不同芯片的輸出狀態(tài)。
以此類(lèi)推,設(shè)計(jì)可實(shí)現(xiàn)多至16片芯片的級(jí)聯(lián)。各芯片采用同一個(gè)SCLK時(shí)鐘信號(hào),保證配置信息讀寫(xiě)操作的同步性。CS片選信號(hào)獨(dú)立,可實(shí)現(xiàn)單個(gè)芯片的配置。僅片選單一芯片時(shí),該芯片單獨(dú)執(zhí)行寫(xiě)操作,其余芯片接收空指令。在片選多塊芯片時(shí),寫(xiě)操作通過(guò)級(jí)聯(lián)端口依次傳遞,實(shí)現(xiàn)多塊芯片的同步配置。MAX7301的級(jí)聯(lián)如圖4所示。
圖4 MAX7301的級(jí)聯(lián)
本文設(shè)計(jì)通過(guò)將設(shè)備控制邏輯劃分為不同的功能分區(qū),使功能一致、控制同步、相關(guān)性高的開(kāi)關(guān)控制邏輯放在同一分區(qū)中。FPGA使用1路SPI總線(xiàn)實(shí)現(xiàn)1個(gè)功能分區(qū)的控制。FPGA采用級(jí)聯(lián)的鎖存信號(hào)驅(qū)動(dòng)方式,通過(guò)FPGA的5個(gè)I/O接口設(shè)置為SPI總線(xiàn)接口,即可控制2片MAX7301實(shí)現(xiàn)56個(gè)通用I/O接口的擴(kuò)展,最終FPGA通過(guò)不到50個(gè)I/O引腳實(shí)現(xiàn)了近2 000個(gè)開(kāi)關(guān)的獨(dú)立擴(kuò)展控制,減少了FPGA芯片90%以上的引腳資源消耗。
要實(shí)現(xiàn)同一接口適配不同待測(cè)卡件的功能,接口矩陣需根據(jù)不同卡件的接口定義進(jìn)行實(shí)時(shí)配置。而現(xiàn)有核儀控設(shè)備卡件由于設(shè)計(jì)過(guò)程中的獨(dú)立性,在供電引腳上沒(méi)有統(tǒng)一標(biāo)準(zhǔn)。因此,如果使用了錯(cuò)誤的接口配置,可能會(huì)導(dǎo)致卡件的嚴(yán)重?fù)p壞。
由于卡件對(duì)信號(hào)互聯(lián)采用了冗余設(shè)計(jì),部分連接器端點(diǎn)存在A/B面引腳并聯(lián)同一信號(hào)的情況。因此,可將連接器并聯(lián)引腳的位號(hào)作為板卡的特征點(diǎn)進(jìn)行檢測(cè)。通過(guò)開(kāi)關(guān)矩陣的控制,將對(duì)應(yīng)位號(hào)的A引腳與DO通道連接,B引腳與AI通道連接。若AI通道檢測(cè)到對(duì)應(yīng)DO輸出的電壓,則該點(diǎn)位特征值為1;否則,特征值為0。通過(guò)多個(gè)特征點(diǎn)的共同判斷,即可確定板卡唯一的特征值,從而實(shí)現(xiàn)板卡類(lèi)型的自動(dòng)識(shí)別,避免插錯(cuò)插件、選錯(cuò)程序等失誤。部分卡件特征值如表2所示。例如,特征值10100僅唯一代表卡件B。
表2 部分卡件特征值
當(dāng)檢測(cè)到板卡插入設(shè)備時(shí),開(kāi)關(guān)矩陣切換不同的總線(xiàn)接口,對(duì)設(shè)定的所有特征點(diǎn)通道進(jìn)行循環(huán)檢測(cè),從而得到當(dāng)前板卡的特征值;再將檢測(cè)的特征值與預(yù)設(shè)的卡件特征值進(jìn)行比較,就可唯一確認(rèn)當(dāng)前板卡的具體類(lèi)型,從而達(dá)到自動(dòng)識(shí)別的目的。
卡件接口自動(dòng)識(shí)別流程如圖5所示。核儀控ATS設(shè)備通過(guò)卡件插槽內(nèi)置的接近開(kāi)關(guān)判斷當(dāng)前是否有卡件插入測(cè)試接口。當(dāng)開(kāi)關(guān)觸發(fā)時(shí),代表有卡件插入插槽,開(kāi)關(guān)矩陣按特征值識(shí)別的要求進(jìn)行置位。自動(dòng)識(shí)別功能按所有特征點(diǎn)位進(jìn)行循環(huán)檢測(cè)。當(dāng)檢測(cè)值與具體某型卡件的設(shè)定值一致時(shí),識(shí)別為某型卡件。同時(shí),在人機(jī)界面中顯示識(shí)別結(jié)果,由用戶(hù)進(jìn)行最終確認(rèn)。當(dāng)確認(rèn)結(jié)果一致時(shí),軟件直接調(diào)用對(duì)應(yīng)開(kāi)關(guān)矩陣的配置,開(kāi)啟具體測(cè)試程序。當(dāng)用戶(hù)確認(rèn)與自動(dòng)識(shí)別結(jié)果不一致時(shí),軟件報(bào)錯(cuò)提示用戶(hù)再進(jìn)行確認(rèn)。如卡件特征值循環(huán)檢測(cè)結(jié)果與預(yù)置特征值均不相符,則程序超時(shí)退出,由軟件報(bào)錯(cuò)提醒用戶(hù)確認(rèn)卡件是否存在異常。
圖5 卡件接口自動(dòng)識(shí)別流程圖
目前,業(yè)界可實(shí)現(xiàn)的高密度PXI開(kāi)關(guān)矩陣模塊可在160 mm×100 mm大小的單張3U板卡上實(shí)現(xiàn)256個(gè)開(kāi)關(guān)點(diǎn)。若采用交叉式排列方式,配置16×12的組合模式,則至少需要40張板卡才能實(shí)現(xiàn)本設(shè)計(jì)所需的160×42路開(kāi)關(guān)規(guī)模。通過(guò)本設(shè)計(jì)中總線(xiàn)式開(kāi)關(guān)陣列排布方式,也需要至少13張板卡才能實(shí)現(xiàn)9路總線(xiàn)配置下的1 818個(gè)開(kāi)關(guān)矩陣規(guī)模。故在核儀控ATS設(shè)備中,需單獨(dú)配置1臺(tái)標(biāo)準(zhǔn)14槽3U機(jī)箱作為接口適配機(jī)箱。機(jī)箱尺寸一般不少于482.6 mm×257.8 mm×177 mm。因此,測(cè)試設(shè)備的小型化基本無(wú)從談起。
本文設(shè)計(jì)采用的開(kāi)關(guān)矩陣在單張板卡上排列了230個(gè)4通道開(kāi)關(guān),實(shí)現(xiàn)了920個(gè)開(kāi)關(guān)點(diǎn),采用2張接口板卡疊放排布的方式, 僅需200 mm×230 mm×40 mm的空間即可滿(mǎn)足接口設(shè)計(jì)所需。將接口板卡與FPGA控制模塊、觸摸屏等模塊共同集成設(shè)計(jì),最終實(shí)現(xiàn)便攜式測(cè)試設(shè)備尺寸為340 mm×300 mm×120 mm,與1臺(tái)加固筆記本類(lèi)似。
本文設(shè)計(jì)了1種基于總線(xiàn)式接口矩陣的接口自適應(yīng)方法,通過(guò)總線(xiàn)式開(kāi)關(guān)排布、電子開(kāi)關(guān)組合矩陣、級(jí)聯(lián)鎖存驅(qū)動(dòng)設(shè)計(jì)等手段,大大減少了匹配接口設(shè)備的體積;同時(shí),采用目標(biāo)特征識(shí)別的方案,實(shí)現(xiàn)了不同卡件的自動(dòng)識(shí)別,提升了自適應(yīng)接口的安全性和可靠性。該方法解決了自動(dòng)測(cè)試設(shè)備接口匹配模塊的集成化和小型化難題,實(shí)現(xiàn)了便攜式核儀控ATS設(shè)備設(shè)計(jì)。