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

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

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

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

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

圖3 DEI1016A復位與初始化時序
發送數據時,首先應查詢TXR 引腳狀態,若是高電平,表明發送存儲器已空,可重新裝在數據。此時置ENTX引腳為低,置LD1 為低,LD2 為高,則裝載數據1,若置LD1為高,LD2 為低,則裝載數據2,如此最多可裝載8個32 位字長的數據,此時再查詢TXR引腳狀態,若為低電平,表明發送數據已準備好,置ENTX引腳為高電平即可發送數據。DEI1016A采用的是先進先出的發送順序[5]。具體發送時序如圖4所示。

圖4 DEI1016A發送數據時序
接收數據時,接收器經過串并轉換后,將接收的數據放到寄存器中,每收到一個數據字,發出一個“收到”信號,等待外部命令對此數據的讀取。當接收器接收到數據后,系統會置DR為低電平。欲使接收器1將接收數據的字1送至16位數據總線上,應先置SEL為低電平,再置OE1為低電平且置OE2為高。而后再置SEL為高電平,便可將字2送至16位數據總線。具體接收時序如圖5所示。

圖5 DEI1016A接收數據時序
接收器2操作類似。
DEI1016A在泰瑞達J750設備上的測試原理圖見圖6。

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

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

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


按照J750的標準編程方法,完成對器件的Pin腳定義,通道定義,Pin Levels、 Time Sets、Test Instance、Test Flow等的設置,裝載測試向量,即可調試驗證程序,實現具體參數和功能測試,具體流程這里不再贅述。
本文以DEI1016A為例,基于Teradyne公司的J750測試系統,提出了一種測試解決方案,實現了32位數據發送和接收功能,在對芯片性能評價的應用中取得了較好效果,也為后續解決其它ARINC 429接口電路的測試問題提供了途徑。