多功能计数器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多功能计数器
本文中笔者对多功能计数器的原理及设计理念进行了具体的分析和介绍,同时为实际相关的操作提供了参考。
标签:FPGA DDS 频率计相位测量仪周期测量
本设计由MSP430单片机控制各分离模块间的通信与工作,其中测频率、测周期、测相位差等主要功能由FPGA模块实现。
1 方案论证与比较
1.1 频率测量方案论证
方案一:分频段测频率、测周期。
采用传统的测频方法测定频率为1~10MHz的正弦波信号。
方案二:采用高精度恒误差测频法。
高精度恒误差原理方框图如图1所示。当单片机发出“开始测量相位”指令后,控制电路先输出一个清零脉冲,将两个计数器清零,再将控制信号设置成高电平。这时D触发器的Q端为低电平,两个计数器尚未开始计数。被测信号的上升沿到来时,D触发器翻转,其Q端变为高电平,同时启动计数器1和计数器2,分别对标准频率方波信号(频率为f0)和被测信号(频率为fx)计数。从门控制信号被置为高电平开始,经过Tg时间,控制电路将门控信号置为低电平。设在一定时间内,被测信计数值为N2,标准频率信号值为N2,可以由公式fx =(N2÷N1)f0算出频率值。
根据误差传递公式可以得到:
由此可见,测量精度与待测信号的频率无关。这样可以使测量误差低于10-6,所以我們选择采用此方案。
1.2 自制移相网络方案论证
方案一:模拟相移,由R、C组成相移网络。此方案实现起来非常简单,但是相移的角度变化范围窄(只有-90°到90°),而且随着输入信号的频率变化,不好控制。当频率较低时,相移量很小。
方案二:采用DDS数字移相,通过单片机控制AD9851,使其产生任意预置的相移,而且使DDS的输出频率和函数发生器的频率相同。该方案的优点是相移量可以由软件控制,并且变化范围很大(0°~360°都可)、精度高。
鉴于第二种方案有诸多优点,我们选择了方案二。
1.3 相位测量方案论证
方案一:相位—电压转换法。
两路频率相同、相位差恒为φx的被测正弦信号,经限幅放大和脉冲整形后变成两个方波,再经鉴相电路(如异或鉴相),输出周期为T,宽度为Tx的方波,若方波幅度为Ug,则此方波的平均值即直流分量为U0=UgTx/T,因此,用低通滤波器对方波进行平滑滤波后,输出电压即直流电压U0,A/D转换结果即为φx 的度数。
方案二:相位差—时间转换法。
将两路输入的正弦信号A和B分别放大、整形成方波,然后二者经异或门鉴相,其输出信号的占空比即正比于φx。在PFGA内使用数字计数方法计算出该占空比,并由此推算出两输入信号的相位差。方案一原理简单,关键部分是硬件电路(包括整形、鉴相和A/D转换电路),软件部分相对简单,但是低通滤波器的设计比较复杂,将方波整成直流也会引入误差。方案二利用FPGA实现高速计数,测量精度高,大部分功能在FPGA内实现,外部电路少,因此我们选用方案二。
1.4 芯片选择
TL3116是TI公司超快低功耗精密比较器,它的带宽是100M,可以运行在5V单电源或者是正负3.3V双电源的情况下,有一个快速的比较器接口,偏置电压很小,非常适合我们题目的要求,而用一般的芯片做过零比较器(如LM339),带宽达不到要求,所以我们选择了TL3116来完成过零比较功能.
2 系统整体设计
2.1 总体设计硬件电路主要分如下几大模块:MSP430控制模块、FPGA(实现测频和测相位差功能)、电源模块、前置滤波、多档放大模块、整形模块、DDS 移相模块。
2.2 硬件设计下面主要介绍测频测周模块、测相位差模块和DDS移相模块。
2.2.1 测频测周期模块(FPGA内部实现) 该模块是在FPGA里面用Verilog HDL硬件描述语言实现的。其运行原理为:将待测正弦信号经整形滤波以后送入FPGA。Reset信号用于复位此电路,然后置start为1,被测信号从f_in进入FPGA,在start为1的下一个f_in下降沿与门打开,延时一段时间后start置0结束计数。然后在r_date的下降沿取走数据。在MSP430里面计算即可得出频率。
由于输入信号的幅度不确定,波形的边缘不够陡峭,而FPGA测频测相是相对TTL电平进行的,所以我们对输入信号进行了放大整形。电路的运放采用AD811,它有140M带宽,很好地满足要求。
2.2.2 测相位差模块(FPGA内部实现) 其中:将两路有固定相差同频率的正弦信号经过整形、滤波为两路方波信号,这两路方波信号通过F_1和F_2进入FPGA。当开始信号到来时,F_1和F_2异或后,得到一个具有一定占空比的方波信号(该占空比正比于相移)。通过对占空比的精确测量就可以算出相移。
2.2.3 DDS数字移相电路
其电路图如图1所示
图中的DDS芯片为AD9851。它是AD9850的改进版,可以快速连续的输出不同频率、不同位移的正弦波信号。
2.3 软件设计
2.3.1 软件设计流程
本设计的软件流程图分两部分:MSP430部分软件流程图和FPGA部分软件流程图。如图2所示。
MSP430单片机主要完成以下功能:对FPGA工作模式、工作过程的控制;为外围芯片提供正确的工作时序;控制DDS芯片产生所需频率的波形;接受并响应用户输入;实时显示频率、周期、相位差信息。
FPGA主要完成对待测信号频率、周期及相位差的测量。我们在里面设计了两个功能模块和一个模式选择模块。其中模式选择模块用来根据单片机指示选择哪一个功能模块工作。
3 性能测试
3.1 主要测量仪器:数字万用表数字示波器80MHZ函数发生器
3.2 频率、周期测量
由表1可以看出,设定频率与频率相差基本上在万分之间零点几之间跳动,有时误差会相对大一些,我们分析主要是由于FPGA处理数据的速度很快,所以对于低频信号容易把杂波也计算进去,考虑到这个问题,我们主要用投切电容器来解决这个问题,将频率的误差降到最小。
3.3 相位测试