脉冲参数测量仪的设计与实现(3)FPGA峰值检波测幅值

题目要求测量0.1V-10V的信号,跨度太大,小信号直接采集采不准,因为小了容易受干扰,大信号不能直接采集烧ADC,所以要做的是分档位对小信号放大,对大信号衰减。

首先信号经过电压比较器,分为3路信号,分为3路信号的档位幅值自定,合适即可,然后经过不同倍数的放大然后进行采集。取巧的办法是用峰值检波模块,可以直接得到信号的幅值,但是这样做就没有价值了,在这里说一下利用FPGA写一个峰值检波模块

峰值检波模块的思路:

先初始化一个标志寄存器,将AD采集值与此值进行比较,若初值小于此值,则将更大的采集值寄存在初值寄存器中,由此可以检出峰值。

assign peak =  peak_reg;
//找最大值
always@(posedge ad_clk or negedge rst_n)
    if(rst_n == 1'b0)
      peak_reg <= 8'd0;
   // else if(ctrl == 1'b0)
      //peak_reg <= 8'd0;
  //  else if(ad_data > peak_reg && ctrl == 1'b1)
     else if(ad_data > peak_reg)
      peak_reg <= ad_data ;
    else 
      peak_reg <= peak_reg;

找最小值是一样的思想,若初值大于采集值,则将更大的采集值寄存在初值寄存器中,由此可以检出最小值。

找出峰值后将值再穿给DAC输出,会有一个线性关系,在代码里转换好输出给串口或者显示在LCD屏幕上,我做的是FPGA串口通信传给32,在32的LCD屏幕上进行显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FLipped杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值