基于PCI總線的ARINC429接口卡設(shè)計
摘要:利用PCI專用接口芯片PCI9052和DEI1016 429總線收發(fā)芯片設(shè)計了ARINC429接口卡,采用DSP作為主控CPU完成數(shù)據(jù)自動處理,用雙口RAM完成DSP與PCI總線數(shù)據(jù)交換。實驗表明:所設(shè)計的接口卡傳輸效率高,可靠性好,開發(fā)簡單。
關(guān)鍵詞:PCI總線;ARINC429總線;DSP;雙口RAM;WinDriver
在現(xiàn)代軍、民用飛機和導(dǎo)彈上,系統(tǒng)間需要傳輸大量信息,隨著數(shù)字技術(shù)的發(fā)展和微型電子計算機的出現(xiàn),越來越多的航空電子設(shè)備已經(jīng)采用航空數(shù)據(jù)總線進行通訊。其中ARINC429作為一種數(shù)字信息傳輸系統(tǒng)已成為航空電子系統(tǒng)通訊規(guī)定的航空工業(yè)標準。目前,ARINC429總線廣泛應(yīng)用與軍事科技領(lǐng)域。從戰(zhàn)斗機到直升機甚至應(yīng)用于導(dǎo)彈系統(tǒng)中?,F(xiàn)有產(chǎn)品中,對ARINC429電路形式各具特點,接口上有基于PCI、ISA、PC/104和VXI,板載處理器有的為MCS-51、Intel80196、Intel80386、FPGA等,功能繁多,使用復(fù)雜,也勢必造成了數(shù)據(jù)通訊板卡價格昂貴。采用FPGA現(xiàn)場可編程門陣列的設(shè)計雖然能夠簡化硬件設(shè)計,但開發(fā)難度大、周期長。本文綜合各個方案特點提出了一種周期短、低成本、具有很高實用價值的基于PCI接口和DSP為主控CPU的ARINC429數(shù)據(jù)接口實施方案,并簡要介紹了軟硬件實現(xiàn)。
1 ARINC429總線簡介
ARINC429是一種單向式廣播式數(shù)字總線,傳輸?shù)慕橘|(zhì)由雙絞線組成,本質(zhì)屬于串行通訊范疇。系統(tǒng)規(guī)定,在一對傳輸線上,不允許雙向傳輸數(shù)據(jù)信息,調(diào)制方式采用雙極歸零制(BPRZ)三態(tài)碼方式,數(shù)據(jù)發(fā)送時經(jīng)過二級差分驅(qū)動,如圖1所示,前級V+、V-是TTL電平,ARINC429正常傳輸電壓在10±1 V范圍內(nèi),并有正負電壓之分,信號電平范圍可以表征3個狀態(tài),邏輯“1”電平電壓7.25:11V(A B之間),邏輯“0”電平電壓-7.25:-11 V(AB之間),空狀態(tài)電平電壓-0.5:0.5V(AB之間),在連續(xù)傳送數(shù)據(jù)時,每32位字之間至少插入個空狀態(tài)進行隔離,總線數(shù)據(jù)傳輸順序為1,2,3,4,5,6,7,8,9,10,11,12,13…32。
2 總體方案設(shè)計
ARINC429總線接口卡主要功能是在ARINC429總線與PCI總線之間起到橋梁作用,實現(xiàn)429總線數(shù)據(jù)信息的接收和發(fā)送。本文總體設(shè)計思想是:選用TI公司的TMS320LF2407作為主控CPU;以ARINC429專用芯片DEI1016和BD429為核心設(shè)計了ARINC429總線通訊模塊來完成數(shù)據(jù)的收發(fā)任務(wù);CPU與計算機數(shù)據(jù)交換采用PCI總線,為了縮短開發(fā)時間與難度,選用PCI專用接口芯片PCI9052來實現(xiàn)。
2.1 CPU模塊的選擇
TMS320LF2407是TI公司推出的成本低,高性能的面向控制的16位定點DSP,其片內(nèi)32K Flash,2k字SRAM,544字的DARAM可省去片外固化存儲器,簡化接口電路設(shè)計,TMS320L22407具有40個可單獨編程或復(fù)用通用IO口,可部分實現(xiàn)429收發(fā)芯片的控制工作。
2.2 429總線接口電路
目前ARINC429收發(fā)器以Device Engineering公司的DEI1016和BD429以及HARRIS公司的HS3282和HS3281應(yīng)用最為廣泛,2種芯片邏輯上完全兼容,DEI1016是高性能COMS型429接口,能夠滿足類似的時分多路串行數(shù)據(jù)通訊,整個芯片只需單5 V工作電源,它具有2路接收一路發(fā)送,接收器和發(fā)送器相互獨立,同時工作,BD429是滿足ARINC429規(guī)范的,雙極數(shù)據(jù)輸入的線驅(qū)動器。圖2為ARINC429總線收發(fā)的經(jīng)典電路,發(fā)送時DEI1016為前極輸出,BD429為正式差分輸出。
[!--empirenews.page--]
2.3 數(shù)據(jù)緩沖器
DSP與PCI橋接芯片實現(xiàn)實時數(shù)據(jù)傳輸,本設(shè)計選擇雙口RAM的通訊方式,雙口RAM具有2套完全獨立的數(shù)據(jù)、地址和控制總線,內(nèi)部含有總線仲裁電路,可以實現(xiàn)PCI總線與DSP之間高速的數(shù)據(jù)緩沖和交換。
2.4 系統(tǒng)的總體設(shè)計
ARINC429接口卡硬件總體設(shè)計如圖3所示,由于PCI9052是PCI總線專用橋接芯片,所以在PCI側(cè)的硬件連接上只需要將PCI9052芯片上和PCI總線有關(guān)的地址、數(shù)據(jù)、控制和狀態(tài)信號線直接掛接到計算機PCI總線上即可。對于DSP,雙口RAM作為LF2407片外數(shù)據(jù)存儲器,需要將其映射到片外數(shù)據(jù)空間地址為8000h~FFFFh處,如圖4所示,只有當有效和A15為高電平時選中雙端口RAM芯片,此時DSP占有的片外數(shù)據(jù)空間地址為8000h~FFFFh;在PCI9052一側(cè),由于IDT7027數(shù)據(jù)總線為16位,所以在配置EEPROM時把PCI9052局部總線配置成16位寬的數(shù)據(jù)總線,PCI總線按字節(jié)(8bit)尋址,局部總線以字(16bit)尋址,所以雙口RAM地址線AL[14:1]由PCI9052局部端地址總線LA[15:2]提供,AID由LBE1單獨提供。這樣完成了數(shù)據(jù)存儲空間與地址的一一對應(yīng),系統(tǒng)譯碼,電平轉(zhuǎn)換采用CPLD來實現(xiàn)。
3 軟件設(shè)計
3.1 PCI設(shè)備驅(qū)動程序
本ARINC429接口卡為一個PCI設(shè)備,必須在Windows下自行開發(fā)該PCI設(shè)備的驅(qū)動程序,驅(qū)動程序用WinDriver來編寫,它以通用設(shè)備驅(qū)動程序Windrvr.vxd和Windrvr.sys為核心,包含一個WinDriver Wizard代碼生成器,一個WinDriver發(fā)行包,該軟件針對PLX和AMCC的專用接口芯片特別編寫了API函數(shù)包,這些函數(shù)可以方便的實現(xiàn)中斷處理,DMA傳輸,I/O操作、內(nèi)存映射以及即插即用等功能,為系統(tǒng)程序的開發(fā)提供了便利,降低了難度。
[!--empirenews.page--]
3.2 DSP控制程序
上位機程序通過PCI總線將待發(fā)送的數(shù)據(jù)塊寫入到雙口RAM中并通知DSP讀取信息,由于PCI側(cè)與DSP側(cè)的RAM地址一一對應(yīng),這樣DSP只需在相應(yīng)的內(nèi)存地址讀取相應(yīng)的信息,完成對DSP的初始化,DEI1016的配置及其429數(shù)據(jù)的發(fā)送和接收。DEI1016初始化時可以配置字長為32 Bit或25 Bit,發(fā)送和接收的速率可以設(shè)置為工作時鐘的十分之一或八十分之一,當DEI1016接收到完整429數(shù)據(jù)后向DSP申請中斷,響應(yīng)的雙口RAM中與PCI見圖5。
4 結(jié)束語
由整個設(shè)計方案看出,主要的功能芯片都是選用專用的芯片來完成,用DSP實現(xiàn)429總線和PCI總線之間的數(shù)據(jù)通訊,省去了EPROM、RA M,鎖存器等外圍電路,使設(shè)計簡單、有效、又能保證可靠性,合理使用CPLD又增強了板卡的集成度。該接口卡通過與某型導(dǎo)彈產(chǎn)品試驗室聯(lián)試證明其設(shè)計上能夠滿足ARINC429數(shù)據(jù)傳輸要求,通訊協(xié)議幀數(shù)、發(fā)送周期等通過DSP靈活定制,降低了應(yīng)用程序開發(fā)復(fù)雜度,數(shù)據(jù)傳輸快,可靠性高。