网站首页 | 技术文章 | 解决方案 | 电子书籍 | 下载中心 | 电子商城 | 技术论坛 | 电子博客 | 商务信息  
联系站长
加入收藏
会员登陆
交易首页 最新信息 - 推荐信息 - 热门信息 - 免费发布 - 行业新闻 - 行业资讯 - 行业知识 - 积分说明 - 信息分类 - 企业展示 - 帮助
 您的位置: 中国电子设计 >> 技术文章 >> 测试测量 >> 正文 商务信息栏目开通公告  [2008-05-19 11:47:00]
   □  基于CPLD的精确频率测量仪设计   
基于CPLD的精确频率测量仪设计
[作者:陈菊萍 于莲芝 李蛟    转贴自:微计算机信息    点击数:    更新时间:2008-9-8
【字体:

The Design of Precision Frequency Measuring Instrument Based on CPLD
Abstract  This paper discusses the methods used CPLD design. accurate measurement of frequency in the design of digital systems design : a measuring instrument-Sampling time at the same time and frequency signal to the standard frequency signal count. Sampling is completed, the two numerical terms, multiplied by the standard rate can be accurately measured frequency value.
Key  words  Frequency  CPLD  VHDL
摘  要  本文主要论述了采用CPLD的设计方法,在数字系统设计精确测量频率测量仪的一种设计:在采样时间内同时对标准频率信号和被测频率信号计数。采样完成后,把二者的计数值相比,再乘以标准频率就可以得到被测频率的精确值。
关键词   频率   CPLD     VHDL

1  引    言
 
无论是频率、周期还是时间间隔的数字化测量,均是基于主门加计数器的结构而实现的。图1给出了这种计数式直接测量频率的原理方框图。

 


其中主门具有“与门”的逻辑功能。主门的一个输入端送入的是频率为Fx的窄脉冲,它是由被测信号经A通道放大整形后得到的。主门的另一个输入端送入的是来自门控双稳的闸门时间信号Ts。因为门控双稳是受时基(标准频率)信号控制的,所以Ts既准确又稳定。设计时通过晶体振荡器和分频器的配合,可以获得10S、1S、0.1S等闸门时间。由于主门的“与”功能,它的输出端只有在闸门信号Ts有效时间才有频率Fx的窄脉冲输出,并送到计数器去计数,计数值为N=Ts/Tx=Ts.Fx,它与被测信号的频率Fx成正比,由此可得:Fx=N/Ts

2  利用CDLD实现频率测量

本系统中的CPL采用FLEX10K系列EPF10K100TC144-3。该芯片具有高密度、低功耗、高速度和灵活的互联方式,支持多电压接口,多种配置的特点。
2.1  CDLD测量系统设计
CPLD频率计的主系统如下图所示,主要有5个部分组成:
 

(1)信号整形电路。用于对待测信号进行放大和整形,以便作为PLD器件的输入信号。
(2)测频电路。是测频的核心电路模块,可以有FPGA等PLD器件担任。40M的标准信号频率可直接进入FPGA 。
(3)单片机电路模块。用于控制FPGA的测频操作和读取测频数据,并做出相应处理。单片机的P0口可以直接读取测试数据,P2口向FPGA发送控制命令。
(4)键盘模块。一个命令键,一个复位键。
(5)数码显示模块。可以8 个数码管显示测试结果,考虑到提高单片机I/O口的利用率,减低编程复杂性,提高单片机的计算速度以及降低数码显示器对主系统的干扰,可采用串行静态显示方式。
2.2 CPLD测频原理
频率测量的方法实现可以简单的由图3来说明。在图3中预置门控制信号CL可以由单片机发出,CL的时间对测频精度较小,所以可以在1秒和0.1秒之间选择,在此设其宽度为TPr。 

BZH和TF是两个可控的32位高速计数器,BENA和ENA分别是他们的计数允许信号端,高电平有效。标准频率信号从BZH的时钟输入端BCLK输入,设其频率为Fs;经过整形后的被测信号从与BZH相似的32位高速计数器TF的时钟输入端TCLK输入,设其真实频率值为Fxe,测量频率为Fx。
测试开始前,首先发出一个清0信号CLR,使两个计数器和D触发器置0,然后由单片机发出允许测频命令,即令预置门控制信号CL为高电平,这时D触发器要一直等到被测信号的上沿通过时Q端才被置1(即SRART为高电平),与此同时,将同时启动计数器BZH和TF,进入允许计数周期。
在此期间,BZH和TF分别对被测信号(频率为Fx)和标准信号(频率为Fs)同时计数。当TPr秒后,预置门信号被单片机置为低电平,但此时两个计数器仍没有停止计数,一直等到随后而来的被测信号的上升沿到来时,才通过D触发器将这两个计数器同时关闭。并且CL的宽度和发生时间都不会影响计数;使能信号(START)允许计数的周期总是恰好等于待测信号TCLK的完整周期数,这正是确保TCLK在任何频率条件下都能保持恒定精度的关键,而且,CL宽度的改变以及随即的出现时间造成的误差最多只有BCLK信号的一个时钟周期,如果BCLK由精度稳定的晶体震荡器发出,则任何时刻的绝对误差只有一亿分只一秒。
设在一次预置门时间TPr中对被测信号的计数值为Nx,对标准频率信号的计数值为Ns,则下式成立:Fx/Nx=Fs/Ns
得出频率为:Fx=(Fs/Ns)Nx
最后通过控制SEL选择信号和64位至8位的多路选择器MUX64-8,将计数器BZH和TF的两个32位数据分8次读入单片机再按上式进行计算和结果显示。
3   VHDL语言
VHDL的英文全称是Very  High Speed Intergrated Circuit Hardware Description Languag,简称为VHDL硬件描述语言。它和Verilog-HDL语言是目前国内外应用最为广泛的硬件描述语言,其他的还有AHDL等硬件描述语言。VHDL硬件描述语言由于本身的特点和长处,使得它是众多硬件描述语言中最适合于用CPLD和FPGA等器件实现数字电子系统设计的硬件描述语言。因此本设计中也采用了VHDL语言来进行模块设计。VHDL是一种硬件描述语言,描述的是实际的电路系统,电路系统内各功能模块的工作状态可以相互独立、互不相关,也可以互为结果。一个完整的VHDL设计由四个部分组成:库、程序包;实体;结构体;配置。以上四部分并不是每个VHDL程序都必须具备的,其中只有一个实体和一个与之对应的结构体是必须的,用来对电路结构和功能进行语言描述。
VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(或称可视部分,即端口)和内部(或称不可视部分),即设计实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。VHDL作为EDA的重要组成部分,提供了借助计算机进行数字系统设计的一种很好的手段。
4   频率的测量
在图4中输入端为D触发器,其作用是:单片机发出预置门信号CL(即允许测频命令)给D触发器,即令预置门控制信号为高电平,但是,这时触发器要一直等到被测信号的上升沿通过时Q端才被置1,与此同时将启动两个计数器。
COUNT32(程序可由VHDL语言生成)为32位高速计数器,它包含32位计数器和32位锁存器两部分,且两个COUNT32相同。

     

终端为MUX64(程序可由VHDL语言生成)是一个8路8位的多路选择器,它通过SEL信号将计数器的64位数据分8次送到单片机中进行运算和结果显示,它们都是有VHDL语言生成。
图5时序图中TCLK为被测频率,BCLK为标准频率为100MHz,CL为预置门控制信号,CLR为清0信号。
首先,测试开始前发出气概0信号,使两个计数器和D触发器置0,然后单片机发出允许测频命令,即令预置门控制信号为高电平,这时D触发器要等到被测信号的是上升沿通过时Q端才被置1,与此同时,两个计数器启动,几如上图的允许计数周期,开始计数。



在此期间,两个计数器分别对被测信号(频率为Fx)和标准信号(频率为Fs)同时计数。经过计数允许周期(不超过0.1秒,可任意小)后,预置门信号被单片机置为低电平,但此时两个计数器仍没有停止计数,一直等到随后而来的被测信号的上升沿到来时,才通过D触发器将这两个计数器同时关闭。并且CL的宽度和发生时间都不会影响计数;使能信号允许计数的周期总是恰好等于待测信号TCLK的完整周期数,在正是确保TCLK在任何频率条件下都能保持恒定精度的关键,而且,CL宽度的改变以及随即的出现时间再成的误差最多只有BCLK信号的一个时钟周期,如果BCLK由精度稳定的晶体震荡器发出,则任何时刻的绝对误差只有一亿分只一秒。
标准信号频率值为Fs=40MHz,被测信号频率为Fx (1HZ-60HMZ)。在图5允许计数周期内,对被测信号的计数值为Nx=17,对标准信号的计数值为Ns=1700。得出:Fx/Fs=Nx/Ns 推出
Fx=Fs.Nx/Ns=40M*17/1700= 0.4M
通过MUX64是一个64位至8位的多路选择器,它通过SEL信号将计数器的64位数据分8次送到单片机中进行运算和结果显示。
5   本文作者的创新之处
基于CPLD的精确频率测量仪设计,利用XC95108芯片,通VHDL硬件描述语言,生成相应的频率计硬件电路,在采样时间内,完成对标准频率和被测频率的计数,把二者的计数值相比,再乘以标准频率就可以得到被测频率的精确值。采用这种设计方法,系统软硬件结构简单,开发周期短,测量精度高。
参考文献
1  J.Bhasker《Verilog HDL综合实用教程:A Practical Primer》  清华大学出版社 2004.1。
2  宋方杰 罗丰 吴顺军《CPLD技术及应用》西安电子科技大学出版社 2004
3  周立功 夏宇闻《单片机与CPLD综合应用技术》北京航空航天大学出版社2003。
4  袁俊泉 孙敏琪 曹瑞《Verilog HDL数字系统设计及其应用》西安电子科技大学出版社 2002.1
5  杜建国 《Verilog HDL硬件描述语言》 国防工业出版社 2004
6  严文煜 江友华 龚幼民《基于CPLD的级联型多电平变频器脉冲发生器的设计》 微计算机信息,2006,6-2:214-215

作者简介
陈菊萍,女,出生于1982年,汉族,上海理工大学光电学院硕士研究生,专业检测技术及其自动化装置。主要研究方向是嵌入式系统开发和应用。
于莲芝,女,上海理工大学光电学院教授,主要研究流量分析和控制,以及嵌入式系统的开发和机器人系统等。
通信地址:上海市军工路516上海理工大学90号信箱 陈菊萍(200093) E-mail:jpusst@163.com 

 

  • 上一篇文章:一种测量石英晶体静电容的新方法
  • 下一篇文章:没有了
  • Google
     
    Web www.cediy.com
    发表评论 □告诉好友 □打印此文 □关闭窗口
     最新热点文章
     基于USB接口的ISP下载器设计
     一种新型高性能电流型开关电源PWM比...
     一种超宽带低噪声放大器的设计方法...
     基于单片机和串行总线技术的热量表...
     数字温度传感器详解
     用AD8302实现RF/IF幅度和相位测量系...
     
     最新推荐文章
     基于TMS320C6713与PC机的PCI总线高...
     基于TMS320VC5409和Cygnal单片机构...
     基于ARM控制器S3C44B0x的给煤机控制...
     基于USB 2.0的高速数据采集卡在虚拟...
     大功率谐振过渡软开关技术变频器研...
     大功率谐振过渡软开关技术变频器研...
     
     相 关 文 章
      ◇  网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
     设为首页  加入收藏  关于本站  版权申明   联系站长   宣传赚点   友情链接
    如果我在线,不用加为好友,立刻与我交谈。 业务咨询QQ:342488946
    Copyright© 2004-2010 CEDIY.COM .All Rights Reserved
    粤ICP备05119258号