基于FPGA的多通道高速采樣系統(tǒng)設(shè)計(jì)
摘要:旋轉(zhuǎn)機(jī)械的振動(dòng)監(jiān)測(cè),對(duì)于機(jī)械的安全運(yùn)行和提高設(shè)備利用率有重大意義。利用FPGA的并行處理能力,采用高速可編程FPGA模塊和嵌入式開發(fā)的結(jié)合方式,提出了一種基于FPGA的高速、多通道、同步采樣實(shí)現(xiàn)方法。闡述了對(duì)于高速AD芯片的控制,硬件的布局布線,以及對(duì)于系統(tǒng)的功能要求,進(jìn)行了軟硬件的設(shè)計(jì)和調(diào)試。通過仿真和實(shí)驗(yàn)的結(jié)果表明,對(duì)于信號(hào)發(fā)生器發(fā)出的高頻率正弦波,上位機(jī)上能夠顯示出完好的波形,即基于FPGA的采樣設(shè)計(jì)能夠達(dá)到多通道,高速采樣的要求,可以實(shí)現(xiàn)對(duì)高速旋轉(zhuǎn)機(jī)械振動(dòng)的實(shí)時(shí)監(jiān)測(cè)。
0 引言
大型旋轉(zhuǎn)機(jī)械包括了汽輪機(jī)、水輪機(jī)、壓氣機(jī)等機(jī)械設(shè)備,是航空、電力、機(jī)械、石油化工等領(lǐng)域的關(guān)鍵設(shè)備。隨著工業(yè)生產(chǎn)和運(yùn)行機(jī)組的參數(shù)不斷提高,對(duì)設(shè)備的可靠性、安全性、經(jīng)濟(jì)性提出了更高的要求,促使了對(duì)于旋轉(zhuǎn)機(jī)械設(shè)備振動(dòng)監(jiān)測(cè)技術(shù)的研究。
目前實(shí)現(xiàn)數(shù)字信號(hào)處理主要有兩種形式:一種是使用數(shù)字信號(hào)處理器(DSP),DSP芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈夫結(jié)構(gòu),而且具有專門的硬件乘法器,可以廣泛采用流水線操作,提供特殊的DSP指令,可以用來快速地實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法。然而,由于受到DSP自身性能的限制以及程序指令按順序執(zhí)行的特點(diǎn),難以實(shí)現(xiàn)大規(guī)模、高速運(yùn)算;另一種則是現(xiàn)場(chǎng)可編程門陣列(FPGA)。FPGA的結(jié)構(gòu)主要分為三部分:可編程邏輯模塊、可編程I/O模塊、可編程內(nèi)部連線,這樣就大大降低了印刷電路板設(shè)計(jì)的工作量和難度,同時(shí),F(xiàn)PGA具有強(qiáng)大的邏輯功能,能對(duì)多路信號(hào)進(jìn)行并行處理,可以自定義模塊和自定義指令,有效提高了設(shè)計(jì)的靈活性和效率。因此,在比較低的取樣速率時(shí),整體上很復(fù)雜的程序可以使用DSP;而在高速,多通道采樣方面,F(xiàn)PGA具有明顯的優(yōu)勢(shì)。實(shí)際中,一般的水輪機(jī),汽輪機(jī)的旋轉(zhuǎn)速度在每分鐘幾千轉(zhuǎn),可以利用DSP完成數(shù)據(jù)采樣,但是遇到超過每分鐘萬轉(zhuǎn)以上的旋轉(zhuǎn)機(jī)械,就可以利用FPGA來完成高速采樣。
本設(shè)計(jì)采用高性能的FPGA芯片EP3C25Q240,高速多通道同步采樣AD芯片THS1207,通過良好的PCB布局、模塊化編程、多通道并行處理,實(shí)現(xiàn)對(duì)于高速旋轉(zhuǎn)機(jī)械的振動(dòng)監(jiān)測(cè)與分析。
1 并行系統(tǒng)的工作原理
1.1 系統(tǒng)內(nèi)部構(gòu)成
并行系統(tǒng)工作原理框圖如圖1所示。本系統(tǒng)采用自頂向下的設(shè)計(jì)方法,可以主要分為AD模塊、FPGA控制模塊和以太網(wǎng)通信模塊。外部振動(dòng)模擬信號(hào)經(jīng)過信號(hào)調(diào)制電路后進(jìn)入AD芯片進(jìn)行12位模數(shù)轉(zhuǎn)換,之后把數(shù)字信號(hào)并行傳遞給FPGA芯片。得到采樣數(shù)據(jù)后,F(xiàn)PGA對(duì)信號(hào)進(jìn)行并行處理,然后將處理過的數(shù)字信號(hào)通過以太網(wǎng)完成與上位機(jī)的數(shù)據(jù)通信。
FPGA模塊是信號(hào)處理系統(tǒng)的核心,它主要完成對(duì)數(shù)據(jù)采集的控制,對(duì)數(shù)字信號(hào)的并行處理與運(yùn)算以及以太網(wǎng)通信。
1.2 系統(tǒng)外圍接口
系統(tǒng)外圍主要有AD轉(zhuǎn)換電路、信號(hào)調(diào)理電路、鍵相電路、SDRAM和EPCS電路、電源電路、JTAG和AS調(diào)試接口、以太網(wǎng)接口和LED顯示接口等。
2 板級(jí)電路設(shè)計(jì)
作為控制核心的FPGA芯片采用Altera公司的Cyclone系列的第三代EP3C25Q240,它具有豐富的資源和引腳數(shù)量,足夠滿足本系統(tǒng)需要。憑借其低功耗、高功能、低成本的前所未有的組合,拓寬了大批量、成本敏感的應(yīng)用。
考慮到設(shè)計(jì)的高速多通道的要求,AD選用了Texas Instruments生產(chǎn)的高速芯片THS1207。THS1207是一個(gè)CMOS、低功耗、12位、6 MSPS模擬-數(shù)字轉(zhuǎn)換器。對(duì)速度、分辨率、帶寬和單電源操作都非常適合應(yīng)用在雷達(dá)成像、高速采集和通信。輸出誤差校正邏輯的多級(jí)流水線架構(gòu),并提供了在整個(gè)工作溫度范圍內(nèi)無失碼。該THS1207由四個(gè)模擬輸入,同時(shí)進(jìn)行采樣,這些輸入可以單獨(dú)選擇,配置為單端或差分輸入。為ADC提供1.5~3.5V的內(nèi)部參考電壓。外部也可以參考選擇適合ADC精度和溫度漂移要求的應(yīng)用,如圖2所示。
D0-D11是并行數(shù)據(jù)輸入/輸出口;CS1為芯片的片選信號(hào);RD和WD分別為讀寫信號(hào);CONV_CLK為提供給AD芯片的工作時(shí)鐘信號(hào);SYNC為數(shù)據(jù)同步信號(hào);REFP和REFM為AD的參考電壓,可以選擇內(nèi)部或外部參考電壓,本設(shè)計(jì)中采用了內(nèi)部參考電壓;BVDD和DVDD是數(shù)字正電源,AVDD是模擬正電源;BGND和DGND是數(shù)字地,AGND是模擬地;AINP、AINM、BINP、BINM為模擬信號(hào)輸入的四個(gè)通道。
FPGA和上位機(jī)的數(shù)據(jù)通信需要由以太網(wǎng)模塊來完成。以太網(wǎng)采用高速DM9000A芯片,該芯片是臺(tái)灣DAVICOM公司推出的一款高度集成、功能強(qiáng)大、引腳少、性價(jià)比高的單片快速以太網(wǎng)控制芯片,非常適用于嵌入式系統(tǒng)設(shè)計(jì)。DM9000A主要特性是:集成10/100M物理層接口;內(nèi)部帶有16K字節(jié)SRAM用作接收發(fā)送的FIFO緩存;支持802.3以太網(wǎng)傳輸協(xié)議;體積小,只有48個(gè)引腳;功耗非常低,單電源3.3V工作,內(nèi)置3.3V變2.5V電源電路,I/O端口支持3.3~5.0V的容差。FPGA與以太網(wǎng)的接口示意圖如圖3所示。
3 多通道并行處理
由于FPGA具有并行處理的優(yōu)勢(shì),在高速多通道同步采樣中,更能滿足設(shè)計(jì)的要求。選擇硬件描述語言為Verilog,它能夠在多種抽象級(jí)別對(duì)數(shù)字邏輯系統(tǒng)進(jìn)行描述,可以顯式地對(duì)并發(fā)和定時(shí)進(jìn)行建模。本設(shè)計(jì)是四片AD芯片的同步高速采樣,利用FPGA具有的自定義外設(shè)以及自定義指令的功能,對(duì)于四片AD芯片實(shí)現(xiàn)了同步采樣的控制,并對(duì)數(shù)據(jù)并行處理。
3.1 單片ADC的控制
AD芯片THS1207的單通道采樣的最大采樣速度是6MSPS,四通道采樣的最大采樣速度是1.5MSPS,本設(shè)計(jì)采用的是四通道同步采樣模式,四通道時(shí)序圖如圖4所示。
在轉(zhuǎn)換過程中ADC有一個(gè)自由運(yùn)行的外部輸入時(shí)鐘CONV CLK。隨著每一個(gè)CONV CLK信號(hào)下降沿,四個(gè)通道模擬信號(hào)轉(zhuǎn)換后的值提供給相應(yīng)的讀出信號(hào)中的數(shù)據(jù)總線。READ+是,CS1三者的邏輯集成信號(hào),READ+為低電平時(shí)表示讀有效。信號(hào)SYNC是低電平時(shí),第一個(gè)通道的數(shù)據(jù)到數(shù)據(jù)總線,隨后SYNC拉高,第二、三、四通道的數(shù)據(jù)按順序依次讀取。
3.2 多片AD的同步采樣及并行處理
單個(gè)AD的控制完成后,就很容易擴(kuò)展到對(duì)四片AD的控制。在采集多通道數(shù)據(jù)時(shí),需要保持同步采樣,本設(shè)計(jì)采用的方法是每一路信號(hào)通過各自的信號(hào)調(diào)理電路和ADC轉(zhuǎn)換結(jié)束后,ADC保持?jǐn)?shù)據(jù),由FPGA依次讀取。
在硬件布局時(shí),四片AD共用數(shù)據(jù)線,讀寫信號(hào)和AD轉(zhuǎn)換時(shí)鐘信號(hào)。因此FPGA通過寫命令同時(shí)啟動(dòng)這四片AD芯片,十六個(gè)通道的模擬信號(hào)進(jìn)入AD。每片AD都有一個(gè)數(shù)據(jù)同步信號(hào)SYNC,當(dāng)判斷得到四片AD中的某個(gè)SYNC信號(hào)是低電平時(shí),則可認(rèn)為十六道數(shù)字信號(hào)已同步到位,通過片選信號(hào)的切換依次讀取各個(gè)AD芯片的數(shù)據(jù)并暫時(shí)儲(chǔ)存在寄存器中。也可以根據(jù)自己需求,開啟和關(guān)閉某些AD,選擇特定的通道數(shù)據(jù)進(jìn)行讀取。同步采樣原理圖如圖5所示。
3.3 自定義指令
自定義指令是FPGA的嵌入式軟核nios ii的一大特色,nios ii有著一個(gè)開放式的ALU,用戶可以根據(jù)自己的要求添加自定義指令來實(shí)現(xiàn)應(yīng)用需求,大大體現(xiàn)了nios ii軟核的靈活性。自定義指令的功能是運(yùn)用Verilog語言,由電路模塊來完成的。因此,相比較利用C語言編程來實(shí)現(xiàn)功能,自定義指令具有執(zhí)行速度快的顯著特點(diǎn)。Nios ii支持四類自定義指令:組合邏輯指令、多周期用戶自定義指令、擴(kuò)展用戶自定義指令、內(nèi)部寄存器自定義指令來滿足各種應(yīng)用情況。
本設(shè)計(jì)中旋轉(zhuǎn)機(jī)械的振動(dòng)信號(hào)雖然在硬件中經(jīng)過了信號(hào)調(diào)理,但是由于元器件間參數(shù)的問題,仍舊會(huì)存在數(shù)據(jù)的偏差,運(yùn)用了自定義指令中的多周期用戶自定義指令將數(shù)據(jù)進(jìn)行修正。多周期指令需要數(shù)據(jù)指令和邏輯指令。利用start信號(hào)開始執(zhí)行指令,done信號(hào)來表示執(zhí)行結(jié)束,可以返回結(jié)果。
同時(shí)對(duì)于采集得到的數(shù)據(jù)進(jìn)行傅里葉變換、濾波等處理,通過自定義指令也能實(shí)現(xiàn),提升了FPGA的信號(hào)處理能力。
4 AD時(shí)序仿真
仿真在FPGA的開發(fā)中扮演了重要的角色,利用modelsim仿真軟件來對(duì)編好的AD程序進(jìn)行時(shí)序驗(yàn)證。AD正式工作前,需要通過向AD內(nèi)部控制寄存器、CR1寫命令啟動(dòng)AD,然后才能讀取數(shù)據(jù)。啟動(dòng)AD芯片THS1207的流程圖如圖6所示,啟動(dòng)AD的仿真結(jié)果如圖7所示。
AD芯片THS1207正常啟動(dòng)后就可以開始讀取各個(gè)通道的數(shù)據(jù),由于本設(shè)計(jì)是十六個(gè)通道依次采樣,采樣結(jié)束后,需要通過片選控制信號(hào)依次讀取各個(gè)通道的數(shù)據(jù),仿真結(jié)果如圖8所示。
從仿真結(jié)果驗(yàn)證得到編寫的AD程序可以完成十六道采樣的設(shè)計(jì)要求。
5 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)采用AD四通道同步采樣,利用信號(hào)發(fā)生器產(chǎn)生正弦波,選擇同步采樣方式對(duì)每個(gè)正弦波采樣128點(diǎn),通過以太網(wǎng)傳送到上位機(jī),采樣得到的波形如圖9所示。
可以利用FPGA的自定義指令,根據(jù)需求將得到的數(shù)據(jù)進(jìn)行處理,如圖10,對(duì)得到的波形數(shù)據(jù)進(jìn)行偏置為-10和放大倍數(shù)為1.05的修正。
實(shí)驗(yàn)中當(dāng)信號(hào)發(fā)生器發(fā)出正弦波的頻率達(dá)到3000Hz時(shí),即采樣頻率達(dá)到384kHz時(shí),F(xiàn)PGA采集波形能力達(dá)到了最大值,相當(dāng)于180000r /min的旋轉(zhuǎn)機(jī)械的基頻信號(hào)。當(dāng)超過3000Hz時(shí),采樣得到的波形會(huì)出現(xiàn)毛刺現(xiàn)象。分析原因,主要是由于nios ii進(jìn)、出中斷服務(wù)程序,以及中斷服務(wù)程序中對(duì)采樣數(shù)據(jù)的讀取需要花費(fèi)一定的時(shí)間。
6 結(jié)束語
本設(shè)計(jì)利用FPGA并行技術(shù)、自定義模塊化設(shè)計(jì)以及nios ii的特色功能即自定制指令,實(shí)現(xiàn)了對(duì)于旋轉(zhuǎn)機(jī)械振動(dòng)信號(hào)的多通道高速同步采樣。顯示了FPGA可編程、設(shè)計(jì)靈活、高速的特點(diǎn),同時(shí)也驗(yàn)證了基于FPGA的多通道高速采樣系統(tǒng)的可行性。
根據(jù)實(shí)驗(yàn)結(jié)果和理論的最大采樣速度還有差距,可以進(jìn)一步改進(jìn)系統(tǒng)設(shè)計(jì),例如采用DMA優(yōu)化程序,提高速率。
評(píng)論