張世兵,苗克堅(jiān)
(西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710075)
隨著航空電子系統(tǒng)的發(fā)展,多路數(shù)據(jù)傳輸數(shù)據(jù)總線在航空電子系統(tǒng)中起著越來(lái)越重要的作用,其主要特點(diǎn)是集中控制、實(shí)時(shí)性要求高、分布處理[1]。目前MIL-STD-1553總線通信協(xié)議在航空電子系統(tǒng)中應(yīng)用比較廣泛,其全稱是飛機(jī)內(nèi)部時(shí)分制命令/響應(yīng)式多路復(fù)用數(shù)據(jù)總線[2-3]。1553B總線是由美國(guó)公布的一種串行多路數(shù)據(jù)總線標(biāo)準(zhǔn),具有確定的傳輸延遲、可靠地傳輸能力、數(shù)據(jù)完整性高、系統(tǒng)可靠性高等特點(diǎn)。BU61580是美國(guó)DDC公司推出的一款1553B總線接口協(xié)議芯片,在航空電子總線通訊系統(tǒng)中具有廣泛的應(yīng)用市場(chǎng)。因此研制一套測(cè)試系統(tǒng)在該使用芯片之前進(jìn)行測(cè)試其是否滿足要求,在出問(wèn)題時(shí)測(cè)試芯片對(duì)問(wèn)題進(jìn)行準(zhǔn)確定位是十分必須的。為了能夠?qū)崿F(xiàn)對(duì)芯片的準(zhǔn)確測(cè)試,在需求分析的基礎(chǔ)上,提出并設(shè)計(jì)了一種基于1553B總線的BU-61580芯片測(cè)試系統(tǒng)設(shè)計(jì)方案。該方案能夠滿足設(shè)計(jì)要求,滿足用戶需求。
針對(duì)該款芯片進(jìn)行測(cè)試的需求,結(jié)合測(cè)試卡與1553B通訊設(shè)備的連接關(guān)系,需要采用PCI總線接口的專用芯片測(cè)試卡,在其上面裝有專用芯片測(cè)試插座,結(jié)合測(cè)試軟件,使用示波器測(cè)試信號(hào),可進(jìn)行BU-61580系列芯片的協(xié)議和電氣特性等測(cè)試。在設(shè)計(jì)時(shí)主要注意以下幾點(diǎn):
1)BU-61580芯片測(cè)試卡:采用專用芯片測(cè)試插座,便于芯片裝卸,不損壞芯片引腳;支持RT地址跳針或軟件設(shè)置可選;支持對(duì)芯片TX_INH_A/B、RT_AD_LAT、MSTCLR進(jìn)行配置;待測(cè)重要電信號(hào)通過(guò)D型插座引出版外;
2)總線信息傳輸測(cè)試:BC發(fā)送各種總線命令和數(shù)據(jù)信息,BC接收RT到BC的狀態(tài)和數(shù)據(jù)信息;RT接收BC到RT的命令和數(shù)據(jù)信息,RT發(fā)送RT->BC、RT->RT的狀態(tài)和數(shù)據(jù)信息,包含廣播方式;MT記錄總線信息傳輸;
3)片上資源測(cè)試:依次讀寫芯片上的寄存器和內(nèi)存資源,檢測(cè)片上資源訪問(wèn)的正確性,包括可寫資源是否正確寫入,可讀資源是否正確讀出;通過(guò)片上資源訪問(wèn)和外部通訊觸發(fā)芯片的各種中斷,檢測(cè)中斷相關(guān)寄存器數(shù)據(jù)和中斷信號(hào)產(chǎn)生的正確性;
4)61580芯片接口邏輯測(cè)試:自動(dòng)化測(cè)試軟件模擬不同用戶的接口訪問(wèn)邏輯設(shè)計(jì)模式,檢驗(yàn)當(dāng)前模式下,芯片的各方面性能表現(xiàn),并可不斷自動(dòng)調(diào)整芯片接口的訪問(wèn)延遲,并在每個(gè)時(shí)序點(diǎn)檢查芯片表現(xiàn),從而找出芯片訪問(wèn)時(shí)序的臨界點(diǎn)。
該測(cè)試系統(tǒng)整體結(jié)構(gòu)如圖1所示,在對(duì)BU-61580芯片測(cè)試過(guò)程中,需要將芯片安裝在測(cè)試計(jì)算機(jī)的測(cè)試卡的卡槽中,并且通過(guò)測(cè)試系統(tǒng)設(shè)置芯片的各種參數(shù);在將芯片設(shè)置為不同的工作模式時(shí),為了測(cè)試其是否正常工作,必須連接外部的正常工作的符合1553B總線協(xié)議的通訊設(shè)備;在測(cè)試過(guò)程中,可以將需要查看的信號(hào)例如 INT*、READYD*、IOEN*等信號(hào)通過(guò)信號(hào)連接器連接至示波器上觀察,以得出信號(hào)是否正常;最終將測(cè)試結(jié)果在測(cè)試計(jì)算機(jī)上顯示出來(lái),并完成測(cè)試結(jié)果的打印。
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure diagram of chip test system
測(cè)試系統(tǒng)硬件主要由顯示器、測(cè)試計(jì)算機(jī)、耦合器、D型信號(hào)連接器、1553B通訊設(shè)備、示波器組成。系統(tǒng)硬件結(jié)構(gòu)如圖2所示[1,4]。耦合器主要是連接測(cè)試計(jì)算機(jī)中的測(cè)試卡中BU-61580芯片的通訊通道與外部1553B通訊設(shè)備的;信號(hào)連接器主要是將需要觀測(cè)的信號(hào)如INT*、READYD*、IOEN*、TX/RX-A/B、TX/RX-A/B*、CLOCK_IN、SSFLAG 以及變壓器輸出信號(hào)等從測(cè)試卡中引出來(lái),便于用示波器測(cè)量查看。
圖2 系統(tǒng)硬件結(jié)構(gòu)圖Fig.2 Structure diagram of the hardware system
工控機(jī)中裝有測(cè)試卡,原理如圖2所示,包括PCI9054協(xié)議芯片、EPPROM、可編程控制邏輯、BU-61580芯片插槽、隔離變壓器等。測(cè)試卡與工控機(jī)連接選用PCI9054協(xié)議芯片,它將PCI總線上的操作轉(zhuǎn)換為局部總線上的操作,支持33 MHz時(shí)鐘頻率,最大速度達(dá)到132 MB/s,超過(guò)1553B傳輸速度1 Mbps??删幊炭刂七壿嬆K實(shí)現(xiàn)局部總線譯碼邏輯、RT地址設(shè)置、控制邏輯、通道選擇邏輯;BU-61580芯片插槽實(shí)現(xiàn)安裝61580芯片,能夠便于更換芯片。
測(cè)試系統(tǒng)的軟件采用VC++6.0編寫,運(yùn)行在WindowsXP系統(tǒng)下。結(jié)合需求分析將測(cè)試系統(tǒng)分為幾個(gè)模塊:片上資源訪問(wèn)模塊、工作方式/時(shí)序調(diào)整模塊、總線控制器BC模塊、遠(yuǎn)程終端RT模塊、總線檢測(cè)器BM模塊,具體結(jié)構(gòu)框架如圖3所示。下面介紹每一模塊的工作流程原理。
圖3 系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)圖Fig.3 Schematic diagram of the software test system
芯片在不同的使用場(chǎng)合、不同的用戶手中,接口訪問(wèn)邏輯設(shè)計(jì)一般是不盡相同的,使用方式的略微差別往往會(huì)帶來(lái)一些問(wèn)題。通過(guò)測(cè)試軟件模擬不同用戶的接口訪問(wèn)邏輯設(shè)計(jì)方式,檢驗(yàn)在當(dāng)前的模式下,芯片的各方面性能表現(xiàn)。不斷自動(dòng)調(diào)整芯片接口的訪問(wèn)時(shí)序,查看在每個(gè)時(shí)序點(diǎn)檢查芯片表現(xiàn),從而找出芯片訪問(wèn)時(shí)序的臨界點(diǎn)。
設(shè)計(jì)要求用戶能夠設(shè)置芯片的訪問(wèn)方式;能夠調(diào)整訪問(wèn)時(shí)序,圖形化界面實(shí)現(xiàn);具有默認(rèn)功能,提供默認(rèn)正確工作狀態(tài);具有預(yù)防功能,預(yù)防用戶設(shè)置不可能實(shí)現(xiàn)的芯片訪問(wèn)時(shí)序。用戶只需要在如圖4所示的界面上選擇工作方式,調(diào)整不同信號(hào)對(duì)應(yīng)的曲線時(shí)序,達(dá)到設(shè)置要求,然后測(cè)試芯片在此情況下的表現(xiàn)。
圖4 工作方式/時(shí)序調(diào)整模塊界面Fig.4 Interface of select working mode and time sequence
61580工作于BC模式,能完成所有的MIL-STD-1553B消息格式[2-5]。BC模塊是1553B總線的控制中樞,所有的控制命令都由其發(fā)出,起著重要作用。BC模塊設(shè)計(jì)應(yīng)該滿足下述要求:可以使能或禁止自動(dòng)重試或中斷請(qǐng)求;可以設(shè)置自動(dòng)重復(fù)幀或者發(fā)送指定數(shù)量的幀數(shù);可以查看片上資源,檢查芯片的工作狀態(tài);BC控制字能夠允許對(duì)消息格式、1553A/B類型的RT、總線通道、自檢以及狀態(tài)字屏蔽字分別指定;在單個(gè)消息的基礎(chǔ)上,能夠?qū)ο㈤g隔定時(shí)進(jìn)行編程;能夠統(tǒng)計(jì)發(fā)送或接收的消息個(gè)數(shù),保存數(shù)據(jù)。
BC模塊的設(shè)計(jì)流程圖如圖5所示。首先初始化芯片,配置BC模式,然后添加相應(yīng)的消息,注冊(cè)中斷服務(wù)程序。在中斷服務(wù)程序中判斷中斷類型,根據(jù)中斷類型執(zhí)行不同的動(dòng)作,如果是消息完成中斷則把消息數(shù)據(jù)取回并保存、更新界面數(shù)據(jù),以供用戶事后分析;改變消息統(tǒng)計(jì)數(shù)字,判斷是否與要初始設(shè)置的個(gè)數(shù)相等,如果相等則停止BC工作,完成任務(wù)。
圖5 BC工作流程圖Fig.5 Flow chart of the Bus Controller
BU-61580電路可以工作于RT模式,可以完成所有的MIL-STD-1553B消息格式以及模式碼[2-3,6]。RT設(shè)計(jì)要求如下:RT模塊能夠動(dòng)態(tài)設(shè)置RT地址;能夠隨時(shí)訪問(wèn)片上資源,修改或者設(shè)置61580芯片的寄存器內(nèi)容;在添加RT消息時(shí)能夠選擇子地址、消息存儲(chǔ)方式包括單緩沖、雙緩沖、循環(huán)緩沖模式,能夠修改緩沖區(qū)數(shù)據(jù);能夠編程設(shè)置RT子地址忙位;能夠設(shè)置非法化查詢表;能夠設(shè)置添加各種方式碼,并且能夠修改部分帶數(shù)據(jù)的方式碼的數(shù)據(jù)。
RT模塊設(shè)計(jì)流程圖如圖6所示。首先初始化,設(shè)置RT模式;然后注冊(cè)中斷服務(wù)程序;設(shè)置RT地址、分辨率、超時(shí)等;添加RT子地址SA;修改RT非法字,設(shè)置RT子地址忙位等;最后將RT設(shè)置為工作狀態(tài)。在添加RT子地址時(shí)需要完成子地址內(nèi)存分配,根據(jù)添加的RT子地址動(dòng)態(tài)管理內(nèi)存,有效使用芯片的有限內(nèi)存資源。
圖6 RT工作流程圖Fig.6 Flow chart of the Remote Terminal
在中斷服務(wù)程序中,首先獲得關(guān)鍵字信息,包括RAM堆棧區(qū)域中4消息塊描述字、中斷狀態(tài)、中斷屏蔽字等;根據(jù)中斷狀態(tài)做出響應(yīng),如果是消息完成中斷,那么根據(jù)取回的關(guān)鍵字信息計(jì)算此次中斷與上次中斷之間收到消息個(gè)數(shù),把對(duì)應(yīng)的數(shù)據(jù)信息從芯片中取回到應(yīng)用程序中,顯示到界面中并保存。
BU-61580芯片提供了3種總線監(jiān)測(cè)模式,即字檢測(cè)模式、可選擇的消息檢測(cè)模式、同步終端/可選擇消息模式[2-3,7]。設(shè)計(jì)要求BM實(shí)現(xiàn)以下功能:BM 3種模式能夠可選擇;能夠訪問(wèn)61580片上資源;把總線上的所有數(shù)據(jù)實(shí)時(shí)取回來(lái),并將數(shù)據(jù)按照消息格式存儲(chǔ);能夠根據(jù)接收到的數(shù)據(jù)進(jìn)行分析,得出各個(gè)消息所代表的狀態(tài),并且分類統(tǒng)計(jì)。 BM模式設(shè)計(jì)流程圖如圖7所示。
在字監(jiān)測(cè)模式下,BM能監(jiān)測(cè)并存儲(chǔ)兩條總線上收到的所有的命令字、狀態(tài)字和數(shù)據(jù)字信息。采用多媒體定時(shí)器查詢方式,設(shè)置定時(shí)器每隔5 ms查詢一次RAM緩沖區(qū)指針,計(jì)算出與上次緩沖區(qū)指針之間的緩沖區(qū)大小,然后將數(shù)據(jù)取到緩沖區(qū)中,調(diào)用分割消息函數(shù)將其分割成一條完整的消息。下面是定時(shí)器查詢函數(shù)的代碼。
在可選擇消息監(jiān)測(cè)模式下,默認(rèn)監(jiān)測(cè)所有RT的消息,可以設(shè)置過(guò)濾某些RT消息。注冊(cè)BM中斷回調(diào)函數(shù),首先從RAM中取回狀態(tài)字、屏蔽字,然后根據(jù)不同的中斷類型做出響應(yīng);接著從堆棧區(qū)域中獲得4個(gè)描述字;根據(jù)描述字判斷消息是否有響應(yīng),數(shù)據(jù)字有多少個(gè);根據(jù)得到的數(shù)據(jù)字個(gè)數(shù)從數(shù)據(jù)棧中取出消息數(shù)據(jù);最后根據(jù)狀態(tài)字分析消息狀態(tài),歸類存放。中斷回調(diào)函數(shù)的偽代碼如下。
圖7 BM模式工作流程圖Fig.7 Flow chart of Bus Monitor
該測(cè)試系統(tǒng)為了測(cè)試DDC公司的BU-61580系列芯片,然后測(cè)試芯片的臨界點(diǎn)。在測(cè)試時(shí),首先打開測(cè)試軟件,然后打開模式時(shí)序調(diào)整模塊,這樣調(diào)整時(shí)序。最后選則芯片工作于BC、RT還是BM模式下,選擇完工作模式后,進(jìn)行相應(yīng)的初始化,以及設(shè)置。程序的部分操作界面如圖8所示。根據(jù)測(cè)試結(jié)果判斷芯片在該時(shí)序接口下工作是否正常,并在在暫停芯片工作時(shí),可以隨時(shí)打開操作內(nèi)存寄存器界面查看值以及修改值,達(dá)到能夠自動(dòng)測(cè)試或者可以手工設(shè)置的要求。
測(cè)試系統(tǒng)采用裝有61580芯片插槽能夠隨時(shí)更換芯片的BU61580芯片測(cè)試卡作為硬件平臺(tái),軟件設(shè)計(jì)采用模塊化設(shè)計(jì)思想,提高了系統(tǒng)的可擴(kuò)展性和可維護(hù)性。測(cè)試系統(tǒng)摒棄了以往測(cè)試手段,提供了友好的測(cè)試界面。目前該系統(tǒng)已經(jīng)交付用戶使用,實(shí)際應(yīng)用情況表明,該測(cè)試系統(tǒng)系統(tǒng)提高了測(cè)試效率,具有測(cè)試準(zhǔn)確、人機(jī)交互界面友好、簡(jiǎn)單、功能強(qiáng)大、穩(wěn)定性高等特點(diǎn),達(dá)到了設(shè)計(jì)目標(biāo)。
圖8 測(cè)試系統(tǒng)部分界面Fig.8 Interface chart of testing system
[1]賓辰忠,苗克堅(jiān).基于1553B總線的實(shí)時(shí)消息流實(shí)現(xiàn)與控制[J].計(jì)算機(jī)測(cè)量與控制,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.飛機(jī)內(nèi)部時(shí)分制指令/響應(yīng)式多路傳輸數(shù)據(jù)總線[S].美國(guó)軍用標(biāo)準(zhǔn),1978.
[3]GJB289A-97.數(shù)字式時(shí)分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線[S].1997.
[4]高志強(qiáng),苗克堅(jiān),張?chǎng)╄?彈載計(jì)算機(jī)1553B總線測(cè)試模塊設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,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總線接口仿真軟件設(shè)計(jì)[J].計(jì)算機(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]白宏陽(yáng),管雪元,薛曉中,等.基于DSP+FPGA的航空1553B總線RT設(shè)置方法[J].彈箭與指導(dǎo)學(xué)報(bào),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]蔣國(guó)鋒,白紅.1553B總線監(jiān)控器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(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.