基于Verilog-HDL的軸承振動噪聲電壓峰值檢測
僅有圖5的邏輯功能框圖還不能方便地用Verilog-HDL來描述。為此將其進一步細化為圖6所示的形式。圖6中虛線框內(nèi)的功能由XC9572(Xilinx公司的產(chǎn)品)實現(xiàn)。圖6中,Vin為模擬電壓的輸入,VDOUT為數(shù)字峰值電壓的輸出,VDOUT、RB1、RB21均與接口電路相接,RB1、RB2受微機的控制。
本文引用地址:http://www.biyoush.com/article/83375.htm2.2 時序圖
圖7為圖6所示邏輯電路的時序圖。按照軸承檢測的工藝,當系統(tǒng)復(fù)位RB2、啟動脈沖RB1到來后,經(jīng)0.7s的延時,便產(chǎn)生1個寬度為1s的門脈沖G_P。在此期間,A/D轉(zhuǎn)換器連續(xù)轉(zhuǎn)換的數(shù)據(jù)送入數(shù)據(jù)緩沖器GET_DATA,之后進行數(shù)字信號的峰值檢測和保持。A/D轉(zhuǎn)換器在此采用MAX120。該轉(zhuǎn)換器的分辨率為12bit,轉(zhuǎn)換時間為1.6μs。2.3 邏輯仿真。
在硬件電路實現(xiàn)之前,用Verilog-HDL對圖6所示的邏輯電路進行了仿真,圖8即為仿真結(jié)果。從仿真結(jié)果中可以看出,系統(tǒng)復(fù)位后,D_OUT(VDOUT)輸出為0,在1s門脈沖G_P有效期間,GET_DATA接收時鐘GET_DATA_CLK。此間來自A/D轉(zhuǎn)換器的數(shù)字電壓(分別為FROM_ADC=10、15、18、17、4、6、2)相繼輸入至GET_DATA。由于這期間的最大值為FROM_ADC=18,故有D_OUT=18。在門脈沖G_P無效期間,即使有數(shù)據(jù)FROM_ADC=11輸入,仍有D_OUT=0。
2.4 Verilog-HDL主模塊
限于篇幅,這里只將本系統(tǒng)所涉及到的Verilog-HDL的主模塊部分列出:
Module PK_SEL(BUSY,RB1,RB2,FROM_ADC,D_OUT,P_OUT);
input BUSY,RB1,RB2;
output P_OUT;
input [11:0]FROM_ADC;
output [11:0]D_OUT;
wire [11:0]TO_COM;
wire GET_DATA_CLK;
//產(chǎn)生秒脈沖
CNT100 F_4kHz (RB1,BUSY,F_4k); //分頻
CNT100 F_37Hz (RB1,F(xiàn)_4k,F(xiàn)_37); //分頻
DELAY_P1 START_DLY (RB2,RB1,F(xiàn)_7,DLY_05S); //延時0.7s
DELAY_P2 GENE_SPB (RB2,DLY_05S,F(xiàn)_7,SPB); //延時1s
GETE_GENE GENE_GP (G_P,DLY_05S&RB2,SPB); //1s的門脈沖
Assign P_OUT=G_P;
//ADC數(shù)據(jù)最大值的比較和檢測
assign GET_DATA_CLK=~BUSY & G_P;
DFF12 GET_DATA(GET_DATA_CLK,F(xiàn)ROM_ADC,TO_COM, ~SPB & RB2); //獲取ADC數(shù)據(jù)
COMP_D DATA_COMP(TO_COM,D_OUT,D_S); //數(shù)據(jù)比較
DFF12 DATA_MEM(BUSY & D_S,TO_COM,D_OUT,RB1 & RB2); //數(shù)據(jù)存儲
endmodule
結(jié)束語
與模擬式的峰值電壓檢測方式相比,數(shù)字式的檢測方式有著結(jié)構(gòu)簡單、系統(tǒng)開發(fā)周期短等優(yōu)點,而采用Verilog-HDL可以方便地實現(xiàn)欲有的功能。筆者設(shè)計開發(fā)的該系統(tǒng)用在了大連科匯軸承儀器有限公司生產(chǎn)的S0910-3型軸承振動測量儀中,并于2001年6月在上海的國際軸承及裝備博覽會上引起了同行的關(guān)注。
評論