《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的猝發(fā)多脈沖產(chǎn)生系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA的猝發(fā)多脈沖產(chǎn)生系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
馮傳均,何泱,戴文峰
(中國(guó)工程物理研究院流體物理研究所 脈沖功率科學(xué)與技術(shù)重點(diǎn)實(shí)驗(yàn)室,四川 綿陽(yáng) 621900)
摘要: 脈沖功率裝置在猝發(fā)工作方式下各個(gè)子系統(tǒng)需要按照一定的脈沖時(shí)序協(xié)調(diào)工作,其控制系統(tǒng)需要實(shí)現(xiàn)較好的時(shí)刻控制功能。介紹了一種基于FPGA的猝發(fā)多脈沖產(chǎn)生系統(tǒng),可以通過(guò)上位機(jī)監(jiān)控界面設(shè)定猝發(fā)脈沖參數(shù),經(jīng)由RS232串口通信協(xié)議將數(shù)據(jù)下載到FPGA控制器進(jìn)行解析存儲(chǔ),并可以產(chǎn)生對(duì)應(yīng)的猝發(fā)脈沖信號(hào)。系統(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é)。
中圖分類(lèi)號(hào):TP23
文獻(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.
Design and realization of a burst pulses generating system based on FPGA
Feng Chuanjun, He Yang, Dai Wenfeng
(Key Laboratory of Pulsed Power, Institute of Fluid Physics, CAEP, Mianyang 621900, China)
Abstract: A pulse power system may work under the burst mode, in which case its subsystems are required to work with a certain pulse timing sequence, and the control subsystem has to provide such a timing control capability. This paper presents a burst pulses generating system based on FPGA, which could manipulate timing parameters with an upper controller, and the data link is built upon the RS232 serial port protocol. This system is able to provide 2 burst pulses signals, each one is of 5 pulse sequences, 200 seconds sequence interval, 5 pulses in a sequence, 100 Hz pulse frequency in a sequence, and fully adjustable pulse width.
Key words : FPGA; host computer monitoring; burst pulse; Verilog HDL; serial port communication

 0  引言

 

脈沖功率技術(shù)是一種功率壓縮技術(shù),以較低的輸入功率將能量緩慢存儲(chǔ)起來(lái),隨后在極短時(shí)間內(nèi)釋放,以獲得極高的峰值輸出功率。該技術(shù)是應(yīng)國(guó)防科技需要而發(fā)展起來(lái)的一門(mén)新興科學(xué)技術(shù),是獲得高電壓、大電流等極端電磁參數(shù)的重要手段,被廣泛應(yīng)用在科學(xué)研究和工業(yè)生產(chǎn)等諸多領(lǐng)域中[1-3]。

脈沖功率裝置一般由初級(jí)能源系統(tǒng)、中間儲(chǔ)能系統(tǒng)、脈沖形成系統(tǒng)、開(kāi)關(guān)轉(zhuǎn)換系統(tǒng)和負(fù)載系統(tǒng)5個(gè)子系統(tǒng)組成。工作時(shí),初級(jí)能源系統(tǒng)用于為脈沖功率裝置供能,將能量輸送至中間儲(chǔ)能系統(tǒng)中;中間儲(chǔ)能系統(tǒng)常見(jiàn)遠(yuǎn)重頻或猝發(fā)脈沖功率裝置,通過(guò)初步功率壓縮為脈沖形成系統(tǒng)供能;脈沖形成系統(tǒng)充電完成后,通過(guò)開(kāi)關(guān)轉(zhuǎn)換系統(tǒng)將能量快速傳遞給負(fù)載系統(tǒng),實(shí)現(xiàn)脈沖功率輸出。 

猝發(fā)脈沖是指脈沖功率裝置在一次工作周期中輸出的多個(gè)相同的高功率脈沖,是為了滿(mǎn)足特定的工業(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)。

 

微信截圖_20180925135839.png


 

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ǔ)言編寫(xiě),在Quartus II 11.0軟件平臺(tái)開(kāi)發(fā),核心內(nèi)容包括:UART數(shù)據(jù)接收模塊、數(shù)據(jù)寄存模塊、猝發(fā)多脈沖產(chǎn)生模塊三部分。FPGA程序結(jié)構(gòu)框圖如圖2所示。

 

微信截圖_20180925140023.png


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)擊開(kāi)始運(yùn)行按鈕后,F(xiàn)PGA開(kāi)始猝發(fā)多脈沖信號(hào)的生成。上位機(jī)監(jiān)控界面如圖3所示。

 

微信截圖_20180925140323.png


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)擊開(kāi)始運(yùn)行后系統(tǒng)開(kāi)始猝發(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)用。

 

 

 


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。