【分享】2015年全国大学生电子设计竞赛(F题)数字频率计

  [复制链接]

39

主题

84

帖子

243

积分

二氧化硅

Rank: 2

积分
243
楼主
查看: 6808回复: 0 发表于 2019-1-16 15:53:17   只看该作者
本帖最后由 Vera 于 2019-1-16 16:05 编辑

一、系统方案
本系统主要由放大比较模块、主控模块和显示模块组成,下面分别论证这几个模块的选择。

1. 放大比较模块的论证与选择
方案一:选用通用运放TL084作为放大器、通用运放OP07搭接比较器。该方案在低频范围内适用,能够实现良好的线性放大以及非线性整型比较。但由于选用运放的性能限制,该方案无法适用于高频范围。
方案二:选用运算放大器THS3001作为放大器、专用比较器LM311。该方案适用带宽较高的运放,相对于方案一进一步提高了放大器的频率适用范围,但是LM311的响应时间对于较高频仍然无法满足要求,故同样不适用与高频放大和比较。
方案三:选用可变增益放大器VCA821进行信号放大、专用高速比较器MAX9691制作比较器。该方案由于使用的运放带宽足够,所用比较器也满足高频要求,故认为该方案较为切实可行
综合考虑采用方案三。

2. 主控模块的论证与选择
方案一:选用MSP430单片机。该方案优点在于430单片机的超低功耗,且系统板上自带LCD显示屏,驱动较为简单,但是由于系统时钟频率不够高,故此方案不可行。
方案二:选用Sparton3A系列FGPA。FPGA时钟可以倍频到足够高的频率,能够顺利捕捉信号边沿,对于各种所需参数的测量较为便捷。但是,对于数据的乘除等处理以及数据显示,利用FPGA实现则较为吃力。
方案三:选用Sparton3A系列FPGA配合Cortex M3内核的LM3S6965型单片机。FPGA能够较为轻松的实现信号各个参数的测量,而单片机对于数据的乘除运算以及显示驾轻就熟,FPGA测量获得的数据通过通信给单片机进行数据处理和显示,能够合理高效地显示出正确的测量数据。
综合考虑采用方案三。

3. 显示模块的论证与选择
方案一:选用多位八段数码管动态扫描显示测得的各个脉冲信号参数数据。LED数码管价格适中,但不能有效显示参数单位,而且在显示比较多的位数时数码管的使用必然增多,相应的会增加IO口的使用数量,连线方面亦不简单,编程上也会相应的复杂,考虑到效率的因素决定不采用数码管显示的方案。
方案二:选用3.5英寸320x480LCD模块,该模块价格适中,可显示相应参数以及符号,但驱动程序以及连线复杂。
方案三:选用 TFT5001为显示屏的LCD显示模块,该液晶屏,相比430单片机自带显示屏,其屏幕较大,且能显示彩色图形图像,视觉效果佳。而且模块附带Cortex M3单片机驱动程序,函数库也较全,使用起来较为方便、灵活。
综合以上三种方案,选择方案三。

二、系统理论分析与计算

1. 宽带通道放大器分析
比较各类放大器性能,尤其选择增益带宽积较大、压摆率较高的运放设计宽带放大器。宽大放大器采用两级放大,分别选用型号为VCA820和THS3201的宽带运放,前级采用VCA821做为放大器,VCA821可以做到40db以上的可调增益,并且压摆率较高,在100M的范围内能轻松达到4db增益,至于THS3201,有较大的宽带增益积,可以放大产生较大的增益,但由于较大的增益会带来明显纹波,影响频率测量,故只产生6db的增益 。

2. 被测参数测量方法分析
(1)频率
频率的测量区分高频和低频,并且针对不同的频率范围使用不同的测量方法进行测量。对于低频脉冲信号,使用测周法,即先将输入脉冲进行二分频,则分频产生脉冲宽度则等于原输入脉冲的周期。通过FPGA读取前后两个时钟时刻的分频脉冲电平即可捕捉其边沿,即当前一时钟时刻电平pulse_a为高电平,当前时钟时刻电平pulse为低电平,说明上升沿到来,初始化计数值;当两个时刻电平值都为高时,即可进行时钟计数;当pulse_a为低电平,pulse为高电平时,说明下降沿到来,将计数值存至寄存器中。即测得一个脉冲周期的时钟计数n,设时钟频率为clk,则待测脉冲频率Freq = clk/n
对于高频脉冲信号,使用直接测频法,即产生1s的闸门信号,在该信号期间计数待测脉冲的个数即为待测脉冲序列的频率。即设待测脉冲计数为n,则待测脉冲频率:Freq=n

(2)占空比
仿照低频脉冲信号的测周法,对待测脉冲高电平期间进行时钟计数,并利用之前测得的待测脉冲周期计数,二者相除即可获得占空比。即设高电平期间时钟计数为n1,时钟频率为clk,设置粗估计门限频率,当测量频率高于门限频率时,则占空比为:Duty=n1/(clk/Freq)
当测量频率低于门限频率时,则占空比为:Duty=n1/n

(3)时间间隔
与测量占空比的方法类似,但在此之前需将两路方波信号通过FPGA进行异或运算,获得的脉冲宽度即为两路方波的时间间隔,而后仿照测周法获得高电平时钟计数,即可计算得出时间间隔。设两路信号为s1和s2,则获得二者抑或值s=s1^s2,从而获得s高电平期间时钟计数值n2,则时间间隔:Timeslot=n2/clk(秒)

3. 提高仪器灵敏度的措施
在测量时间间隔方面,原本采用的方法是利用两路信号异或得到的信号高电平部分并以之为门限,进行内部时钟计数N,在根据内部时钟频率f0,直接计算的时间间隔T=N/f0。但是发现这个方法误差很大,特别在时间间隔到达0.1us级别的时候,因为本身的内部时钟频率才200MHz。后赖采用以内部1s的时间门限,计数在这时间段内异或后信号高电平的总计数N,再根据T=N/2f*fo(其中f为信号的频率),这样就扩大计数时间段从而降低误差。

在测量低频部分,fpga采用的是测周法,然而在低频部分,由于前级电路放大干扰等原因产生毛刺脉冲,造成fpga在边沿的误判,导致测得的频率跳动变化。后来,根据调试fpga,发现在发生边沿误判的情况下,只有少数边沿会发生边沿误判,在单片机端,在接收fpga发送过来的数据,利用滤波算法,进行滤除错误的频率数据,从而提高了频率数据的精度,降低边沿误判的差错。

三、电路与程序设计

1. 电路的设计

  图1   系统总体框图
                                 
图2   FPGA子系统框图

图3   单片机子系统框图
   
2. 程序的设计:程序功能描述与设计思路
(1)程序功能描述
根据题目要求软件部分主要实现序列脉冲的频率、占空比以及两路脉冲时间间隔的测量、处理和显示。
参数测量部分:FPGA并行测量频率值、占空比以及两路脉冲时间间隔。
数据处理部分:单片机接收FPGA发送的数据进行计算获得相应参数值
显示部分:单片机驱动LCD显示频率、占空比和两路脉冲时间间隔。

(2)程序设计思路
编程采用分而化之、自上而下的模块化思想,对不同参数测量分别进行测试,最后整合成一个完整的参数测量程序。单片机需要根据FPGA时钟的选择,在数据处理时调整相应参数,从而获得正确的参数并显示。程序流程图如下:

1. 单片机主程序流程图

2. FPGA程序流程图

四、测试方案与测试结果

1.测试方案
针对设计任务中的每一个要求都进行测试,每个要求都测试10次,取其平均值作为最终值。
(1)频率与周期测试
根据基本要求和提高要求中的频率范围1Hz到100MHz正弦信号,取其中8个典型值,并分别在输入信号峰峰值为200mVpp、500mVpp、1Vpp的条件下进行测试。
(2)时间间隔测试
根据要求中的时间间隔范围0.1us到100ms,取其中7个典型值,并分别在输入信号频率为1KHz、100KHz和1MHz条件下进行测试。
(3)占空比测试
根据要求中的占空比范围10%到90%,取其中8个典型值,并分别在输入信号频率1Hz、1KHz、100KHz、1MHz条件下,以500mV为峰峰值进行测试。

2. 测试仪器
RIGOL DG1022数字信号发生器、4位半数字万用表、DSO-X 2002A示波器、GPD3303D稳压电源。

3. 测试结果及分析

(1)基本要求
表一:频率和周期测量功能(正弦波)

表二:时间间隔测量功能(方波)

(2)发挥要求
表三:频率范围提高到1Hz~100MHz(正弦波)

表四:最小有效值电压10mV(正弦波)

表五:脉冲信号占空比的测量

5. 测试分析与结论
根据上述测试数据,我们得出了各个实际参数所对应我们自制数字频率计得到的参数测量值,由此可以得出以下结论:
1、对于正弦波频率测量,由于测量方法的选用,对于高频和低频的测量十分精确,50kHz附近频率测量存在一定偏差,但仍在要求误差范围内。
2、对于占空比的测量,在低频率段能够精确测量,在高频率段由于测量方法的局限,存在一定误差,但仍可接受。
3、对于时间间隔的测量,方法与占空比测量方法类似,所以存在同样的测量现象。
综上所述,本设计基本达到设计要求。

五、结论与心得
通过四天三夜的数字频率计制作,我们实现了电压有效值10mV~1V下1Hz~100MHz的正弦波频率、50mV~1V下1Hz~5MHz的矩形波10%~90%占空比以及50mV~1V下的两路100Hz~1MHz方波间隔时间测量的目标。其中,由于脉冲信号幅值是10mV~1V,而FPGA检测高电平为5V左右,故须将任意脉冲幅值转换为高电平5V的占空比、频率一致的方波信号,但由于高频时得到的转换波形占空比略有变化,这里会造成些许误差,但仍在可控范围之内。另外,在测量占空比和两路信号时间间隔时,由于测量方法的限制,在较低频范围内能够精确测量,而在较高频范围内存在一定测量误差,但此误差并不会造成测量的完全失控,在允许范围之内。总的来说,我们基本实现了题目所要求的指标。
这次比赛,是体力、智力和知识量的三重考验,由于任务较为艰巨,加之时间紧迫,在这短短的四天三夜里,我们需要时刻集中精力进行软硬件模块的分别制作、测试以及软硬件联调,最终才得以将整个作品加以集成。虽然整个比赛过程是煎熬和艰辛的,但通过自己的努力,最终能够制作出一件精致而又实用的作品的感觉是美好的。通过这次的电子设计竞赛,我们所学习的专业知识得以付诸实践并加以巩固,同时更加提升了我们对于电子嵌入式作品制作的兴趣和热情,相信在将来的日子里,我们还会以无比的热情投入到电子设计的行列中。



快速回复 返回顶部 返回列表