宋尚升,龍永佳
(中國空空導彈研究院,河南洛陽,471000)
ARINC 429總線是一種航空總線,廣泛應用于航空領域,它將飛機的各系統(tǒng)或系統(tǒng)與設備通過雙絞線互連起來,是各系統(tǒng)間或系統(tǒng)與設備間數(shù)字傳輸?shù)闹饕緩?。在這些應用中,ARINC 429總線接口電路起了重要作用。本文關注的就是該類電路的測試,并具體以DEI1016A芯片為例,基于美國Teradyne公司的J750平臺,詳細介紹了一種測試解決方案。
ARINC429 總線是通過一對單向、差分耦合、雙絞屏蔽線進行數(shù)據(jù)傳輸,本質(zhì)屬于串行通訊范疇,支持最高100 kbps的傳輸速率,具有接口方便, 數(shù)據(jù)傳輸可靠等特點。
數(shù)據(jù)總線以串行的方式傳輸數(shù)字數(shù)據(jù)信息,總線傳輸速率為12.5~100kbps,一個數(shù)據(jù)字就是一個基本信息單元,由32位構成,分別為數(shù)據(jù)位(21位)、標志位(8位)、狀態(tài)位(2位)、奇偶校驗位(1位)。表1為數(shù)據(jù)字32位格式功能定義[1]。
表1 ARINC 429 數(shù)據(jù)字格式
ARINC429 的數(shù)據(jù)傳輸采用雙極性歸零碼,在每一個信號周期,前半周期包含數(shù)據(jù),后半周期電位回到0V,以維持自身同步。當前半周期為高電平10V時,表示邏輯“1”,為低電平-10V時,表示邏輯“0”,為0電平時,表示空數(shù)據(jù)“Null”。圖1為ARINC 429雙極歸零信號和對應邏輯電平定義[2]。
圖1 ARINC 429雙極歸零信號和電平
每一個32位數(shù)據(jù)字傳輸完畢后,都需要有4-bit的間隔,作為本數(shù)據(jù)字的結(jié)束標志。間隔后接收到第一個有效數(shù)據(jù),表示新數(shù)據(jù)的開始。
DEI1016A是一款ARINC 429通訊協(xié)議芯片,它為標準航空串行數(shù)據(jù)總線與16-bit位的數(shù)字數(shù)據(jù)總線之間的通訊提供了一個便利接口。它內(nèi)部包含了一個的單通道發(fā)送器,兩個接收器和一個通過編程可實現(xiàn)不同操作控制寄存器。兩個接收器相互獨立,均可直接與ARINC429數(shù)據(jù)總線通訊。
發(fā)送器電路具有一個8×32bit緩沖存儲區(qū),通過控制邏輯,可以寫入數(shù)據(jù)到發(fā)送器。當發(fā)送器使能時,這些寫入的數(shù)據(jù)可以自動發(fā)送,使得主控計算機在寫入數(shù)據(jù)后不必進一步關注。數(shù)據(jù)經(jīng)發(fā)送器輸出,變成與TTL電平匹配的信號,利用ARINC 429線驅(qū)動器,可以方便地與ARINC 429數(shù)據(jù)總線連接。DEI1016A功能框圖如圖2所示[3]。
圖2 DEI1016A功能框圖
DEI1016A支持多種操作,這些都是通過向寄存器寫入不同數(shù)據(jù)實現(xiàn)的。在/LDCW信號為“0”邏輯電平時,通過16-bit 數(shù)據(jù)總線,就可以向寄存器寫入數(shù)據(jù)。
DEI1016A的控制字格式如表2所示,通過這12 bit 的控制字可控制以下功能[4]:
表2 DEI1016A控制字格式與功能
(1)數(shù)據(jù)字字長(32 或 25 bits);
(2)傳輸數(shù)據(jù)第32位(奇偶校驗或數(shù)據(jù));
(3)環(huán)繞自測試;
(4)接收數(shù)據(jù)的源/目的檢測;
(5)發(fā)送器奇偶性;
(6)數(shù)據(jù)發(fā)送/接收速率。
電路上電后,給/MR一個至少200ns的低電平脈沖下,使芯片復位。然后將控制字寫入16 位數(shù)據(jù)總線上,在/LDCW 引腳低電平時,可將控制字寫入控制寄存器,然后進行數(shù)據(jù)的接收和發(fā)送,如圖3所示。
圖3 DEI1016A復位與初始化時序
發(fā)送數(shù)據(jù)時,首先應查詢TXR 引腳狀態(tài),若是高電平,表明發(fā)送存儲器已空,可重新裝在數(shù)據(jù)。此時置ENTX引腳為低,置LD1 為低,LD2 為高,則裝載數(shù)據(jù)1,若置LD1為高,LD2 為低,則裝載數(shù)據(jù)2,如此最多可裝載8個32 位字長的數(shù)據(jù),此時再查詢TXR引腳狀態(tài),若為低電平,表明發(fā)送數(shù)據(jù)已準備好,置ENTX引腳為高電平即可發(fā)送數(shù)據(jù)。DEI1016A采用的是先進先出的發(fā)送順序[5]。具體發(fā)送時序如圖4所示。
圖4 DEI1016A發(fā)送數(shù)據(jù)時序
接收數(shù)據(jù)時,接收器經(jīng)過串并轉(zhuǎn)換后,將接收的數(shù)據(jù)放到寄存器中,每收到一個數(shù)據(jù)字,發(fā)出一個“收到”信號,等待外部命令對此數(shù)據(jù)的讀取。當接收器接收到數(shù)據(jù)后,系統(tǒng)會置DR為低電平。欲使接收器1將接收數(shù)據(jù)的字1送至16位數(shù)據(jù)總線上,應先置SEL為低電平,再置OE1為低電平且置OE2為高。而后再置SEL為高電平,便可將字2送至16位數(shù)據(jù)總線。具體接收時序如圖5所示。
圖5 DEI1016A接收數(shù)據(jù)時序
接收器2操作類似。
DEI1016A在泰瑞達J750設備上的測試原理圖見圖6。
圖6 DEI1016A在泰瑞達J750設備上的測試原理圖
考慮到J750設備上數(shù)字通道支持的電平范圍與ARINC 429電平的不匹配情況,我們選擇了驅(qū)動器BD429,作為連接J750數(shù)字通道與DEI1016A的ARINC 429 信號端的橋梁。
利用BD429驅(qū)動電路來產(chǎn)生DEI1016A所需要的ARINC 429 差分輸入信號。如圖5所示, BD429輸入端DATA(A)、DATA(B)是TTL電平,即邏輯“1”為5V,邏輯“0”為0V的正邏輯,可以和J750數(shù)字通道直接相連,經(jīng)過驅(qū)動后,AOUT、BOUT輸出端輸出的是ARINC 429差分電平,其值和參考電壓VREF有關,如圖7所示[6]。
圖7 BD429的輸入與輸出
為了能順利獲得上圖中的輸出信號,輸入端DATA(A)、DATA(B)需有相同周期的脈沖信號,不過DATA(B)的信號相比DATA(A)要延遲半個周期。
DEI1016A的發(fā)送器和接收器的數(shù)據(jù)的高傳輸速率為100 kbps,低傳輸速率為12.5 kbps。數(shù)據(jù)的發(fā)送與接收,共用一個時鐘,這個時鐘信號通過1MCK引腳從外部輸入,工作頻率為1MHz。由此可以看出,1MCK主時鐘頻率與數(shù)據(jù)端口時鐘頻率并不相同。對高數(shù)據(jù)傳輸速率(100 kbps)而言,1MHz速率是一個×10倍的時鐘,對低傳輸速率(12.5kbps)而言,是一個×80倍的時鐘。
一般來說,可以利用外部晶振來解決,但需要考慮晶振與測試設備時鐘的同步問題。測試設備J750提供了MCG mode,即Multi-ClockGeneration ,這種模式允許一行向量可以有多個時鐘周期,對于解決時鐘頻率比其它信號頻率快的器件非常有用。正常情況下,對同一行向量,對應一個時鐘周期,如數(shù)字信號DATA。而在MCG mode 下,1MCK時鐘有多個周期。如圖8所示。
圖8 MCG mode 時鐘信號
MCG mode的設置,是在Time Sets Sheet中,在Cycle選項中設置CPP的值,同時在Pin/Group選項中,設置Setup為MCG。CPP的值,取決于時鐘頻率與其它信號頻率的關系,對DEI1016A來說,當數(shù)據(jù)傳輸速率為100 kbps時,設置CPP值為10,即可實現(xiàn)主時鐘頻率為1MHz。
在數(shù)據(jù)發(fā)送時,DEI1016A芯片內(nèi)部有Word Gap Timer邏輯電路,用來產(chǎn)生字與字之間的4 bit 間隔。在傳輸完一個字后,4-bit間隔在裝載新數(shù)據(jù)字時自動產(chǎn)生,這樣對傳輸一個32位的數(shù)據(jù)字來說,至少需要36-bit的時間。
根據(jù)上述功能描述,我們按照相應時序,便可實現(xiàn)發(fā)送和接收功能向量。需要注意的是,字與字之間的4-bit間隔,奇偶性設置等。以接收器功能為例,向量如下所示。
按照J750的標準編程方法,完成對器件的Pin腳定義,通道定義,Pin Levels、 Time Sets、Test Instance、Test Flow等的設置,裝載測試向量,即可調(diào)試驗證程序,實現(xiàn)具體參數(shù)和功能測試,具體流程這里不再贅述。
本文以DEI1016A為例,基于Teradyne公司的J750測試系統(tǒng),提出了一種測試解決方案,實現(xiàn)了32位數(shù)據(jù)發(fā)送和接收功能,在對芯片性能評價的應用中取得了較好效果,也為后續(xù)解決其它ARINC 429接口電路的測試問題提供了途徑。