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