当前位置:文档之家› 等精度数字频率计

等精度数字频率计

江西理工大学应用科学学院SOPC/EDA综合课程设计报告完成时间2012年01月03日目录第一章设计项目的分析:1.1 设计原理1.2 设计要求1.3 设计思路第二章项目工作原理及模块工作原理2.1 项目工作原理2.2 频率测量模块的工作原理2.3 周期测量模块的工作原理2.3.1 直接周期测量法2.3.2 等精度周期测量法2.4 脉宽测量模块的工作原理2.5 占空比测量模块的工作原理第三章系统设计方案3.1 等精度数字频率计项目设计方案3.1.1等精度数字频率计的原理图3.1.2系统的主要组成部分3.1.3系统的基本工作方式3.1.4 CPLD/FPGA测频专用模块的VHDL程序设计3.2 测频/测周期的实现3.3 控制部件设计3.4 计数部件设计3.5 测量脉冲宽度的工作步骤第四章主要VHDL源程序4.1 频率计测试模块4.2 计数模块4.3 测频、周期控制模块4.4 测脉宽、占空比控制模块4.5 自校/测试频率选择模块4.6 计数器二频率切换模块第五章项目硬件测试及仿真结果5.1 硬件试验情况5.2 仿真结果第六章设计总结附录一参考文献第一章设计项目的分析1.1 设计原理频率计用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。

通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1s。

闸门时间也可以大于或小于1s。

闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。

闸门时间越短,测得频率值刷新就越快,但测得的频率精度就受影响。

1.2 设计要求(1) 对于频率测试功能,测频范围为0.1 Hz~70 MHz;对于测频精度,测频全域相对误差恒为百万分之一。

(2) 对于周期测试功能,信号测试范围与精度要求与测频功能相同。

(3) 对于脉宽测试功能,测试范围为0.1 μs~1 s,测试精度为0.01 μs。

(4) 对于占空比测试功能,测试精度为1%~99%。

1.3 设计思路利用计数器A对时钟脉冲信号进行计数,同时使用另一个计数器B对被测信号计数。

当测量时钟脉冲信号的计数器A累积到一定数值时,将计数器B的结果传送到触发器中并通过一个时钟脉冲锁存,并译码送到七段数码管输出。

为了使测量误差尽可能小,可以在被测信号的上升沿使计数器A和计数器B同时计数,为此,可添加一个D触发器,以被测信号作为D触发器的时钟信号,高电平为输入端,输出端Q作为两个计数器的计数允许信号。

其原理可用图1表示。

基于传统测频原理的频率计的测量精度将随被测信号的频率的下降而降低,在使用中有较大的局限性,而等精度频率计不但具有较高的测量精度,而且在整个频率区域能保持恒定的测试精度。

第二章项目工作原理及模块工作原理2.1 项目工作原理图2-1 等精度数字频率计工作原理图图中“预置门控制信号”CL可由单片机发出,可以证明,在1秒~0.1秒时间选择的范围内,CL的时间宽度对测频精度几乎没有影响,在此设其宽度为Tpr。

BZH和TF模块是两个可控的32为高速计数器,BENA和ENA分别是它们的计数允许信号端,高电平有效。

标准频率信号从BZH的时钟输入端BCLK输入,设其频率为Fs;经整形后的被测信号从与BZH相似的32为计数器TF的时钟输入端TCLK输入,设其真实频率值为Fxe,被测频率为Fx。

测频原理说明如下:图2-2 TOP 模块图测频开始前,首先发出一个清零信号CLR,使两个计数器和D触发器置0,同时通过信号ENA,禁止两个计数器计数。

这是一个初始化操作。

然后由单片机发出允许测频命令,即令预置门控信号CL为高电平,这时D触发器要一直等到被测信号的上升沿通过时Q端才被置1,与此同时,将同时启动计数器BZH和TF,进入“计数允许周期”。

在此期间,BZH和TF分别对呗测信号和标准信号同时计数。

当Tpr秒后,预置门信号被单片机置为低电平,但此时两个计数器仍没有停止计数,一直等到随后而至的呗测信号的上升沿到来时,才通过D触发器将这两个计数器同时关闭。

被测频率值为Fx,标准频率为Fs,设在一次预置门时间Tpr中对被测信号计数值为Nx,对标准信号的计数值为Ns,则下式成立:Fx/Nx=Fs/Ns由此可推得:Fx=(Fs*Nx)/Ns最后通过控制SEL选择信号和64位至8位的多路选择器MUX64—8,将计数器BHZ和TF中的两个32位数据分8此读入单片机并按照上式进行计算和结果显示。

2.2频率测量模块图2-3 自校/测试频率选择模块图图2-4 计数器二频率切换模块(1)直接测频法:把被测频率信号经整形电路处理后加到闸门的一个输入端,只有在闸门开通时间T(以秒计)内,被计数的脉冲送到十进制计数器进行计数。

(2)组合测频法:是指在高频时采用的直接测频法,低频时采用直接测量周期法测信号的周期,然后换算成频率。

(3)倍频法:是指把频率测量范围分成多个频段,使用倍频技术,根据频段设置倍频系数,将经整形的低频信号进行倍频后再进行测量,对高频段则直接进行测量。

被频法较难实现。

(4)等精度测频法2.3 周期测量模块图2-5 测频、周期控制模块图(1)直接周期测量法:用被测信号经放大整形后形成的方波信号直接控制计数门控电路,使主门开放时间等于信号周期Tx,时标为Ts的脉冲在主门开放时间进入计数器。

设在Tx期间计数值为N,可以根据以下公式来算得被测次你好周期:Tx=N*Ts经误差分析,可得结论:用该测量法测量时,被测信号的频率越高,测量越大。

(2)等精度周期测量法:该方法在测量电路和测量精度上与等精度频率测量完全相同,只是在进行计算时公式不同,用周期1/T代换频率f即可,其计算公式为:Tx=(Ts*Ns)/Nx2.4 脉宽测量模块图2-6测脉宽、占空比控制模块图在进行脉冲宽度测量时,首先经信号处理电路进行处理,限制只有信号的70MHZ幅度及其以上部分才能输入数字测量部分。

脉冲边沿被处理得非常陡峭,然后送入测量计数器进行测量。

测量电路在检测到脉冲信号的上升沿时倒开计数器,在下降沿时关闭计数器,设脉冲宽度为Twx,计算公式为:Twx=Nx/fs2.5 占空比测量模块对于占空比K的测量,可以通过测量正反两个脉宽的计数值来获得。

设正脉宽的计数值N1,对负脉宽的计数值为N2,则周期计数值为N1+N2,于是K为:K=N1/(N1+N2)*%第三章系统设计方案3.1等精度数字频率计项目设计方案3.1.1等精度数字频率计的原理等精度数字频率计涉及到的计算包括加、减、乘、除,耗用的资源比较大,用一般中小规模CPLD/FPGA芯片难以实现。

因此,我们选择单片机和CPLD/FPGA的结合来实现。

电路系统原理框图如图3-1所示,其中单片机完成整个测量电路的测试控制、数据处理和显示输出;CPLD/FPGA完成各种测试功能;键盘信号由AT89C51单片机进行处理,它从CPLD/FPGA读回计数数据并进行运算,向显示电路输出测量结果;显示器电路采用七段LED动态显示,由8个芯片74LS164分别驱动数码管。

图3-1 等精度数字频率计电路系统原理图3.1.2等精度数字频率计主要由以下几个部分组成(1)信号整形电路。

用于对待侧信号进行放大和整形,以便作为PLD器件的属于信号。

(2)测频电路。

测频电路是测频的核心电路模块,可以由FPGS等PLD器件担任。

(3)单片机电路模块。

用于控制FPGA的测频操作和读取测频数据,并作出相应数据处理。

安排单片机的P0口直接读取测试数据,P2口香FPGA发控制命令。

(4)100MHZ的标准频率信号源。

本模块采用高频稳定度和高精度度的晶振作为标准频率发生器,产生100MHZ的标准频率信号直接进入FPGA。

(5)键盘模块。

可以用5个键执行测试控制,一个是复位键,其余是命令键。

(6)数码显示模块。

可以用7个数码管显示测试结果,最高可表达百万分之一的精度。

考虑到提高单片机I/O口的利用率,降低编程复杂性,提高单片机的计算速度以及降低数码显示器对主系统的干扰,可以采用串行静态显示方式。

3.1.3系统的基本工作方式如下(1) P0口是单片机与FPGA的数据传送通信口,P1口用于键盘扫描,实现各测试功能的转换;P2口为双向控制口。

P3口为LED的串行显示控制口。

系统设置5个功能键:占空比、脉宽、周期、频率和复位。

(2) 7个LED数码管组成测量数据显示器,另一个独立的数码管用于状态显示。

(3) BCLK为测频标准频率50 MHz信号输入端,由晶体振荡源电路提供。

(4)待测信号经放大整形后输入CPLD/FPGA的TCLK。

3.1.4 CPLD/FPGA测频专用模块的VHDL程序设计利用VHDL设计的测频模块逻辑结构如图4所示,其中有关的接口信号规定如下:(1) TF(P2.7):TF=0时等精度测频;TF=1时测脉宽。

(2) CLR/TRIG(P2.6):当TF=0时系统全清零功能;当TF=1时CLRTRIG的上跳沿将启动CNT2,进行脉宽测试计数。

(3) ENDD(P2.4):脉宽计数结束状态信号,ENDD=1计数结束。

(4) CHOICE(P3.2):自校/测频选择,CHOICE=1测频;CHOICE=0自校。

(5) START(P2.5):当TF=0时,作为预置门闸,门宽可通过键盘由单片机控制,START=1时预置门开;当TF=1时,START有第二功能,此时,当START=0时测负脉宽,当START=1时测正脉宽。

利用此功能可分别获得脉宽和占空比数据。

(6) EEND(P2.3):等精度测频计数结束状态信号,EEND=0时计数结束。

(7) SEL[2..0](P2.2,P2.1,P2.0):计数值读出选通控制。

3.2 测频/测周期的实现(1) 令TF=0,选择等精度测频,然后在CONTRL的CLR端加一正脉冲信号以完成测试电路状态的初始化。

(2) 由预置门控信号将CONTRL的START端置高电平,预置门开始定时,此时由被测信号的上沿打开计数器CNT1进行计数,同时使标准频率信号进入计数器CNT2。

(3) 预置门定时结束信号把CONTRL的START端置为低电平(由单片机来完成),在被测信号的下一个脉冲的上沿到来时,CNT1停止计数,同时关断CNT2对fs的计数。

(4) 计数结束后,CONTRL的EEND端将输出低电平来指示测量计数结束,单片机得到此信号后,即可利用ADRC(P2.2)、ADRB(P2.1)、ADRA(P2.0)分别读回CNT1和CNT2的计数值,并根据等精度测量公式进行运算,计算出被测信号的频率或周期值。

图3-2 测频模块逻辑图图3-3 测频/测周期的实现电路图3.3 控制部件设如图3-3所示,当D触发器的输入端START为高电平时,若FIN端来一个上升沿,则Q端变为高电平,导通FIN→CLK1和FSD→CLK2,同时EEND被置为高电平作为标志;当D触发器的输入端START为低电平时,若FIN端输入一个脉冲上沿,则FIN→CLK1与FSD→CLK2的信号通道被切断。

相关主题