第一范文网 - 专业文章范例文档资料分享平台

等精度数字频率计的设计

来源:用户分享 时间:2025/6/26 5:09:21 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

3 系统总体设计方案

3 系统总体设计方案

等精度数字频率计涉及到的计算包括加,减,乘,除,耗用的资源比较大,用一般中小规模CPLD/FPGA芯片难以实现。因此,我们选择单片机和CPLD/FPGA的结合来实现。电路系统原理框图如图所示,其中单片机完成整个测量电路的测试控制,数据处理和显示输出;CPLD/FPGA完成各种测试功能;键盘信号由AT89C51单片机进行处理,它从CPLD/FPGA读回计数数据并进行运算,向显示电路输出测量结果;显示器电路采用七段LED动态显示,由8个芯片74LS164分别驱动数码管。

数码显示LED×8显示驱动74LS164×888TCLKCPLD/FPGABCLK待测信号信号放大与整形电路P0P3.0~P3.1P2AT89C51单片机RETP1.0~P1.350 MHz晶振复位占空比脉宽周期频率电源 13.3 等精度数字频率计电路系统原理框图图3.1 等精度数字频率计电路系统原理框图

系统的基本工作方式如下:

①P0是单片机与FPGA的数据传送通信口,P1口用于键盘扫描,实现各测试功能的转换;P2口为双向控制口。P3口为LED的串行显示控制口;系统设置5个功能键:占空比,脉宽,周期,频率,和复位。

②7个LED数码管组成测量数据显示器,另一个独立的数码管用于状态显示。 ③BCLK 为测频标准频率为50MHz 信号输入端,由晶体震荡源电路提供。 ④待测信号经放大整形后输入CPLD/FPGA 的TCLK。

5

4 CPLD/FPGA测频专用模块的VHDL程序设计

4 CPLD/FPGA测频专用模块的VHDL程序设计

4.1测频模块逻辑结构

利用VHDL程序设计的测频模块逻辑结构如图所示,其中有关的接口信号规定如下:

①TP(P2.7):TF=0 时等精度测频;TF=1 时测脉宽;

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

③ENDD (P2.4):脉宽计数结束状态信号,ENDD=1计数结束; ④CHOICE(P3.2):自校/测频选择,CHOICE=1 测频;CHOICE=0自校; ⑤START(P2.5):当TF=0 时,作为预置门闸,门宽可通过键盘由单片机控制,START=1时预置门开;当TF=1时,START有第二功能,此时,当START=0时测负脉宽,当START=1时测正脉宽。利用此功能可分别获得脉宽和占空比数据。 ⑥EEDN(P2.3):等精度测频计数结束状态信号,EEND=0时计数结束。 ⑦SEL[P2.2](P2.2,P2.1,P2.0):计数值读出选通控制;当SEL[2.0]=“000”,“001”, “010”... “111”时,将CNT1,CNT2的计数值分8次,每次读出8位,并传达到单片机的P0口。

101415CHEKFFINPUTCHOICESTARTCLRTRIGFSTDSEL[2..0]TFINPUTVCCINPUTVCCINPUTVCC4INPUTVCCINPUTVCCINPUTVCCINPUTVCCINPUTVCCFINCHKFFINCHOIS2CONTRLFINCLK1STARTEENDCLRFSDCLK2CLRC7CNT1CLKCLRQ[31..0]OUTPUT41FOUTEEND1816171920DSELQ1[31..0]Q2[31..0]SEL[2..0]9OO[7..0]GATECLK2FSDCLKOUTCNLPUL6OUTPUT438CONTRL2FINPULSTARTENDDCLR24CNT2Q[31..0]CLKCLROUTPUT42OO[7..0]ENDD

图4.1 测频模块逻辑图

4.2 各模块功能和工作步骤如下:

6

4 CPLD/FPGA测频专用模块的VHDL程序设计

4.2.1 测频/测周期的实现

被测信号脉冲从CONTRL模块的FIN端输入,标准频率信号从CONTRL 的FSD端输入,CONTRL的CLR是此模块电路的工作初始化信号输入端。在进行频率或周期测量时,其工作步骤如下:

①令TF=0,选择等精度测频,然后再CONTRL的CLR端加一正脉冲信号以完成测试电路状态的初始化。

②由预置门控信号将CONTRL的START端置高电平,预置门开始定时,此时由被测信号的上沿打开计数器CNT1进行计数,同时使标准频率信号进入计数器CNT2。 ③预置门定时结束信号把CONTRL的START端置为低电平(由单片机来完成),在被测信号的下一次脉冲的上沿到来时,CNT1停止计数,同时关断CNT2对FS的计数。

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

4.2.2 控制部件设计

如图所示,当D触发器的输入端START为高电平时,若FIN端来一个上升沿,则Q端变为高电平,导通FIN-CLK1和FSD-CLK2,同时EEND被置为高电平作为标志;当D触发器的输入端START为低电平时,若FIN端输入一个脉冲上沿,则FIN-CLK1与FSD-CLK2的信号通道被切断。

FINSTARTDCCLRQFSDCLK1EENDCLK2CLRC

13.5 测频与测周期控制部分电路图4.2 测频与测周期控制部分电路

计数部件设计

图中的计数器CNT1/CNT2是32位二进制计数器,通过DSEL模块的控制,单片机可分4次将其32位数据全部读数。

4.2.3 脉冲宽度测量和占空比测量模块设计

7

4 CPLD/FPGA测频专用模块的VHDL程序设计

根据上述脉宽测量原理,设计如图(CONTRL)所示的电路原理示意图。该信号的上沿和下沿信号对应于未经处理时的被测信号50%幅度时的上沿和下沿.被测信号从FIN端输入,CLR为初始化信号

CONTRL2VCCVCCDCQDCQVCCDCQFINSTARTCLRQQ2PLGTQQ3ENDPULENDD

图4.3 脉冲宽度测量原理图 13.6 脉冲宽度测量原理图测量脉冲宽度的工作步骤如下:

① 向CONTRL的CLR端送一个脉冲以便进行电路的工作状态初始化.

② 将GATE的CNL端置高电平,表示开始脉冲宽度测量,这时CNT2的输入信号为FSD.

③ 在被测脉冲的上沿到来时,CONTRL2的PUL端输出高电平,标准频率信号进入计数器CNT2.

④ 在被测脉冲的下沿到来时,CONTRL2的PUL端输出低电平,计数器CNT2被关断. ⑤ 由单片机读出计数器CNT2的结果,并通过上述测量原理公式计算出脉冲宽度. CONTRL2子模块的主要特点是:电路的设计保证了只有CONTRL2被初始化后才能工作,否则PUL输出始终为零.只有在先检测到上沿后PUL才为高电平,然后在检测到下沿时,PUL输出为低电平:ENDD输出高电平以便通知单片机测量计数已经结束:如果先检测到下沿,PUL并无变化;在检测到上沿并紧接一个下沿后,CONTRL2不再发生变化直到下一个初始化信号到来.占空比的测量方法是通过测量脉冲宽度记录CNT2的计数值N1,然后将输入信号反相,再测量脉冲宽度,没得CNT2计数值N2则可以计算出:

占空比=N1/(N1+N2)*100%

4.2.4 电路显示模块

8

搜索更多关于: 等精度数字频率计的设计 的文档
等精度数字频率计的设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0u3ta0klg547le14lopx1jxus0hkxz00vxx_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top