馬濤 鄭鑫
摘 要: 針對(duì)飛機(jī)電氣參數(shù)測(cè)試系統(tǒng)具有采樣速率高,精度高,通道多且可變的特點(diǎn),提出了用CPLD實(shí)現(xiàn)通道高速輪巡的新方法,使用Verilog HDL語言在MAX+Plus Ⅱ環(huán)境下對(duì)方案的功能進(jìn)行了仿真,結(jié)果證明了方案的有效性,并且這一技術(shù)已成功應(yīng)用于新型飛機(jī)電氣參數(shù)測(cè)試系統(tǒng)。
關(guān)鍵詞: CPLD; Verilog HDL; 電氣參數(shù)測(cè)試系統(tǒng); 通道輪巡
中圖分類號(hào): TN606?34; TP216 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)05?0114?03
Application of CPLD in airplane electrical parameter testing system
MA Tao1, ZHENG Xin2
(1. ZTE Intelligent IOT Technology Co., Ltd, Tianjin 300308, China; 2. ZTE Communication Corporation, Tianjin 300308, China)
Abstract: According to the traits of high speed, high precision, multi?channel and channel changeability of the airplane electrical parameter testing systems, a new method to implement high?speed channel cycle by CPLD (complex programmable logic device) is presented. The Verilog HDL was adopted to do function simulation of the method in MAX+PLUS II. The simulation result indicates the validity of this method. This technology has been triumphantly used in the electrical parameter testing system of a new airplane.
Keywords: CPLD; Verilog HDL; electrical parameter testing system
0 引 言
近年來,隨著我國航空技術(shù)的迅速發(fā)展,不同型號(hào)飛機(jī)的機(jī)載電氣系統(tǒng)要求滿足不同的飛機(jī)供電特性的標(biāo)準(zhǔn),因此提出了一種新型的基于PCI總線數(shù)據(jù)采集卡的高性能、多用途的電氣參數(shù)測(cè)試系統(tǒng)。該系統(tǒng)能夠測(cè)試我國軍用標(biāo)準(zhǔn)GJB?181?86及GJB?181A?2003以及美國軍用標(biāo)準(zhǔn)MIL?STD?704A,MIL?STD?704C,MIL?STD?704E[1]等的各項(xiàng)電氣參數(shù)指標(biāo),由于該系統(tǒng)需要允許對(duì)72路通道同時(shí)采樣,并且A/D轉(zhuǎn)換精度要達(dá)到14位,然而現(xiàn)有的數(shù)據(jù)采集卡很難同時(shí)達(dá)到這樣的要求,因此采用具有同步4通道14位分辨率的DAQ?2010數(shù)據(jù)采集卡,并通過5個(gè)16路多路開關(guān)將通道數(shù)擴(kuò)展為80路供測(cè)試使用,然而如何能夠根據(jù)用戶要求對(duì)所選通道進(jìn)行輪巡測(cè)試,成為該系統(tǒng)最大的難點(diǎn),本文提出了用CPLD(復(fù)雜可編程邏輯器件)實(shí)現(xiàn)高速采樣條件下對(duì)多通道進(jìn)行輪巡的新方法,并給出時(shí)序仿真和功能仿真圖。在仿真基礎(chǔ)上,該系統(tǒng)已研制完成并成功在某飛機(jī)研究所投入使用,取得了很好效果。
1 測(cè)試系統(tǒng)結(jié)構(gòu)及工作原理簡(jiǎn)介
該測(cè)試系統(tǒng)的結(jié)構(gòu)如圖1所示。工作時(shí),首先由工控機(jī)將所需開通的通道數(shù)目和相應(yīng)通道編號(hào)信息傳遞給通道轉(zhuǎn)換電路(由單片機(jī)、CPLD以及SRAM組成),使之按所需要的開通順序和數(shù)目依次開通對(duì)應(yīng)的多路開關(guān),經(jīng)過調(diào)理的電壓和電流信號(hào)通過轉(zhuǎn)接適配器進(jìn)入A/D卡,工控機(jī)系統(tǒng)(包含數(shù)據(jù)采集卡DAQ?2010)對(duì)電壓、電流、功率、頻譜和相位等信號(hào)參數(shù)進(jìn)行數(shù)據(jù)采集、計(jì)算、分析、顯示、存儲(chǔ)和打印,并套用相關(guān)標(biāo)準(zhǔn)限制曲線圖形,使標(biāo)準(zhǔn)規(guī)定的極限曲線與試驗(yàn)數(shù)據(jù)填充曲線進(jìn)行對(duì)比,以此評(píng)估飛機(jī)電氣系統(tǒng)設(shè)計(jì)的精度和誤差,并實(shí)現(xiàn)對(duì)飛機(jī)電氣系統(tǒng)試驗(yàn)過程中的實(shí)時(shí)監(jiān)控。
2 輪巡電路工作原理
CPLD是一種具有豐富的可編程I/O引腳的可編程邏輯器件,具有在系統(tǒng)可編程、使用方便靈活的特點(diǎn);不但可實(shí)現(xiàn)常規(guī)的邏輯器件功能,還可實(shí)現(xiàn)復(fù)雜的時(shí)序邏輯功能。把CPLD應(yīng)用于嵌入式應(yīng)用系統(tǒng),同單片機(jī)結(jié)合起來,更能體現(xiàn)其在系統(tǒng)可編程、使用方便靈活的特點(diǎn)。在本系統(tǒng)中,采用了CPLD和單片機(jī)配合的方案對(duì)通道進(jìn)行輪巡采樣,系統(tǒng)工作時(shí)主要分為兩個(gè)步驟:
(1) 用戶根據(jù)自己的需求將需要測(cè)試的通道信息(包括要采集的通道數(shù)目和具體要采集的通道編號(hào))通過工控機(jī)傳遞給圖1的單片機(jī),然后由單片機(jī)將通道編號(hào)作為數(shù)據(jù)寫入SRAM組中(SRAM中每一組數(shù)據(jù)控制相應(yīng)的多路開關(guān)的使能信號(hào)和通道選通信號(hào)),接下來單片機(jī)再讀回寫入的數(shù)據(jù),驗(yàn)證是否正確。
(2) CPLD產(chǎn)生SRAM組片選信號(hào)[CSO、]讀控制信號(hào)[RDO、]地址信號(hào)ADDR來讀取SRAM中的信息,這些信息就成為多路開關(guān)的選通信號(hào),隨即實(shí)現(xiàn)相應(yīng)多路開關(guān)通道的開通,這樣就完成了對(duì)所需通道的輪巡。
3 CPLD程序設(shè)計(jì)及仿真
本系統(tǒng)中CPLD程序設(shè)計(jì)的主要任務(wù)包括:
(1) 接收單片機(jī)對(duì)系統(tǒng)工作要求的信號(hào):如用戶需要輪巡的通道數(shù)、時(shí)鐘分頻數(shù)、復(fù)位信號(hào)以及系統(tǒng)工作時(shí)鐘。
(2) 對(duì)用戶選擇的通道進(jìn)行輪巡,編程實(shí)現(xiàn)譯碼器對(duì)MA12~MA15進(jìn)行譯碼產(chǎn)生SRAM組的片選信號(hào)[CSO,]根據(jù)[RD,][WR]信號(hào)產(chǎn)生SRAM組的讀、寫信號(hào)[RDO,][WRO,]結(jié)合時(shí)鐘自動(dòng)產(chǎn)生SRAM的地址信號(hào),相應(yīng)SRAM的地址對(duì)應(yīng)相應(yīng)測(cè)試通道的開通。
(3) 實(shí)現(xiàn)CPLD與SRAM之間控制及地址線的隔離,從單片機(jī)接收的控制信號(hào)[RD,WR]以及CPLD自己產(chǎn)生的SRAM地址信號(hào)均通過編程實(shí)現(xiàn)的三態(tài)門,這樣就可以實(shí)現(xiàn)高阻態(tài),從而完成隔離作用。
CPLD程序設(shè)計(jì)采用Verilog HDL語言在MAX+PlusⅡ環(huán)境下進(jìn)行開發(fā),MAX+Plus Ⅱ的設(shè)計(jì)輸入方法有很多種,本次設(shè)計(jì)采用了原理圖輸入、文本輸入以及層次輸入三種方法,并運(yùn)用了頂層開發(fā)原理。
3.1 CPLD頂層開發(fā)
CPLD的頂層開發(fā)模塊如圖2所示。
其中上方的模塊主要產(chǎn)生SRAM地址(即實(shí)現(xiàn)通道輪巡),下方的模塊主要用于對(duì)各控制信號(hào)進(jìn)行隔離。其中CLK為CPLD工作時(shí)鐘,寫SRAM時(shí)的片選信號(hào)SRAM1O~SRAM3O、讀寫控制信號(hào)[WRO、][RDO、]讀SRAM時(shí)的片選信號(hào)SRAMO、SRAM讀信號(hào)SRAM_RD可以完成總線隔離功能。
3.2 通道輪巡模塊程序設(shè)計(jì)[2?3]
CPLD通道輪巡的部分程序如下:
Module cpld3 (clk, WR, CH_NUM, chanl_num, addr_rst, latch_f,sram_addr,sramo1,sram_rd1);
input clk;
input[6:0] chanl_num;
input addr_rst;
input latch_f;
input WR;
output[6:0] sram_addr;
output sramo1,sram_rd1;
output CH_NUM;
wire addr_clk;
reg[6:0] count;
reg[6:0] sram_addr1;
reg[2:0] num;
assign sramo1 = latch_f;
assign sram_rd1 = latch_f|(!clk);
assign addr_clk = (!latch_f)&clk;
always@(negedge addr_clk or negedge addr_rst)
begin
if(!addr_rst)
begin
sram_addr1<=7′b0000000;
count<=chanl_num;
end
else if(count==7′b0000001)
begin
count<=chanl_num;
sram_addr1<=7′b0000000;
end
else
begin
count<=count-1;
sram_addr1<=sram_addr1+1;
end
end
endmodule
3.3 總線隔離模塊設(shè)計(jì)[4]
CPLD完成對(duì)地址及數(shù)據(jù)線隔離的模塊設(shè)計(jì)如圖3所示(圖中左側(cè)為輸入管腳,右側(cè)為輸出管腳)。
3.4 CPLD功能及時(shí)序仿真[4]
仿真時(shí)選用的器件是Altera公司生產(chǎn)的EPM7128LC84?6型CPLD芯片,通過MAX+Plus Ⅱ的GDI輸入方法編輯.SCF(仿真通道文件)文件進(jìn)行功能時(shí)序仿真,系統(tǒng)工作時(shí)的時(shí)序如圖4所示。通過對(duì)仿真波形進(jìn)行分析可以得出:這種新型通道輪巡方法在功能上是完全符合要求的,并且其輪換速率可以達(dá)到百兆,遠(yuǎn)高于飛機(jī)電氣參數(shù)測(cè)試標(biāo)準(zhǔn)的要求,若對(duì)程序做進(jìn)一步優(yōu)化設(shè)計(jì),可以達(dá)到更高的速率。
4 結(jié) 語
經(jīng)過仿真試驗(yàn)證明采用CPLD在高速采樣條件下對(duì)多通道進(jìn)行輪巡采集的設(shè)計(jì)方案是可行的,并且這一技術(shù)已應(yīng)用于新開發(fā)的一套飛機(jī)電氣參數(shù)測(cè)試系統(tǒng)中,大幅度提高了地面電氣參數(shù)測(cè)試的效率,并且該技術(shù)亦可在其他數(shù)據(jù)采集領(lǐng)域應(yīng)用。
參考文獻(xiàn)
[1] 國防科學(xué)技術(shù)工業(yè)委員會(huì).GJB181?86 飛機(jī)供電特性及對(duì)用電設(shè)備的要求[S].北京:國防科學(xué)技術(shù)工業(yè)委員會(huì),1986.
[2] 夏宇聞.Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2003.
[3] 王金明,楊吉斌.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL[M].北京:電子工業(yè)出版社,2002.
[4] 東方人華.MAX+PlusⅡ入門與提高[M].北京:清華大學(xué)出版社,2004.
[5] 李玉學(xué),白忠臣,秦水介.基于Verilog HDL的FIR數(shù)字濾波器的優(yōu)化設(shè)計(jì)與仿真[J].現(xiàn)代電子技術(shù),2014,37(7):154?156.
[6] 張艷春.數(shù)字電子系統(tǒng)的EDA設(shè)計(jì)方法研究[J].現(xiàn)代電子技術(shù),2009,32(17):188?190.