張亮紅,杜文略,劉文怡
(中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室 電子測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,太原 030051)
隨著科技的快速發(fā)展,航空航天設(shè)備、軍用系統(tǒng)等高科技產(chǎn)品的開發(fā)規(guī)模和復(fù)雜程度都有了質(zhì)的飛躍。自動(dòng)測(cè)試系統(tǒng)ATS的高可靠性使其逐漸替代人工檢測(cè)并廣泛地應(yīng)用于航空航天領(lǐng)域,為航空航天產(chǎn)品研發(fā)、生產(chǎn)等各個(gè)環(huán)節(jié)提供了有效保障。測(cè)試系統(tǒng)及控制系統(tǒng)有許多接口,為了在實(shí)驗(yàn)室情況下對(duì)測(cè)量系統(tǒng)各種對(duì)外接口進(jìn)行全面測(cè)試,提高等效器應(yīng)用的廣泛性,設(shè)計(jì)了基于FPGA的多通信接口的外系統(tǒng)等效器,使其可以與PCI接口、USB接口或以太網(wǎng)接口的測(cè)試系統(tǒng)進(jìn)行聯(lián)合使用[1]。
該等效器采用模塊化設(shè)計(jì),以增強(qiáng)其通用性、可靠性、智能性,而且出現(xiàn)問題后可以高效解決。等效器系統(tǒng)通過PCI接口、USB接口或以太網(wǎng)接口接收上位機(jī)的下發(fā)命令,再通過光電轉(zhuǎn)換模塊經(jīng)光纖將命令、數(shù)據(jù)與背板進(jìn)行交互,再由背板通過RS422接口向各個(gè)功能板卡轉(zhuǎn)發(fā)命令控制相應(yīng)板卡電路產(chǎn)生相應(yīng)信號(hào),各個(gè)信號(hào)在不同板卡上,避免其相互干擾,且方便進(jìn)行功能改造及升級(jí)。
等效器系統(tǒng)框架如圖1所示,外系統(tǒng)等效器主要包括雙模通信接口板、背板、模擬信號(hào)板、指令信號(hào)板、數(shù)字量信號(hào)板、脈沖信號(hào)板,實(shí)現(xiàn)外系統(tǒng)等效器的信號(hào)源功能。
圖1 系統(tǒng)總體結(jié)構(gòu)Fig.1 System architecture
工控機(jī)通過VB編寫的上位機(jī)軟件與外系統(tǒng)等效器多通信接口板的PCI接口、USB接口或以太網(wǎng)接口進(jìn)行命令、數(shù)據(jù)的交互。外系統(tǒng)等效器采用模塊化設(shè)計(jì)方式,按照功能設(shè)計(jì)板卡,外系統(tǒng)等效器通過光纖將多通信接口板接收的上位機(jī)命令及數(shù)據(jù)傳輸給背板,再通過背板RS422接口將命令轉(zhuǎn)發(fā)至各功能板。各功能板接收到背板發(fā)送的數(shù)據(jù)或命令信息進(jìn)行命令解析,按照寄存器執(zhí)行各通道功能[2]。
PCI總線傳輸速率高,數(shù)據(jù)位為32位時(shí),數(shù)據(jù)傳輸最大可達(dá)132 MB/s,當(dāng)數(shù)據(jù)寬度擴(kuò)展為64位時(shí),傳輸速率可達(dá)到264 MB/s。因此本設(shè)計(jì)將PCI接口作為與上位機(jī)通信的接口之一。PCI9054是PXI公司的PCI接口芯片,它集成了PCI接口協(xié)議,在本設(shè)計(jì)中采用PCI9054作為PCI總線與FPGA的橋接芯片,PCI9054符合PCI2.2協(xié)議,工作時(shí)鐘支持33 MHz和66 MHz,數(shù)據(jù)總線支持32位和 64位,它與FPGA的硬件接口框圖如圖2所示。
圖2 PCI與FPGA硬件連接圖Fig.2 Hardware connection diagram of PCI and FPGA
PCI9054的數(shù)據(jù)傳輸模式有3種:主模式、從模式、DMA模式。本設(shè)計(jì)選擇PCI9054從模式,PCI9054作為本地總線主控設(shè)備通過和進(jìn)行本地總線仲裁。仲裁過程為當(dāng)PCI9054收到PCI端發(fā)出的讀寫命令后,向LOCAL端即FPGA發(fā)出信號(hào),表明PCI端已經(jīng)準(zhǔn)備就緒,返回信號(hào)至PCI9054,表明雙方都已準(zhǔn)備好,可以進(jìn)行正常的數(shù)據(jù)傳輸,否則需等待12個(gè)CLK就釋放總線。
USB接口是PC機(jī)常用的通信接口之一,以數(shù)據(jù)傳輸可靠穩(wěn)定、通用性強(qiáng)、擴(kuò)展性強(qiáng)、支持熱插拔等優(yōu)勢(shì)廣泛應(yīng)用于各個(gè)領(lǐng)域的產(chǎn)品開發(fā)。FTDI公司的FT245L避免了計(jì)算機(jī)驅(qū)動(dòng)程序及對(duì)其固件程序開發(fā),有效縮短開發(fā)周期,傳輸速率1 MB/s可以滿足本設(shè)計(jì)要求。FT245RL接口電路如圖3所示,F(xiàn)T245RL有總線供電和自供電2種供電模式,本系統(tǒng)功耗較大,設(shè)計(jì)中選擇自供電模式。FT245RL供電電壓支持3.3 V~5 V,設(shè)計(jì)中選用5 V供電以滿足大功耗需求。
圖3 正弦交流信號(hào)電路圖Fig.3 Circuit diagram of sinusoidal AC signal
為了降低外界及電磁干擾對(duì)USB接口數(shù)據(jù)傳輸造成的影響,一方面在USB接口電源接口需增加磁珠以減少設(shè)備與主機(jī)的干擾,另一方面在USB接口數(shù)據(jù)傳輸線中串入濾波器ADCM2012減少紋波引起的干擾。
本系統(tǒng)選用WizNet公司的W5300設(shè)計(jì)以太網(wǎng)接口與主機(jī)通信。此芯片集介質(zhì)訪問控制管理、物理層控制、固件通信協(xié)議于一體,大大簡化了接口設(shè)計(jì)工作,提高了設(shè)計(jì)效率。設(shè)計(jì)中W5300采用直接尋址模式,F(xiàn)PGA將W5300配置成接收模塊,在直接尋址模式下,F(xiàn)PGA通過地址總線可以訪問W5300的內(nèi)部寄存器。以太網(wǎng)與FPGA的連接如圖4所示。
圖4 W5300與FPGA管腳連接圖Fig.4 Pin connection diagram of W5300 with FPGA
設(shè)計(jì)中BIT16EN為高電平,設(shè)置為16位數(shù)據(jù)總線;TEST_MODE[3:0]和 OP_MODE[3:0]引腳接地,配置為全功能自動(dòng)握手工作模式;W5300與RJ45之間接入隔離變壓器,既能提高穩(wěn)定性和抗噪性又能保護(hù)接口電路[3]。
模擬量板的電路設(shè)計(jì)中,數(shù)字隔離電路設(shè)計(jì)、D/A轉(zhuǎn)換電路設(shè)計(jì)及調(diào)理電路設(shè)計(jì)是設(shè)計(jì)關(guān)鍵。此板卡主要功能是通過FPGA控制輸出48路12 bit包含數(shù)字量信息的串行數(shù)據(jù),經(jīng)過ADuM1400進(jìn)行數(shù)模隔離后由AD5628實(shí)現(xiàn)DA轉(zhuǎn)換,再經(jīng)軌到軌的運(yùn)算放大器OPA4234進(jìn)行電壓偏置、電壓放大或電壓跟隨, 得到-10 V~10 V、-5 V~5 V、0~5 V、-5 V~0的直流量。對(duì)于不同幅值的直流量信號(hào),上位機(jī)通過控制寄存器及命令配置改變數(shù)字信號(hào),通過DA轉(zhuǎn)換產(chǎn)生小幅度的電壓變化,經(jīng)過信號(hào)調(diào)理電路得到所需電壓。一般數(shù)模轉(zhuǎn)換會(huì)采取DA轉(zhuǎn)換芯片與模擬開關(guān)相結(jié)合的方法實(shí)現(xiàn),而本設(shè)計(jì)中1片AD5628可以通過芯片內(nèi)部寄存器實(shí)現(xiàn)8路DA模擬輸出,替代了模擬開關(guān)的功能,優(yōu)化了設(shè)計(jì)。如圖5所示以1片AD5628八路模擬量輸出為例介紹了模擬板硬件原理圖設(shè)計(jì)。
FPGA對(duì)PCI9054邏輯控制過程如下:
(1)復(fù)位。當(dāng)全局復(fù)位信號(hào)reset#使能,狀態(tài)機(jī)進(jìn)入全局復(fù)位狀態(tài);
(2)仲裁。PCI9054通過有效hold來申請(qǐng)本地總線,若hold置高,表示PCI總線已經(jīng)準(zhǔn)備好數(shù)據(jù),F(xiàn)PGA檢測(cè)到hold有效后,向PCI9054返回hold有效值(高電平),說明PCI總線和本地總線都已準(zhǔn)備好,可以進(jìn)行下一步操作[4];
(3)啟動(dòng)讀寫操作。FPGA檢測(cè)地址鎖存信號(hào)ads#是否有效,ads#為低電平意味著開啟了新的總線訪問有效地址,可以進(jìn)行讀寫操作;
圖5 模擬量板硬件電路設(shè)計(jì)Fig.5 Hardware circuit design of analog board
(4)讀寫操作。FPGA檢測(cè)PCI9054的wr來確定是讀操作還是寫操作,wr為低進(jìn)入讀模式,否則進(jìn)入寫模式,在讀模式中,F(xiàn)PGA會(huì)讀取對(duì)應(yīng)地址寄存器中的內(nèi)容,包括讀取PCI卡的狀態(tài)信息、讀取批量的上傳數(shù)據(jù)。在寫模式中,通過判斷寄存器地址,向FPGA的緩存寄存器中寫入32位命令,并按照標(biāo)準(zhǔn)協(xié)議對(duì)32位命令進(jìn)行打包下發(fā)。
系統(tǒng)中主要以FPGA控制W5300實(shí)現(xiàn)以太網(wǎng)通信,在正確配置之前先對(duì)其進(jìn)行初始化,分為3步。
第1步建立后綴名為coe的文件:先建立后綴名為txt的文本文檔,定義數(shù)據(jù)的進(jìn)制,以及定義寄存器地址及寄存器的值,每個(gè)寄存器地址和值之間以逗號(hào)結(jié)束,然后將后綴名改為coe文件;
第2步在ISE10.1軟件中新建一個(gè)IP core,并將其命名為rom,深度為64,寬度為16,讀取方式為只讀。按照索引載入第一步建立的后綴名為coe的文件。點(diǎn)擊生成,就可以生成rom;
第3步編寫VHDL程序,并讀取IP核中的數(shù)據(jù)[5]。
data.coe文件中存儲(chǔ)的寄存器值及其含義如表1所示。
表1 寄存器值及其含義Tab.1 Register values and meanings
以產(chǎn)生的PCM碼流為例,PCM碼流的檢測(cè)需要另一塊數(shù)字量板實(shí)現(xiàn)發(fā)送字同步信號(hào)、位同步信號(hào),并將接收到的PCM碼流上傳到上位機(jī)進(jìn)行檢測(cè)。如圖6所示為測(cè)試板發(fā)出的字同步、位同步信號(hào)[6]。
圖6 測(cè)試板字同步和位同步信號(hào)Fig.6 Test board word synchronization and bit synchronization signal
如圖7所示為在位同步上升沿發(fā)送的一個(gè)PCM數(shù)據(jù),測(cè)試系統(tǒng)接收PCM數(shù)據(jù)會(huì)在位同步的下降沿接收。
圖7 位同步信號(hào)與PCM信號(hào)Fig.7 Sync signal and PCM signal
測(cè)試板收到PCM數(shù)據(jù)會(huì)上傳至上位機(jī),上位機(jī)會(huì)存儲(chǔ)數(shù)據(jù)文件,如圖8所示。此數(shù)據(jù)包設(shè)定模式為遞增數(shù),幀頭、幀尾分別設(shè)為0xEB90、0x146,幀長度設(shè)為256字節(jié)。
圖8 PCM碼流數(shù)據(jù)文件Fig.8 PCM stream data file
本文研究設(shè)計(jì)了一種應(yīng)用于測(cè)量系統(tǒng)與飛行器控制系統(tǒng)的等效接口,產(chǎn)生各種測(cè)試所需的信號(hào),以達(dá)到在實(shí)驗(yàn)室、總裝廠以及技術(shù)陣地能全面模擬外系統(tǒng)配合測(cè)量系統(tǒng)進(jìn)行系統(tǒng)測(cè)試。通過對(duì)系統(tǒng)實(shí)測(cè)數(shù)據(jù)和波形的分析結(jié)果顯示,系統(tǒng)能準(zhǔn)確通過PCI、USB或以太網(wǎng)接口接收上位機(jī)發(fā)送的命令,控制各個(gè)功能模塊產(chǎn)生所需的信號(hào),已成功用于某航天測(cè)試系統(tǒng)中。
[1]蘇虎平.集成多總線的等效測(cè)試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].太原:中北大學(xué),2013.
[2]連恒興.集成多總線接口的外系統(tǒng)等效器設(shè)計(jì)與實(shí)現(xiàn)[D].太原:中北大學(xué),2012.
[3]李勛,劉文怡.基于FPGA的以太網(wǎng)接口設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀表,2014,29(5):57-60.
[4]任永峰.飛航導(dǎo)彈遙測(cè)匹配裝置自動(dòng)監(jiān)測(cè)系統(tǒng)研究[D].太原:中北大學(xué),2000.
[5]陳嫣然,張會(huì)新,鄭燕露.基于PCI9054的通信卡設(shè)計(jì)[J].電視技術(shù),2012,36(5):33-34.
[6]蘇虎平,沈三民,劉文怡,等.基于USB和FPGA的多功能等效器設(shè)計(jì)[J].電視技術(shù),2012,36(23):50-53.