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