張世兵,苗克堅
(西北工業大學 計算機學院,陜西 西安 710075)
隨著航空電子系統的發展,多路數據傳輸數據總線在航空電子系統中起著越來越重要的作用,其主要特點是集中控制、實時性要求高、分布處理[1]。目前MIL-STD-1553總線通信協議在航空電子系統中應用比較廣泛,其全稱是飛機內部時分制命令/響應式多路復用數據總線[2-3]。1553B總線是由美國公布的一種串行多路數據總線標準,具有確定的傳輸延遲、可靠地傳輸能力、數據完整性高、系統可靠性高等特點。BU61580是美國DDC公司推出的一款1553B總線接口協議芯片,在航空電子總線通訊系統中具有廣泛的應用市場。因此研制一套測試系統在該使用芯片之前進行測試其是否滿足要求,在出問題時測試芯片對問題進行準確定位是十分必須的。為了能夠實現對芯片的準確測試,在需求分析的基礎上,提出并設計了一種基于1553B總線的BU-61580芯片測試系統設計方案。該方案能夠滿足設計要求,滿足用戶需求。
針對該款芯片進行測試的需求,結合測試卡與1553B通訊設備的連接關系,需要采用PCI總線接口的專用芯片測試卡,在其上面裝有專用芯片測試插座,結合測試軟件,使用示波器測試信號,可進行BU-61580系列芯片的協議和電氣特性等測試。在設計時主要注意以下幾點:
1)BU-61580芯片測試卡:采用專用芯片測試插座,便于芯片裝卸,不損壞芯片引腳;支持RT地址跳針或軟件設置可選;支持對芯片TX_INH_A/B、RT_AD_LAT、MSTCLR進行配置;待測重要電信號通過D型插座引出版外;
2)總線信息傳輸測試:BC發送各種總線命令和數據信息,BC接收RT到BC的狀態和數據信息;RT接收BC到RT的命令和數據信息,RT發送RT->BC、RT->RT的狀態和數據信息,包含廣播方式;MT記錄總線信息傳輸;
3)片上資源測試:依次讀寫芯片上的寄存器和內存資源,檢測片上資源訪問的正確性,包括可寫資源是否正確寫入,可讀資源是否正確讀出;通過片上資源訪問和外部通訊觸發芯片的各種中斷,檢測中斷相關寄存器數據和中斷信號產生的正確性;
4)61580芯片接口邏輯測試:自動化測試軟件模擬不同用戶的接口訪問邏輯設計模式,檢驗當前模式下,芯片的各方面性能表現,并可不斷自動調整芯片接口的訪問延遲,并在每個時序點檢查芯片表現,從而找出芯片訪問時序的臨界點。
該測試系統整體結構如圖1所示,在對BU-61580芯片測試過程中,需要將芯片安裝在測試計算機的測試卡的卡槽中,并且通過測試系統設置芯片的各種參數;在將芯片設置為不同的工作模式時,為了測試其是否正常工作,必須連接外部的正常工作的符合1553B總線協議的通訊設備;在測試過程中,可以將需要查看的信號例如 INT*、READYD*、IOEN*等信號通過信號連接器連接至示波器上觀察,以得出信號是否正常;最終將測試結果在測試計算機上顯示出來,并完成測試結果的打印。

圖1 系統結構圖Fig.1 Structure diagram of chip test system
測試系統硬件主要由顯示器、測試計算機、耦合器、D型信號連接器、1553B通訊設備、示波器組成。系統硬件結構如圖2所示[1,4]。耦合器主要是連接測試計算機中的測試卡中BU-61580芯片的通訊通道與外部1553B通訊設備的;信號連接器主要是將需要觀測的信號如INT*、READYD*、IOEN*、TX/RX-A/B、TX/RX-A/B*、CLOCK_IN、SSFLAG 以及變壓器輸出信號等從測試卡中引出來,便于用示波器測量查看。

圖2 系統硬件結構圖Fig.2 Structure diagram of the hardware system
工控機中裝有測試卡,原理如圖2所示,包括PCI9054協議芯片、EPPROM、可編程控制邏輯、BU-61580芯片插槽、隔離變壓器等。測試卡與工控機連接選用PCI9054協議芯片,它將PCI總線上的操作轉換為局部總線上的操作,支持33 MHz時鐘頻率,最大速度達到132 MB/s,超過1553B傳輸速度1 Mbps。可編程控制邏輯模塊實現局部總線譯碼邏輯、RT地址設置、控制邏輯、通道選擇邏輯;BU-61580芯片插槽實現安裝61580芯片,能夠便于更換芯片。
測試系統的軟件采用VC++6.0編寫,運行在WindowsXP系統下。結合需求分析將測試系統分為幾個模塊:片上資源訪問模塊、工作方式/時序調整模塊、總線控制器BC模塊、遠程終端RT模塊、總線檢測器BM模塊,具體結構框架如圖3所示。下面介紹每一模塊的工作流程原理。

圖3 系統軟件設計結構圖Fig.3 Schematic diagram of the software test system
芯片在不同的使用場合、不同的用戶手中,接口訪問邏輯設計一般是不盡相同的,使用方式的略微差別往往會帶來一些問題。通過測試軟件模擬不同用戶的接口訪問邏輯設計方式,檢驗在當前的模式下,芯片的各方面性能表現。不斷自動調整芯片接口的訪問時序,查看在每個時序點檢查芯片表現,從而找出芯片訪問時序的臨界點。
設計要求用戶能夠設置芯片的訪問方式;能夠調整訪問時序,圖形化界面實現;具有默認功能,提供默認正確工作狀態;具有預防功能,預防用戶設置不可能實現的芯片訪問時序。用戶只需要在如圖4所示的界面上選擇工作方式,調整不同信號對應的曲線時序,達到設置要求,然后測試芯片在此情況下的表現。

圖4 工作方式/時序調整模塊界面Fig.4 Interface of select working mode and time sequence
61580工作于BC模式,能完成所有的MIL-STD-1553B消息格式[2-5]。BC模塊是1553B總線的控制中樞,所有的控制命令都由其發出,起著重要作用。BC模塊設計應該滿足下述要求:可以使能或禁止自動重試或中斷請求;可以設置自動重復幀或者發送指定數量的幀數;可以查看片上資源,檢查芯片的工作狀態;BC控制字能夠允許對消息格式、1553A/B類型的RT、總線通道、自檢以及狀態字屏蔽字分別指定;在單個消息的基礎上,能夠對消息間隔定時進行編程;能夠統計發送或接收的消息個數,保存數據。
BC模塊的設計流程圖如圖5所示。首先初始化芯片,配置BC模式,然后添加相應的消息,注冊中斷服務程序。在中斷服務程序中判斷中斷類型,根據中斷類型執行不同的動作,如果是消息完成中斷則把消息數據取回并保存、更新界面數據,以供用戶事后分析;改變消息統計數字,判斷是否與要初始設置的個數相等,如果相等則停止BC工作,完成任務。

圖5 BC工作流程圖Fig.5 Flow chart of the Bus Controller
BU-61580電路可以工作于RT模式,可以完成所有的MIL-STD-1553B消息格式以及模式碼[2-3,6]。RT設計要求如下:RT模塊能夠動態設置RT地址;能夠隨時訪問片上資源,修改或者設置61580芯片的寄存器內容;在添加RT消息時能夠選擇子地址、消息存儲方式包括單緩沖、雙緩沖、循環緩沖模式,能夠修改緩沖區數據;能夠編程設置RT子地址忙位;能夠設置非法化查詢表;能夠設置添加各種方式碼,并且能夠修改部分帶數據的方式碼的數據。
RT模塊設計流程圖如圖6所示。首先初始化,設置RT模式;然后注冊中斷服務程序;設置RT地址、分辨率、超時等;添加RT子地址SA;修改RT非法字,設置RT子地址忙位等;最后將RT設置為工作狀態。在添加RT子地址時需要完成子地址內存分配,根據添加的RT子地址動態管理內存,有效使用芯片的有限內存資源。

圖6 RT工作流程圖Fig.6 Flow chart of the Remote Terminal
在中斷服務程序中,首先獲得關鍵字信息,包括RAM堆棧區域中4消息塊描述字、中斷狀態、中斷屏蔽字等;根據中斷狀態做出響應,如果是消息完成中斷,那么根據取回的關鍵字信息計算此次中斷與上次中斷之間收到消息個數,把對應的數據信息從芯片中取回到應用程序中,顯示到界面中并保存。
BU-61580芯片提供了3種總線監測模式,即字檢測模式、可選擇的消息檢測模式、同步終端/可選擇消息模式[2-3,7]。設計要求BM實現以下功能:BM 3種模式能夠可選擇;能夠訪問61580片上資源;把總線上的所有數據實時取回來,并將數據按照消息格式存儲;能夠根據接收到的數據進行分析,得出各個消息所代表的狀態,并且分類統計。 BM模式設計流程圖如圖7所示。
在字監測模式下,BM能監測并存儲兩條總線上收到的所有的命令字、狀態字和數據字信息。采用多媒體定時器查詢方式,設置定時器每隔5 ms查詢一次RAM緩沖區指針,計算出與上次緩沖區指針之間的緩沖區大小,然后將數據取到緩沖區中,調用分割消息函數將其分割成一條完整的消息。下面是定時器查詢函數的代碼。


在可選擇消息監測模式下,默認監測所有RT的消息,可以設置過濾某些RT消息。注冊BM中斷回調函數,首先從RAM中取回狀態字、屏蔽字,然后根據不同的中斷類型做出響應;接著從堆棧區域中獲得4個描述字;根據描述字判斷消息是否有響應,數據字有多少個;根據得到的數據字個數從數據棧中取出消息數據;最后根據狀態字分析消息狀態,歸類存放。中斷回調函數的偽代碼如下。


圖7 BM模式工作流程圖Fig.7 Flow chart of Bus Monitor

該測試系統為了測試DDC公司的BU-61580系列芯片,然后測試芯片的臨界點。在測試時,首先打開測試軟件,然后打開模式時序調整模塊,這樣調整時序。最后選則芯片工作于BC、RT還是BM模式下,選擇完工作模式后,進行相應的初始化,以及設置。程序的部分操作界面如圖8所示。根據測試結果判斷芯片在該時序接口下工作是否正常,并在在暫停芯片工作時,可以隨時打開操作內存寄存器界面查看值以及修改值,達到能夠自動測試或者可以手工設置的要求。
測試系統采用裝有61580芯片插槽能夠隨時更換芯片的BU61580芯片測試卡作為硬件平臺,軟件設計采用模塊化設計思想,提高了系統的可擴展性和可維護性。測試系統摒棄了以往測試手段,提供了友好的測試界面。目前該系統已經交付用戶使用,實際應用情況表明,該測試系統系統提高了測試效率,具有測試準確、人機交互界面友好、簡單、功能強大、穩定性高等特點,達到了設計目標。

圖8 測試系統部分界面Fig.8 Interface chart of testing system
[1]賓辰忠,苗克堅.基于1553B總線的實時消息流實現與控制[J].計算機測量與控制,2005,13(9):967-969.
BIN Chen-zhong,MIAO Ke-jian.Message stream research and implementation in real-time network system based on 1553B bus[J].Computer Measurement&Control,2005,13(9):967-969.
[2]MIL-STD-1553B.飛機內部時分制指令/響應式多路傳輸數據總線[S].美國軍用標準,1978.
[3]GJB289A-97.數字式時分制指令/響應型多路傳輸數據總線[S].1997.
[4]高志強,苗克堅,張雯璐.彈載計算機1553B總線測試模塊設計[J].計算機測量與控制,2008,16(9):1280-1282.
GAO Zhi-qiang,MIAO Ke-jian,ZHANG Wen-lu.Testing module design of 1553B bus in missile borne computer[J].Computer Measurement&Control,2008,16(9):1280-1282.
[5]胡小琴,胡穎瓊,蔡志勇,等.基于VC++的1553B總線接口仿真軟件設計[J].計算機工程,2010,36(11):93-94,97.
HU Xiao-qin,HU Ying-qiong,CAI Zhi-yong,et al.Design of interface simulation software for 1553B bus based on VC++[J].Computer Engineering,2010,36(11):93-94,97.
[6]白宏陽,管雪元,薛曉中,等.基于DSP+FPGA的航空1553B總線RT設置方法[J].彈箭與指導學報,2010,30(4):169-172.
BAI Hong-yang,GUAN Xue-yuan,XUE Xiao-zhong,et al.Design method of aerial 1553B remote terminal based on DSP and FPGA[J].Journal of Projectiles, Rockets, Missiles and Guidance,2010,30(4):169-172.
[7]蔣國鋒,白紅.1553B總線監控器的設計與實現[J].電子設計工程,2011,19(17):98-100.
JIANG Guo-feng,BAI Hong.Design and implementation of bus monitor for 1553B bus[J].Electronic Design Engineering,2011,19(17):98-100.