張?zhí)旌?,葉 偉,王陽陽,張興紅,陳鴻雁
(重慶理工大學(xué),機(jī)械檢測技術(shù)與裝備教育部工程研究中心,時柵傳感及先進(jìn)檢測技術(shù)重慶市重點(diǎn)實(shí)驗(yàn)室,重慶 400054)
設(shè)計(jì)的便攜式頻率計(jì)如圖1所示,主要包括3個部分:SOPC控制與處理模塊、振動傳感器模塊、人機(jī)交互模塊。SOPC控制與處理模塊對信號進(jìn)行采集與放大;振動傳感器由壓電式傳感器與由納米材料制作的薄膜構(gòu)成。其核心部分是片上系統(tǒng)SOPC控制與處理模塊,控制信號處理,人機(jī)交互界面與通道的選擇。
頻率儀核心部分是SOPC的設(shè)計(jì),它主要包括了振動信號的產(chǎn)生控制、數(shù)據(jù)的高速采集以及信號的分析與處理3部分。其設(shè)計(jì)框圖如圖2所示。
圖2 頻率儀的SOPC結(jié)構(gòu)圖
其中,數(shù)據(jù)采集控制部分包含有信號調(diào)理電路、計(jì)數(shù)計(jì)時器和通道控制等,用來控制頻率儀的工作與停止,控制采樣通道的選擇與數(shù)據(jù)信號的實(shí)時采集。如圖2虛線所示,SOPC(片上系統(tǒng))處理部分采用了嵌入式的軟核處理器(NiosⅡ核)來實(shí)現(xiàn),主要構(gòu)成包括軟核處理器(NiosⅡ)、通道控制、DDS、計(jì)數(shù)時鐘、PIO控制器的接口、外部存儲器 SDRAM、LCD[6]。用SOPC實(shí)現(xiàn)了實(shí)時高速的數(shù)據(jù)分析與處理,并且可實(shí)現(xiàn)人機(jī)交互功能,操作人機(jī)交互界面可將采集數(shù)據(jù)在LCD上顯示出來。
壓電式傳感器能夠把機(jī)械振動的振幅放大,并把這些振幅的變化轉(zhuǎn)化為與振動成正比的電壓量,放大電路把該電壓信號進(jìn)行放大,濾波電路濾除該電壓信號中的雜質(zhì)信號,得到的模擬信號如圖3所示。根據(jù)比較法確定過零點(diǎn)的次數(shù)N,2個過零點(diǎn)確定1個周期,其中中間過零點(diǎn)(P1、P2…PN-1)不需要精確計(jì)算它們對應(yīng)的時間,起始過零點(diǎn)P0和終點(diǎn)PN所對應(yīng)的時間需用下文所述的軟件插補(bǔ)細(xì)分算法精確計(jì)算,起始過零點(diǎn)和終點(diǎn)的時間差為N個過零點(diǎn)之間的時間差,記為TN,則有信號頻率fx為
式中N是一個無誤差的整數(shù)。
如圖3所示,以8個過零點(diǎn)(4個信號周期)來計(jì)算頻率值,圖中的中間過零點(diǎn)(P1、P2、P3、P4、P5、P6、P7)只需根據(jù)它們前后采樣點(diǎn)的正負(fù)判斷它們是過零點(diǎn)即可,不需要精確計(jì)算它們對應(yīng)的時間,利用特殊的軟件插補(bǔ)細(xì)分算法對起點(diǎn)(P0)和終點(diǎn)(P8)所對應(yīng)的時間t0和t8分別進(jìn)行精確計(jì)算,則信號的頻率fx為:
該研究實(shí)驗(yàn)組45例患者的治療依從性為95.56%,而參照組的治療依從性為82.22%,兩組治療依從性差異明顯(P<0.05)。 見表 3。
下文敘述的軟件插補(bǔ)細(xì)分算法可對起點(diǎn)(P0)和終點(diǎn)(P8)之間的時間差進(jìn)行納秒級精度的計(jì)算,從而可以實(shí)現(xiàn)高精度的頻率測量。
圖3 濾波放大后的模擬信號
SOPC的設(shè)計(jì)是頻率儀的設(shè)計(jì)關(guān)鍵,SOPC的設(shè)計(jì)主要包括硬件邏輯的設(shè)計(jì)、NiosⅡ軟處理器與軟件處理設(shè)計(jì)。用Verilog硬件描述語言在QuatusⅡ6.0軟件平臺上完成硬件邏輯設(shè)計(jì)。
NiosⅡ微處理器軟核是SOPC技術(shù)的核心,生產(chǎn)廠商推出的軟核CPU,是一種面向用戶的、可以靈活定制的通用RISC(精簡指令集架構(gòu))嵌入式CPU。NiosⅡ以軟件方式提供給用戶,專為SOPC系統(tǒng)設(shè)計(jì)和優(yōu)化,是面向用戶、可以靈活定制[7]。NiosⅡ系統(tǒng)構(gòu)建如圖4所示。
NiosⅡ系統(tǒng)構(gòu)建后,生成NiosⅡ系統(tǒng),便可使創(chuàng)建的NiosⅡ系統(tǒng)成為頻率計(jì)系統(tǒng)設(shè)計(jì)的一部分,與此同時可將之前的數(shù)字邏輯打包為單個的控制系統(tǒng)模塊CTRL,將其在原理圖中與構(gòu)建的NiosⅡ處理器完成邏輯連接,NiosⅡ模塊為在SOPC Builder系統(tǒng)中定制系統(tǒng)SOPC系統(tǒng)。
SOPC系統(tǒng)采用可配置的Avalon總線模塊,帶有增強(qiáng)的內(nèi)存、調(diào)試和軟件功能[8]。SOPC Builder主要任務(wù)就是生成Avalon交換式架構(gòu)的總線,定制了合適的NiosⅡ處理器、定時器、UART和GPIO[9]。SOPC系統(tǒng)組建如圖5所示。
頻率計(jì)的硬件部分構(gòu)建好,進(jìn)行NiosⅡ處理器的軟件設(shè)計(jì),軟件設(shè)計(jì)將針對該NiosⅡ系統(tǒng),進(jìn)行編程完成對采集數(shù)據(jù)的分析與處理[9]。時間的精確測量算法是其核心部分。
數(shù)據(jù)采集模塊實(shí)現(xiàn)對A/D轉(zhuǎn)換和通道選擇的控制,在SOPC控制下按采樣的時序把采集的數(shù)據(jù)存入SDRAM,把一個模擬通道序列表鎖存在一個存儲器中,按照地址增量讀出序列表中的通道編碼選擇相應(yīng)的通道,這樣做就可以實(shí)現(xiàn)不同通道采用不同的采樣頻率[10]。程序流程圖如圖6所示,圖中V1和V2為采集信號波形過零點(diǎn)前后的2個采樣點(diǎn),查找到這2個點(diǎn)是精確計(jì)算過零點(diǎn)的關(guān)鍵。數(shù)據(jù)采集完成后,通過Nios II系統(tǒng)來判斷過零點(diǎn),當(dāng)相鄰兩個點(diǎn)的正負(fù)性相反時,確定它們之間有一過零點(diǎn)。確定一過零點(diǎn)后就對過零點(diǎn)計(jì)數(shù)值加1(從0開始計(jì)數(shù)),把總的過零點(diǎn)數(shù)記為N,然后通過軟件插補(bǔ)細(xì)分算法精確計(jì)算第1個零點(diǎn)和第N點(diǎn)所對應(yīng)的時間,進(jìn)而計(jì)算振動頻率值。
圖4 NiosⅡ系統(tǒng)構(gòu)建圖
圖5 SOPC系統(tǒng)組建圖
采樣結(jié)束后,NiosⅡ系統(tǒng)發(fā)出讀數(shù)據(jù)命令,讀取暫存于SDRAM存儲區(qū)中的數(shù)據(jù),數(shù)據(jù)讀取完成后,NiosⅡ系統(tǒng)對采集到的數(shù)字信號進(jìn)行有效的分析并處理,其目的是通過采集數(shù)據(jù)對SOPC中測得的時間進(jìn)行進(jìn)一步細(xì)分,實(shí)現(xiàn)納秒級精度的時間測量,然后通過時間與頻率的關(guān)系得到對應(yīng)的頻率值,并將結(jié)果顯示到LCD上。
如圖7所示,振動時間由T1、nTA/D和T23部分組成,其中TA/D為A/D轉(zhuǎn)換的采樣周期,從P0″與P8'之間有n個采樣周期,則nTA/D為P0″與P8'之間的時間。
在過零點(diǎn)附近較小的區(qū)域內(nèi),電壓信號的波形接近于直線,可以根據(jù)直線插補(bǔ)的方法確定Tx為:
則T1為:
同理有T2為:
式中:V1、V2、V1'、V2'為過零點(diǎn)附近的2個采樣值。
根據(jù)式(3)~式(5)可得振動時間T為:
圖6 軟件流程圖
圖7 信號過零點(diǎn)示意圖
如圖7所示,以8個過零點(diǎn)(4個信號周期)來計(jì)算頻率值,利用特殊的軟件插補(bǔ)細(xì)分算法對起點(diǎn)(P0)和終點(diǎn)(P8)所對應(yīng)的時間 t0和 t8分別進(jìn)行精確計(jì)算,中間過零點(diǎn)(P1、P2、P3、P4、P5、P6、P7)只需根據(jù)它們前后采樣點(diǎn)的正負(fù)判斷它們是過零點(diǎn)即可,不需要精確計(jì)算它們對應(yīng)的時間,則信號的頻率fx為
軟件插補(bǔ)細(xì)分算法可對起點(diǎn)(P0)和終點(diǎn)(P8)之間的時間差進(jìn)行精確測量,從而可以實(shí)現(xiàn)高精度的頻率測量。
分辨率是測量儀器的一個重要參數(shù),在設(shè)計(jì)儀器時,對所設(shè)計(jì)的測量儀進(jìn)行分辨率分析是一個必不可少的環(huán)節(jié)。在振動時間確定中已經(jīng)分析出振動時間公式為
從上式可知,P0'和P0″之間的時間為TA/D,采樣電路中采用12位的模數(shù)轉(zhuǎn)換器對模擬信號進(jìn)行采樣,在P0'和P0″采得的電壓值分別為V1、V2,根據(jù)模數(shù)轉(zhuǎn)換器的特點(diǎn),過零點(diǎn)所對應(yīng)時刻的分辨率可用表達(dá)式表達(dá)為
假設(shè)A/D的分辨率是14位,那么可以將信號的幅值分為4 096份,A/D的最高采樣頻率可達(dá)50 MHz,可以通過時鐘控制把該芯片的采樣頻率設(shè)定到32 MHz,則在正弦波正的最大值到負(fù)的最大值的半個周期內(nèi),可以最多采32個點(diǎn),如果把正弦波正的最大值到負(fù)的最大值的半個周期內(nèi)的波形看作是直線,則顯然可知
觀察正弦波正的最大值到負(fù)的最大值的半個周期內(nèi)的波形可以看出,過零點(diǎn)附近曲線的斜率遠(yuǎn)大于峰值附近曲線的斜率,則有
根據(jù)式(9)~式(11)得時間測量分辨率為:
從而有信號時間測量的分辨率小于0.061 ns。進(jìn)而實(shí)現(xiàn)頻率的高精度測量。
本文設(shè)計(jì)了一種能夠?qū)C(jī)械設(shè)備的振動頻率進(jìn)行實(shí)時檢測的振動頻率測量儀。設(shè)計(jì)的頻率儀具有如下特點(diǎn):
(1)通過通道切換,不改變采樣頻率的大小,對多路輸入的不同通道采用不同的采樣頻率,實(shí)現(xiàn)寬量程的頻率采樣;
(2)SOPC數(shù)據(jù)處理部分嵌入32位NiosⅡ軟核處理器,硬件資源少,測量方便。
(3)采用了基于SOPC的硬件電路和特殊的軟件插補(bǔ)細(xì)分算法,達(dá)到了實(shí)時檢測的目的,同時使用該軟件插補(bǔ)細(xì)分算法可以實(shí)現(xiàn)分辨率為0.061 ns的時間測量,從而實(shí)現(xiàn)高精度的頻率測量。
[1]劉曉紅.頻率測量方法概述.科技創(chuàng)新與應(yīng)用,2012(8):7.
[2]ITANO W M,RAMSEY N F.Accurate measurement of time.Science America,1993,269(1):56 -65.
[3]陳濤,肖亞妮,閆 睿.基于單片機(jī)多路等精度頻率計(jì)設(shè)計(jì).甘肅科技,2012,28(19):14 -16.
[4]吳海明,王偉.基于單片機(jī)與FPGA的等精度頻率計(jì)設(shè)計(jì).兵工自動化,2009,28(3):79 -80.
[5]向誠,夏國榮,桂玲.基于單片機(jī)和FPGA的高速測頻系統(tǒng)的開發(fā).國外電子測量技術(shù),2006,25(12):47-51.
[6]潘松,黃繼業(yè).EDA技術(shù)與VHDL.北京:清華大學(xué)出版社,2010:20-25.
[7]陳成.基于SOPC的手持式電能表現(xiàn)場校驗(yàn)儀設(shè)計(jì).電測與儀表,2012,49(10):161 -164.
[8]蔣偉林,胡躍明,陳安.基于SOPC的貼片機(jī)視覺處理系統(tǒng).儀表技術(shù)與傳感器,2011(3):79 -81.
[9]張娟娟,蒲南江.基于SOPC的嵌入式數(shù)據(jù)記錄儀設(shè)計(jì).電子測試,2011(8):81-83.
[10]郝云峰,唐一科.基于FPGA的機(jī)械振動信號采集和以太網(wǎng)傳輸?shù)膶?shí)現(xiàn).機(jī)械制造,2008,46(8):74 -76.