文獻(xiàn)標(biāo)識(shí)碼:A
DOI: 10.19358/j.issn.2096-5133.2018.08.016
中文引用格式:馮傳均,何泱,戴文峰.基于FPGA的猝發(fā)多脈沖產(chǎn)生系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù)與網(wǎng)絡(luò)安全,2018,37(8):70-72.
0 引言
脈沖功率技術(shù)是一種功率壓縮技術(shù),以較低的輸入功率將能量緩慢存儲(chǔ)起來(lái),隨后在極短時(shí)間內(nèi)釋放,以獲得極高的峰值輸出功率。該技術(shù)是應(yīng)國(guó)防科技需要而發(fā)展起來(lái)的一門新興科學(xué)技術(shù),是獲得高電壓、大電流等極端電磁參數(shù)的重要手段,被廣泛應(yīng)用在科學(xué)研究和工業(yè)生產(chǎn)等諸多領(lǐng)域中[1-3]。
脈沖功率裝置一般由初級(jí)能源系統(tǒng)、中間儲(chǔ)能系統(tǒng)、脈沖形成系統(tǒng)、開關(guān)轉(zhuǎn)換系統(tǒng)和負(fù)載系統(tǒng)5個(gè)子系統(tǒng)組成。工作時(shí),初級(jí)能源系統(tǒng)用于為脈沖功率裝置供能,將能量輸送至中間儲(chǔ)能系統(tǒng)中;中間儲(chǔ)能系統(tǒng)常見遠(yuǎn)重頻或猝發(fā)脈沖功率裝置,通過(guò)初步功率壓縮為脈沖形成系統(tǒng)供能;脈沖形成系統(tǒng)充電完成后,通過(guò)開關(guān)轉(zhuǎn)換系統(tǒng)將能量快速傳遞給負(fù)載系統(tǒng),實(shí)現(xiàn)脈沖功率輸出。
猝發(fā)脈沖是指脈沖功率裝置在一次工作周期中輸出的多個(gè)相同的高功率脈沖,是為了滿足特定的工業(yè)及科研需求而發(fā)展起來(lái)的一種脈沖功率技術(shù)。要實(shí)現(xiàn)猝發(fā)脈沖方式工作,脈沖功率裝置各個(gè)子系統(tǒng)需要按照一定的時(shí)序協(xié)調(diào)工作。為此需要研制一套猝發(fā)多脈沖產(chǎn)生系統(tǒng),控制脈沖功率裝置各個(gè)子系統(tǒng)按要求工作,同時(shí)要實(shí)現(xiàn)可調(diào)的猝發(fā)脈沖參數(shù)。
本文采用FPGA控制芯片作為猝發(fā)多脈沖產(chǎn)生系統(tǒng)控制中樞,接收上位機(jī)控制命令,實(shí)現(xiàn)猝發(fā)多脈沖信號(hào)產(chǎn)生。該系統(tǒng)可輸出2路猝發(fā)多脈沖信號(hào),猝發(fā)脈沖串個(gè)數(shù)1~5個(gè)可調(diào),猝發(fā)脈沖串間隔1~200 s可調(diào),猝發(fā)脈沖串內(nèi)部脈沖個(gè)數(shù)1~5個(gè)可調(diào),猝發(fā)脈沖串內(nèi)部脈沖頻率1~100 Hz可調(diào),猝發(fā)脈沖串內(nèi)部脈沖寬度等參數(shù)可以調(diào)節(jié)[4-6]。
1 系統(tǒng)總體結(jié)構(gòu)
猝發(fā)多脈沖產(chǎn)生系統(tǒng)包括:上位機(jī)監(jiān)控界面、串口通信電路、FPGA控制電路、輸入/輸出隔離電路4個(gè)部分。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。其中上位機(jī)監(jiān)控界面基于Visual Basic(VB)軟件進(jìn)行可視化編程實(shí)現(xiàn),通過(guò)上位機(jī)監(jiān)控界面可以完成串口通信協(xié)議設(shè)置、猝發(fā)多脈沖信號(hào)的參數(shù)設(shè)置以及系統(tǒng)啟動(dòng)/停止、系統(tǒng)自檢等狀態(tài)控制;上位機(jī)和FPGA控制芯片采用RS232串口通信協(xié)議,串口通信電路包括:FPGA串口(UART)模塊、MAX232芯片和上位機(jī)串口三部分,MAX232芯片實(shí)現(xiàn)電平轉(zhuǎn)換,解決FPGA的信號(hào)電平與RS232的標(biāo)準(zhǔn)不一致的問(wèn)題;FPGA芯片采用Altera CycloneIV系列,F(xiàn)PGA控制電路包括時(shí)鐘電路、電源電路、程序下載電路、SDRAM和Flash存儲(chǔ)電路、復(fù)位電路等;輸入/輸出隔離電路包括:串口接收信號(hào)、串口發(fā)送信號(hào)和脈沖輸出信號(hào),為了增強(qiáng)系統(tǒng)的抗干擾性,F(xiàn)PGA輸入/輸出信號(hào)均采用光纖傳輸實(shí)現(xiàn)。
2 FPGA中控系統(tǒng)程序設(shè)計(jì)
FPGA采用硬件邏輯實(shí)現(xiàn)控制功能,具有功耗低、速度快、工作頻率高、集成度高等特點(diǎn),可以完成極其復(fù)雜的時(shí)序與組合邏輯。本文中FPGA控制電路主要功能有:通過(guò)UART模塊從串口接收上位機(jī)發(fā)送的數(shù)據(jù),并對(duì)接收的數(shù)據(jù)進(jìn)行緩存、解析和存儲(chǔ)處理,根據(jù)控制命令輸出2路猝發(fā)多脈沖信號(hào)。FPGA控制程序采用Verilog HDL硬件描述語(yǔ)言編寫,在Quartus II 11.0軟件平臺(tái)開發(fā),核心內(nèi)容包括:UART數(shù)據(jù)接收模塊、數(shù)據(jù)寄存模塊、猝發(fā)多脈沖產(chǎn)生模塊三部分。FPGA程序結(jié)構(gòu)框圖如圖2所示。
2.1 UART數(shù)據(jù)接收模塊
本文設(shè)計(jì)的UART數(shù)據(jù)接收模塊主要包括波特率產(chǎn)生模塊和數(shù)據(jù)接收控制模塊。功能是從串口接收上位機(jī)發(fā)送的串行數(shù)據(jù)。
2.1.1 波特率產(chǎn)生模塊
在電子通信領(lǐng)域,波特率即調(diào)制速度,它是對(duì)符號(hào)傳輸速率的一種度量,1 b/s表示每秒傳輸1個(gè)符號(hào)。波特率產(chǎn)生模塊的功能是產(chǎn)生與RS-232串口通信波特率同步的時(shí)鐘,其基本思路是對(duì)系統(tǒng)輸入時(shí)鐘進(jìn)行分頻得到需要的波特率。本設(shè)計(jì)中FPGA輸入時(shí)鐘為50 MHz,波特率選擇9 600 b/s。
2.1.2 數(shù)據(jù)接收控制模塊
數(shù)據(jù)接收控制模塊主要實(shí)現(xiàn)對(duì)串行數(shù)據(jù)的串并轉(zhuǎn)換,轉(zhuǎn)換的串行數(shù)據(jù)按照既定的數(shù)據(jù)幀格式進(jìn)行輸出。UART數(shù)據(jù)接收協(xié)議采用1位起始位、8位數(shù)據(jù)位、1位停止位、無(wú)奇偶校驗(yàn)位的格式,在9 600 b/s波特率下,UART數(shù)據(jù)采集步驟如下:
(1)空閑狀態(tài),等待數(shù)據(jù)起始位0;
(2)根據(jù)起始位的標(biāo)志,判斷UART時(shí)序起始;
(3)由低到高位串行接收8位數(shù)據(jù);
(4)判斷結(jié)束位1,一幀數(shù)據(jù)接收完畢。
2.2 數(shù)據(jù)寄存模塊
UART數(shù)據(jù)接收模塊接收的數(shù)據(jù)經(jīng)過(guò)緩存、解析后,按地址存入相應(yīng)的數(shù)據(jù)寄存器中。寄存器作為數(shù)據(jù)存儲(chǔ)的數(shù)字設(shè)備,2路猝發(fā)多脈沖信號(hào)參數(shù)包括猝發(fā)脈沖個(gè)數(shù)、猝發(fā)脈沖間隔、猝發(fā)脈沖串脈沖個(gè)數(shù)、猝發(fā)脈沖串脈沖頻率、A猝發(fā)脈沖串脈寬、B猝發(fā)脈沖串脈寬等,共需要21個(gè)計(jì)數(shù)寄存器。
2.3 猝發(fā)多脈沖產(chǎn)生模塊
猝發(fā)多脈沖產(chǎn)生模塊根據(jù)設(shè)置的參數(shù)輸出猝發(fā)脈沖信號(hào),其脈寬以及脈沖個(gè)數(shù)等參數(shù)是通過(guò)對(duì)數(shù)據(jù)寄存器保存的數(shù)據(jù)進(jìn)行計(jì)數(shù)來(lái)實(shí)現(xiàn)的。本文采用有限狀態(tài)機(jī)方式實(shí)現(xiàn)猝發(fā)多脈沖產(chǎn)生模塊的控制。
3 上位機(jī)監(jiān)控界面設(shè)計(jì)
上位機(jī)監(jiān)控界面采用VB軟件編程實(shí)現(xiàn),通過(guò)調(diào)用MSComm串口通信控件設(shè)置通信協(xié)議,實(shí)現(xiàn)與FPGA建立數(shù)據(jù)通信。操作者通過(guò)監(jiān)控界面預(yù)置2路猝發(fā)多脈沖信號(hào)參數(shù),輸入完成后點(diǎn)擊參數(shù)下載按鈕,再點(diǎn)擊開始運(yùn)行按鈕后,F(xiàn)PGA開始猝發(fā)多脈沖信號(hào)的生成。上位機(jī)監(jiān)控界面如圖3所示。
4 實(shí)驗(yàn)調(diào)試
通過(guò)上位機(jī)監(jiān)控界面設(shè)置串口通信協(xié)議,與FPGA控制芯片實(shí)現(xiàn)串口數(shù)據(jù)通信;然后設(shè)置猝發(fā)多脈沖串的參數(shù),完成后點(diǎn)擊數(shù)據(jù)保存按鈕,將數(shù)據(jù)保存到上位機(jī)數(shù)據(jù)文件;點(diǎn)擊數(shù)據(jù)下載按鈕,將設(shè)置的數(shù)據(jù)通過(guò)串口發(fā)送到FPGA控制芯片;點(diǎn)擊開始運(yùn)行后系統(tǒng)開始猝發(fā)脈沖的輸出。調(diào)試實(shí)驗(yàn)中設(shè)置猝發(fā)脈沖個(gè)數(shù)為1個(gè),猝發(fā)脈沖串內(nèi)脈沖個(gè)數(shù)為2個(gè),猝發(fā)脈沖串脈沖頻率為5 Hz,A猝發(fā)脈沖串脈寬為180 ms、B猝發(fā)脈沖串脈寬為5 ms,單個(gè)猝發(fā)多脈沖串波形如圖4所示。設(shè)置猝發(fā)脈沖個(gè)數(shù)為5個(gè),猝發(fā)脈沖串內(nèi)脈沖個(gè)數(shù)分別為5、4、3、2、1個(gè),猝發(fā)脈沖串脈沖頻率為5 Hz,A猝發(fā)脈沖串脈寬為180 ms、B猝發(fā)脈沖串脈寬為5 ms。多個(gè)猝發(fā)多脈沖串波形如圖5所示。
5 結(jié)論
本文所研制的基于FPGA的猝發(fā)多脈沖產(chǎn)生系統(tǒng)能夠輸出2路猝發(fā)多脈沖信號(hào),脈沖參數(shù)可以調(diào)節(jié)。該系統(tǒng)利用FPGA內(nèi)部控制模塊實(shí)現(xiàn)多路脈沖時(shí)序輸出和UART接口控制,簡(jiǎn)化了硬件電路設(shè)計(jì);上位機(jī)通過(guò)VB軟件編程的人機(jī)交互界面,與FPGA之間采用串口通信,實(shí)現(xiàn)遠(yuǎn)程控制。系統(tǒng)實(shí)現(xiàn)遠(yuǎn)程控制功能,采用模塊化設(shè)計(jì),可擴(kuò)展性強(qiáng)。這一設(shè)計(jì)方案也可以運(yùn)用到其他時(shí)序控制電路中。
參考文獻(xiàn)
[1] 劉錫三.高功率脈沖技術(shù)[M].北京:國(guó)防工業(yè)出版社,2005.
[2] 倪晉平,李亞勝,田慧.一種多路時(shí)間序列控制儀的設(shè)計(jì)與實(shí)現(xiàn)[J].西安工業(yè)大學(xué)學(xué)報(bào),2012,32(2):88-92.
[3] 羅通頂,郭明安.遠(yuǎn)程控制高時(shí)間分辨率多通道脈沖發(fā)生器設(shè)計(jì) [J].計(jì)算機(jī)測(cè)量與控制,2015,23(8):2921-2923.
[4] 陳伯俊,周俊敏,馬軍勇.基于FPGA的高精度多路同步脈沖產(chǎn)生系統(tǒng)研究[J].科學(xué)技術(shù)與工程,2010,10(19):4794-4796.
[5] 劉紀(jì)斌,郭超,羅中省.基于FPGA的多路脈沖同步器設(shè)計(jì)[J].電子工程師,2008,34(7):3-5.
[6] 王鵬,呂志剛,杜衛(wèi)東.基于FPGA與ARM的多路時(shí)序控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2012,20(6):1540-1543.
(收稿日期:2018-04-17)
作者簡(jiǎn)介:
馮傳均(1989-),男,本科,主要研究方向:脈沖功率技術(shù)應(yīng)用。