宋尚升,龍永佳
(中國(guó)空空導(dǎo)彈研究院,河南洛陽,471000)
ARINC 429總線是一種航空總線,廣泛應(yīng)用于航空領(lǐng)域,它將飛機(jī)的各系統(tǒng)或系統(tǒng)與設(shè)備通過雙絞線互連起來,是各系統(tǒng)間或系統(tǒng)與設(shè)備間數(shù)字傳輸?shù)闹饕緩?。在這些應(yīng)用中,ARINC 429總線接口電路起了重要作用。本文關(guān)注的就是該類電路的測(cè)試,并具體以DEI1016A芯片為例,基于美國(guó)Teradyne公司的J750平臺(tái),詳細(xì)介紹了一種測(cè)試解決方案。
ARINC429 總線是通過一對(duì)單向、差分耦合、雙絞屏蔽線進(jìn)行數(shù)據(jù)傳輸,本質(zhì)屬于串行通訊范疇,支持最高100 kbps的傳輸速率,具有接口方便, 數(shù)據(jù)傳輸可靠等特點(diǎn)。
數(shù)據(jù)總線以串行的方式傳輸數(shù)字?jǐn)?shù)據(jù)信息,總線傳輸速率為12.5~100kbps,一個(gè)數(shù)據(jù)字就是一個(gè)基本信息單元,由32位構(gòu)成,分別為數(shù)據(jù)位(21位)、標(biāo)志位(8位)、狀態(tài)位(2位)、奇偶校驗(yàn)位(1位)。表1為數(shù)據(jù)字32位格式功能定義[1]。

表1 ARINC 429 數(shù)據(jù)字格式
ARINC429 的數(shù)據(jù)傳輸采用雙極性歸零碼,在每一個(gè)信號(hào)周期,前半周期包含數(shù)據(jù),后半周期電位回到0V,以維持自身同步。當(dāng)前半周期為高電平10V時(shí),表示邏輯“1”,為低電平-10V時(shí),表示邏輯“0”,為0電平時(shí),表示空數(shù)據(jù)“Null”。圖1為ARINC 429雙極歸零信號(hào)和對(duì)應(yīng)邏輯電平定義[2]。

圖1 ARINC 429雙極歸零信號(hào)和電平
每一個(gè)32位數(shù)據(jù)字傳輸完畢后,都需要有4-bit的間隔,作為本數(shù)據(jù)字的結(jié)束標(biāo)志。間隔后接收到第一個(gè)有效數(shù)據(jù),表示新數(shù)據(jù)的開始。
DEI1016A是一款A(yù)RINC 429通訊協(xié)議芯片,它為標(biāo)準(zhǔn)航空串行數(shù)據(jù)總線與16-bit位的數(shù)字?jǐn)?shù)據(jù)總線之間的通訊提供了一個(gè)便利接口。它內(nèi)部包含了一個(gè)的單通道發(fā)送器,兩個(gè)接收器和一個(gè)通過編程可實(shí)現(xiàn)不同操作控制寄存器。兩個(gè)接收器相互獨(dú)立,均可直接與ARINC429數(shù)據(jù)總線通訊。
發(fā)送器電路具有一個(gè)8×32bit緩沖存儲(chǔ)區(qū),通過控制邏輯,可以寫入數(shù)據(jù)到發(fā)送器。當(dāng)發(fā)送器使能時(shí),這些寫入的數(shù)據(jù)可以自動(dòng)發(fā)送,使得主控計(jì)算機(jī)在寫入數(shù)據(jù)后不必進(jìn)一步關(guān)注。數(shù)據(jù)經(jīng)發(fā)送器輸出,變成與TTL電平匹配的信號(hào),利用ARINC 429線驅(qū)動(dòng)器,可以方便地與ARINC 429數(shù)據(jù)總線連接。DEI1016A功能框圖如圖2所示[3]。

圖2 DEI1016A功能框圖
DEI1016A支持多種操作,這些都是通過向寄存器寫入不同數(shù)據(jù)實(shí)現(xiàn)的。在/LDCW信號(hào)為“0”邏輯電平時(shí),通過16-bit 數(shù)據(jù)總線,就可以向寄存器寫入數(shù)據(jù)。
DEI1016A的控制字格式如表2所示,通過這12 bit 的控制字可控制以下功能[4]:

表2 DEI1016A控制字格式與功能
(1)數(shù)據(jù)字字長(zhǎng)(32 或 25 bits);
(2)傳輸數(shù)據(jù)第32位(奇偶校驗(yàn)或數(shù)據(jù));
(3)環(huán)繞自測(cè)試;
(4)接收數(shù)據(jù)的源/目的檢測(cè);
(5)發(fā)送器奇偶性;
(6)數(shù)據(jù)發(fā)送/接收速率。
電路上電后,給/MR一個(gè)至少200ns的低電平脈沖下,使芯片復(fù)位。然后將控制字寫入16 位數(shù)據(jù)總線上,在/LDCW 引腳低電平時(shí),可將控制字寫入控制寄存器,然后進(jìn)行數(shù)據(jù)的接收和發(fā)送,如圖3所示。

圖3 DEI1016A復(fù)位與初始化時(shí)序
發(fā)送數(shù)據(jù)時(shí),首先應(yīng)查詢TXR 引腳狀態(tài),若是高電平,表明發(fā)送存儲(chǔ)器已空,可重新裝在數(shù)據(jù)。此時(shí)置ENTX引腳為低,置LD1 為低,LD2 為高,則裝載數(shù)據(jù)1,若置LD1為高,LD2 為低,則裝載數(shù)據(jù)2,如此最多可裝載8個(gè)32 位字長(zhǎng)的數(shù)據(jù),此時(shí)再查詢TXR引腳狀態(tài),若為低電平,表明發(fā)送數(shù)據(jù)已準(zhǔn)備好,置ENTX引腳為高電平即可發(fā)送數(shù)據(jù)。DEI1016A采用的是先進(jìn)先出的發(fā)送順序[5]。具體發(fā)送時(shí)序如圖4所示。

圖4 DEI1016A發(fā)送數(shù)據(jù)時(shí)序
接收數(shù)據(jù)時(shí),接收器經(jīng)過串并轉(zhuǎn)換后,將接收的數(shù)據(jù)放到寄存器中,每收到一個(gè)數(shù)據(jù)字,發(fā)出一個(gè)“收到”信號(hào),等待外部命令對(duì)此數(shù)據(jù)的讀取。當(dāng)接收器接收到數(shù)據(jù)后,系統(tǒng)會(huì)置DR為低電平。欲使接收器1將接收數(shù)據(jù)的字1送至16位數(shù)據(jù)總線上,應(yīng)先置SEL為低電平,再置OE1為低電平且置OE2為高。而后再置SEL為高電平,便可將字2送至16位數(shù)據(jù)總線。具體接收時(shí)序如圖5所示。

圖5 DEI1016A接收數(shù)據(jù)時(shí)序
接收器2操作類似。
DEI1016A在泰瑞達(dá)J750設(shè)備上的測(cè)試原理圖見圖6。

圖6 DEI1016A在泰瑞達(dá)J750設(shè)備上的測(cè)試原理圖
考慮到J750設(shè)備上數(shù)字通道支持的電平范圍與ARINC 429電平的不匹配情況,我們選擇了驅(qū)動(dòng)器BD429,作為連接J750數(shù)字通道與DEI1016A的ARINC 429 信號(hào)端的橋梁。
利用BD429驅(qū)動(dòng)電路來產(chǎn)生DEI1016A所需要的ARINC 429 差分輸入信號(hào)。如圖5所示, BD429輸入端DATA(A)、DATA(B)是TTL電平,即邏輯“1”為5V,邏輯“0”為0V的正邏輯,可以和J750數(shù)字通道直接相連,經(jīng)過驅(qū)動(dòng)后,AOUT、BOUT輸出端輸出的是ARINC 429差分電平,其值和參考電壓VREF有關(guān),如圖7所示[6]。

圖7 BD429的輸入與輸出
為了能順利獲得上圖中的輸出信號(hào),輸入端DATA(A)、DATA(B)需有相同周期的脈沖信號(hào),不過DATA(B)的信號(hào)相比DATA(A)要延遲半個(gè)周期。
DEI1016A的發(fā)送器和接收器的數(shù)據(jù)的高傳輸速率為100 kbps,低傳輸速率為12.5 kbps。數(shù)據(jù)的發(fā)送與接收,共用一個(gè)時(shí)鐘,這個(gè)時(shí)鐘信號(hào)通過1MCK引腳從外部輸入,工作頻率為1MHz。由此可以看出,1MCK主時(shí)鐘頻率與數(shù)據(jù)端口時(shí)鐘頻率并不相同。對(duì)高數(shù)據(jù)傳輸速率(100 kbps)而言,1MHz速率是一個(gè)×10倍的時(shí)鐘,對(duì)低傳輸速率(12.5kbps)而言,是一個(gè)×80倍的時(shí)鐘。
一般來說,可以利用外部晶振來解決,但需要考慮晶振與測(cè)試設(shè)備時(shí)鐘的同步問題。測(cè)試設(shè)備J750提供了MCG mode,即Multi-ClockGeneration ,這種模式允許一行向量可以有多個(gè)時(shí)鐘周期,對(duì)于解決時(shí)鐘頻率比其它信號(hào)頻率快的器件非常有用。正常情況下,對(duì)同一行向量,對(duì)應(yīng)一個(gè)時(shí)鐘周期,如數(shù)字信號(hào)DATA。而在MCG mode 下,1MCK時(shí)鐘有多個(gè)周期。如圖8所示。

圖8 MCG mode 時(shí)鐘信號(hào)
MCG mode的設(shè)置,是在Time Sets Sheet中,在Cycle選項(xiàng)中設(shè)置CPP的值,同時(shí)在Pin/Group選項(xiàng)中,設(shè)置Setup為MCG。CPP的值,取決于時(shí)鐘頻率與其它信號(hào)頻率的關(guān)系,對(duì)DEI1016A來說,當(dāng)數(shù)據(jù)傳輸速率為100 kbps時(shí),設(shè)置CPP值為10,即可實(shí)現(xiàn)主時(shí)鐘頻率為1MHz。
在數(shù)據(jù)發(fā)送時(shí),DEI1016A芯片內(nèi)部有Word Gap Timer邏輯電路,用來產(chǎn)生字與字之間的4 bit 間隔。在傳輸完一個(gè)字后,4-bit間隔在裝載新數(shù)據(jù)字時(shí)自動(dòng)產(chǎn)生,這樣對(duì)傳輸一個(gè)32位的數(shù)據(jù)字來說,至少需要36-bit的時(shí)間。
根據(jù)上述功能描述,我們按照相應(yīng)時(shí)序,便可實(shí)現(xiàn)發(fā)送和接收功能向量。需要注意的是,字與字之間的4-bit間隔,奇偶性設(shè)置等。以接收器功能為例,向量如下所示。


按照J(rèn)750的標(biāo)準(zhǔn)編程方法,完成對(duì)器件的Pin腳定義,通道定義,Pin Levels、 Time Sets、Test Instance、Test Flow等的設(shè)置,裝載測(cè)試向量,即可調(diào)試驗(yàn)證程序,實(shí)現(xiàn)具體參數(shù)和功能測(cè)試,具體流程這里不再贅述。
本文以DEI1016A為例,基于Teradyne公司的J750測(cè)試系統(tǒng),提出了一種測(cè)試解決方案,實(shí)現(xiàn)了32位數(shù)據(jù)發(fā)送和接收功能,在對(duì)芯片性能評(píng)價(jià)的應(yīng)用中取得了較好效果,也為后續(xù)解決其它ARINC 429接口電路的測(cè)試問題提供了途徑。