您的位置:控制工程论坛网论坛 » 嵌入式系统 » 基于Verilog-HDL的轴承振动噪声电压峰值检测

dingjia

dingjia   |   当前状态:离线

总积分:99  2024年可用积分:0

注册时间: 2008-09-07

最后登录时间: 2010-12-10

空间 发短消息加为好友

基于Verilog-HDL的轴承振动噪声电压峰值检测

dingjia  发表于 2008/10/18 16:07:33      549 查看 0 回复  [上一主题]  [下一主题]

手机阅读

在轴承生产行业中,轴承振动噪声的峰值检测是一项重要的指标。以往,该检测都是采用传统的模拟电路方法,很难做到1:1地捕捉和保持较窄的随机波形的最大正峰值。本文叙述了基于Verilog-HDL与高速A/D转换器相结合所实现的快速轴承噪声检测方法。 

  1 振动噪声电压峰值检测方案的确定

  1.1 轴承振动噪声的产生及检测

  图1是轴承振动噪声电压峰值检测系统的示意图。由于加工设备、技术、环境等因素的影响,生产的轴承都程度不同地带有伤疤。图1中,假设某待测轴承有一处伤疤。由于伤痕的存在,轴承在转动过程中,伤疤将与滚珠产生摩擦,从而表现在轴承整个产生微小的振动。这一振动通过加速度传感器输出电压信号,经电荷放大器、峰值检测后,即后得到振动噪声的峰值电压。图2给出了在有伤疤情况下的传感器输出电压波形。





  1.2 模拟式的峰值电压保持电路

  以往的轴承振动噪声峰值电压检测,均采用了模拟式的峰值电压检测法。图3示出了由采样保持电路LF398H构成的该类检测电路。当噪声电压到来后,采样信号跟随模拟信号电压到峰值处,之后采样脉冲消失,电路处于保持状态。保持电容C上即存储了模拟信号的峰值电压Vm。要想较快地跟随输入电压Vin的变化,保持电容C的容量就应相对减小;而C的相对减小,又会导致在保持电压期间,输出电压Vout的下降速率加快。这两者相互矛盾,从而使这种电路难以达到较高的性能。



  1.3 数字式的峰值电压检测

  模拟式的峰值检测电路不易做到高速采样。采桥保持电路经长期使用后,多方面的性能会发生明显变化,且不易批量化生产;而由数字电路组成的系统可以做到结构简单、调试方便,长期使用不会导致系统性能指标的下降。图4是一种数字式的峰值检测系统的组成方案。它由A/D转换部分和数字电压的峰值检测部分组成,接口电路内含微处理器,负责与微机进行数据通信和接收来自微机的控制信号,并控制检测系统的工作。根据应用对象的不同,A/D转换器的采样速率可高达上百Msps[1],并可自带采样保持电路。与A/D转换器相接的数字电压峰值检测电路可采用FPGA,其工作速度也中达上百Msps。因此,在信号的处理速度方面两者都是优于传统的模拟电路方式的。



  2 基于Verilog-HDL的峰值电压检测方案

  2.1 逻辑功能的设计


  图5给出了数字电压峰值检测框图。图中除了A/D转换器外,虚线部分所示均为FPGA组成的功能模块。其功能由Verilog-HDL(HDL:硬件描述语言)来实现[2]。工作原理如下:由A/D转换器取得的数字电压送入数据缓冲模块GET_DATA,GET_DATA中的数据与来自数据存储模块DATA_MEM中的数据都送入数据比较模块DATA_COMP进行比较。如果X端的数据大于Y端的数据,比较标志模块产生标志信号,同时该信号将X端的数据打入数据存储模块DATA_MEM中(系统复位后,DATA_MEM中的数据为最小值0),进而实现了保持2个数据中较大的一个功能。当振动噪声电压经A/D转换器转换成数字电压后,数据存储模块便依A/D转换的次数做相应次的比较,最终将噪声电压的峰并保持下来。VDOUT为数字式的峰值输出电压。



  仅有图5的逻辑功能框图还不能方便地用Verilog-HDL来描述。为此将其进一步细化为图6所示的形式。图6中虚线框内的功能由XC9572(Xilinx公司的产品)实现。图6中,Vin为模拟电压的输入,VDOUT为数字峰值电压的输出,VDOUT、RB1、RB21均与接口电路相接,RB1、RB2受微机的控制。



  2.2 时序图

  图7为图6所示逻辑电路的时序图。按照轴承检测的工艺,当系统复位RB2、启动脉冲RB1到来后,经0.7s的延时,便产生1个宽度为1s的门脉冲G_P。在此期间,A/D转换器连续转换的数据送入数据缓冲器GET_DATA,之后进行数字信号的峰值检测和保持。A/D转换器在此采用MAX120。该转换器的分辨率为12bit,转换时间为1.6μs。2.3 逻辑仿真。



  在硬件电路实现之前,用Verilog-HDL对图6所示的逻辑电路进行了仿真,图8即为仿真结果。从仿真结果中可以看出,系统复位后,D_OUT(VDOUT)输出为0,在1s门脉冲G_P有效期间,GET_DATA接收时钟GET_DATA_CLK。此间来自A/D转换器的数字电压(分别为FROM_ADC=10、15、18、17、4、6、2)相继输入至GET_DATA。由于这期间的最大值为FROM_ADC=18,故有D_OUT=18。在门脉冲G_P无效期间,即使有数据FROM_ADC=11输入,仍有D_OUT=0。

2.4 Verilog-HDL主模块

  限于篇幅,这里只将本系统所涉及到的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;

  //产生秒脉冲

  CNT100 F_4kHz (RB1,BUSY,F_4k); //分频

  CNT100 F_37Hz (RB1,F_4k,F_37); //分频

  DELAY_P1 START_DLY (RB2,RB1,F_7,DLY_05S); //延时0.7s

  DELAY_P2 GENE_SPB (RB2,DLY_05S,F_7,SPB); //延时1s

  GETE_GENE GENE_GP (G_P,DLY_05S&RB2,SPB); //1s的门脉冲

  Assign P_OUT=G_P;

  //ADC数据最大值的比较和检测

  assign GET_DATA_CLK=~BUSY & G_P;

  DFF12 GET_DATA(GET_DATA_CLK,FROM_ADC,TO_COM, ~SPB & RB2); //获取ADC数据

  COMP_D DATA_COMP(TO_COM,D_OUT,D_S); //数据比较

  DFF12 DATA_MEM(BUSY & D_S,TO_COM,D_OUT,RB1 & RB2); //数据存储

  endmodule

  结束语

  与模拟式的峰值电压检测方式相比,数字式的检测方式有着结构简单、系统开发周期短等优点,而采用Verilog-HDL可以方便地实现欲有的功能。 

1楼 0 0 回复