1脉冲信号参数测量仪摘要:本设计选用FPGA作为数据处理与系统控制的核心,采用FPGA与单片机相结合的方式制备出可测量脉冲信号频率、占空比、幅度、上升时间的测量仪以及标准脉冲信号发生器。本设计由以下功能模块构成:前端信号处理模块、峰值检波模块、窗口比较器模块、幅值升压模块等。利用FPGA的强大处理能力,完成数字信号处理,并将处理后的信号送至单片机进行显示,设计中综合运用了电容去耦、滤波以及同轴电缆等抗干扰措施,减少了电路干扰。在FPGA内有等精度测频模块、占空比测量模块和上升时间测量模块、标准脉冲产生模块等。显示与校准通过单片机完成。关键词:峰值检波窗口比较器脉冲参数测试仪标准脉冲信号发生器一、系统方案1.方案论证与比较方案一:图1所示为中规模电路脉冲信号测量仪。此方案采用中规模数字电路构成,主要由比较器、功能选择、量程选择、计数器和控制模块组成。该方案电路复杂,频带过窄,功能不强,实现起来比较困难。故不采用此方案。比较器功能选择量程选择计数器控制模块(定时器)键盘显示输入信号图1小规模数字电路原理框图方案二:图2所示为纯单片机方案,该方案以单片机为核心。门控信号由单片机内部计数定时器产生。该方案成本低,但受单片机本身限制,其时序控制能力弱,处理速度慢,无法达到本次设计要求。故不采用此方案。STM32单片机主控键盘显示分频电路输入信号整形电路图2纯单片机方案原理框图方案三:图3所示为FPGA与单片机相结合的方案。此方案中,FPGA构成主要测量模块,输入信号经过前端处理电路,得到5V信号输入到FPGA中。单2片机控制FPGA完成各种测量功能并显示测量数据。该方案外围元件相对较少,对高速信号处理速度快,精度高,且控制灵活、可靠性高。FPGA单片机整形电路衰减/放大电路输入信号键盘显示图3FPGA与单片机结合方案原理框图综上所述,本设计拟采用方案三。2.总体方案设计当进行频率测量时,脉冲信号进入前置分挡模块。当信号较大时衰减,当信号较小时放大。在放大模块中,高频信号通过高速放大器,低频信号通过精密放大器,使输入波形均为幅值适中的脉冲,直接进入FPGA进行计算测量。FPGA中,采用等精度测频方法进行测频和测占空比,利用基本上升时间测量模式进行两个信号的上升时间测量。单片机完成数据读取及校准功能。测量幅值时经过峰值检测并保持电路,再经单片机AD采集测出。二、理论分析与计算1.频率测量方法本设计中的频率测量采用等精度测频法。该方法是将标准频率信号与待测信号输入到两个计数器进行同步计数。如图4所示,测量时单片机先预置闸门时间T,当闸门开启时,等待被测信号触发沿到来,计数器开始计数;预置闸门时间结束时,计数器并不立即停止而是等被测信号下一个同相位触发沿到来才关闭同步门并停止计数。可见实际闸门时间是被测信号周期的整数倍,即与被测信号同步。若被测信号与标准信号的计数值分别为Nx和N0,则被测频率为:fx=Nx/N0×f0(1)若忽略标频f0的误差,则等精度测频可能产生的相对误差为:η=(|fxe-fx|/fxe)×100%(2)式(2)中fxe为被测信号频率的准确值。在测量过程中,由于fx计数的起止时间都是由该信号的上升测触发的,在闸门时间T内对fx的计数Nx无误差;对f0的计数Ns最多相差一个数的误差,即|Ns|≤1。则理论误差:η≤1/(T×f0)(3)由(3)式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,从而实现被测频带内的等精度测量。由于周期和频率互为倒数,因此可根据频率求出对应周期。该方法使测量精度大幅度提高,测量原理框图如图4所示。31sTfxDTNxf0N0图4等精度测频法工作波形图2.占空比测量方法方案一:采用高速A/D进行采样,通过一定的算法得到上升时间、下降时间和占空比,该方案原理简单、但算法实现难度较高。方案二:采用双路比较器电路,通过D/A输出脉冲幅度的50%测量占空比,实现简单、但硬件稳定度要求较高。方案一对算法要求较高,不利于短时间调试;方案二的实现简单,只要硬件稳定,即可满足全部要求。故采用方案二。3.幅度测量方法方案一:采用运放加有源滤波电路测量幅值,该方案电路较为复杂,不适合本设计中使用。方案二:采用峰值检波器进行幅值测量,该方案设计电路原理简单,在低频的幅频特性响应比较好,故采用方案二。4.上升时间测量方法采用测量上升时间的类似方法便可以测出信号的脉宽和占空比。信号首先由模拟开关控制是否对信号进行放大衰减或者跟随,适当的信号进入峰值检波器后由A/D采出信号的幅度。后MCU输出信号幅度10%和90%两个点的参考电压,当信号幅值到达这两个点时,高速比较器做出响应,只要读出两个比较器组成的脉宽时间便可以算出时间沿长短。5.标准脉冲发生器产生方法根据脉冲波产生原理,在FPGA中设计脉冲发生器时,可提取出如下两个主要电路:定时器/计数器电路,输出比较电路。定时/计数器采用循环递减的计数方式,计数器循环从设定的计数初始值递减到0,然后再回到计数初始值再次递减。这样,只需要设定一个计数初始值,并确定计数时钟源频率,即可确定计数一个完整周期的时间,也即脉冲信号频率输出比较电路通过比较计数器实时计数值与比较寄存器中的设定值,来确定最终脉冲输出信号的电平状态。这里,我们可以定义,当计数器计数值大于等于比较值时,脉冲输出端输出低电平,当计数值小于比较值时,脉冲输出端输出高电平。三、电路与程序设计41.前端信号处理电路设计图5前端信号处理电路图采用运放与三极管作为驱动装置来驱动继电器,驱动的控制信号由STM32单片机提供。高速运放OPA690把小信号进行放大处理,大信号衰减,为FPGA测量频率,占空比提供5V的脉冲。小信号放大采用电流反馈型运放,带宽增益积高。在运放的供电端做好滤波工作,尽量减少小信号被放大之后的振铃现象。2.峰值检波器电路设计峰值检波器的精准度直接关系到时间沿和高频时脉宽测量的精度。所以峰值检波器对占空比、频率、以及适当范围幅值的要求都比较高。NE5532是高性能低噪声双运算放大器(双运放)集成电路。图6峰值检波电路图3.比较器部分电路设计比较器的作用是为了检测出上升沿时段的宽度,所以响应速度有比较高的要求,我们的方案采用TLV3502(响应时间4.5ns)的高速比较器来实现这一功能。5图7比较器电路图4信号发生器幅值升压电路设计由FPGA产生的1MHz的标准方波幅值为3.3V,需要通过升压电路将幅值放大至题目要求的5V。本电路采用的是具有禁用功能的宽带高速运算放大器OPA690,该芯片的带宽足够高,能够满足题目要求。图8升压电路图5.标准脉冲信号产生原理计数低端值输出比较值计数顶端值定时器计数值PWM输出信号图9标准脉冲发生原理图6.FPGA模块设计图10为FPGA内部模块图,晶振产生50MHz内部时钟。频率测量是将整形模块产生的信号送入等精度采样模块,通过频率采集模块计数后由cnt_ext与cnt_ref线送入单片机,通过公式f=(cnt_ext/cnt_ref)×fref计算出频率从而得到对应的周期。占空比测量模块类似频率测量,分挡计数送入单片机计算并显示结果。上升时间测量通过上升时间测量模块采集外部两路输入信号进行处理。在FPGA内部,占空比测量与上升时间测量被整合到FSM中,用另外的FSM完成与STM32之间的数据传输。使用Pipeline技术,有效的提高了系统主频,使时序在高主频情况下仍收敛。系统利用FPGA内部丰富的逻辑资源与强大的时序控制,配合单片机显示实现高速系统设计要求。6图10FPGA内部模块图4.软件模块设计图11为系统软件流程图,开始程序后进行初始化,随后进入模式选择页面选择对应功能。根据设计要求,划分了频率测量、时间差测量、占空比测量、校准四个功能。选择对应功能进入对应结果显示界面,STM32单片机通过地址总线、数据总线及控制总线从FPGA获取数据进行周期、频率、占空比、上升时间计算。然后在12684上显示对应的当前的测量结果。图11软件流程图四、测试方案与测试结果1.测试仪器(1)RIGOLDS1052示波器(2)RIGOLDG1022信号发生器(3)ATTENAPS3003S-3D直流电源2.测试方法(1)频率测量:信号发生器输出有效值1V的脉冲,频率从10Hz~2MHz逐渐增加,记录显示结果,并计算测量相对误差。提升幅度采用有效值为10V脉冲,重复以上过程,记录实验结果。降低幅度采用有效值电压为100mV正弦信号观察频率10Hz~2MHz时显示屏上数据结果,记录并计算误差。7(2)脉冲信号占空比的测量:信号发生器输出幅值电压为100mV、频率为10Hz的脉冲,改变占空比10%~90%,记录测量结果并计算误差。重复以上过程改变电压100mV~10V,频率10Hz~2MHz,记录结果并计算。(3)脉冲信号幅度的测量:信号发生器输出频率为10Hz、占空比为10%的脉冲,改变幅值100mV~10V,记录测量结果并计算误差。重复以上过程改变频率10Hz~2MHz、占空比10%~90%,记录结果并计算。(4)上升时间测量:信号发生器输出两路频率、幅值电压都相同的脉冲信号。开始时,频率100Hz,幅值设为50mV,改变两路信号上升时间50ns~999ns,记录显示屏显示结果并计算误差。重复以上过程在要求的范围100mV~10V、10Hz~2MHz内改变频率与幅值,测定上升时间,计算误差。3.测试结果及分析(1)表1频率测量结果(幅值100mV)频率/Hz101001K1M2M测量值/Hz10.001100.000999.9981000000.0012000000.101误差(×10-3)0.010.00.010.00.01表2频率测量结果(幅值1V)频率/Hz101001K1M2M测量值/Hz10.000100.0011000.00110000012000003误差(×10-3)0.00.00.010.00.01表3频率测量结果(幅值10V)频率/Hz101001K1M2M实际值/Hz10.00099.9991000.0021000000.012000000.05误差(×10-3)0.00.10.00.00.0由上表1、2、3可知,频率的测量误差均小于错误!未找到引用源。10-3,超出设计所需精度要求。并且当输入信号电压有效值为5mV时,仍可满足测量误差。(2)表4脉冲信号占空比测量结果(幅值100mV)占空比频率10%20%50%90%实际值误差实际值误差实际值误差实际值误差10Hz9.99%0.1%c0.00%50.00%0.00%89.99%0.01%1KHz9.99%0.1%20.00%0.00%50.00%0.00%89.99%0.01%2MHz9.94%0.60%19.97%0.15%50.00%0.00%90.05%0.05%表5脉冲信号占空比测量结果(幅值1V)占空比频率10%20%50%90%实际值误差实际值误差实际值误差实际值误差10Hz10.00%0.00%20.00%0.00%50.00%0.00%89.99%0.01%1KHz9.99%0.1%20.00%0.00%50.00%0.00%89.99%0.01%2MHz9.97%0.30%20.01%0.05%50.04%0.08%90.09%0.10%8表6脉冲信号占空比测量结果(幅值10V)占空比频率10%20%50%90%实际值误差实际值误差实际值误差实际值误差10Hz10.00%0.00%20.00%0.00%50.00%0.00%89.99%0.01%1KHz9.99%0.1%20.00%0.00%50.00%0.00%89.99%0.01%2MHz9.97%0.30%20.01%0.05%50.04%0.08%90.09%0.10%由表4、5、6数据可得,可很好的测量参数规定范围内脉冲信号的占空比。测量误差在2%范围内,能满足设计要求。(3)表7脉冲信号幅度测量结果(10%占空比)幅值频率0.1V1V5V10V实际值误差实际值误差实际值误差实际值误差10