西安工程科技学院学报JournalofXi a n Un i v e r s i t y o f E n g i n e e r i n g S c i e n c e a n d T e c h n o l o g y 第19卷第 3 期(总75期)2005年 9 月Vo 1 . 1 9 , No . 3 ( S u m N o . 7 5 ) 文章 编号:1671—850X( 2 0 0 5 ) 0 3 — 0 3 2 1 — 0 4 基于VHDL语言 的数字频 率计 设计 林晓焕 ,林刚(1.西安工程科技学 院 电信学院 , 陕西 西安 7 1 0 0 4 8 } 2 . 中国飞行试验研究 院,陕西 西安 7 1 O O 8 9 ) 摘要: 传统数字频率计 由于在高频段 受基准时钟频率的限制 , 其测频精度受到很 大的限制. 本文 应用 E D A技术 , 很好的解决了这一问题. 文中论述 了数 字频率计 的设计原理、 开发环境、 设计 步骤、设计 框架,以及 应用VmL语 言对 系统 的 实现 方法,说明了各模 块和系统 输入 输 出信 号的功用. 应用 MA X+P L U SⅡ对 系统进行仿真验证 , 结果表 明所设计的数字频率计 不但测频精度达到 较 高的 水平 , 而且 能够实现连 续不 问断 测频 . 关键词 : 数字频率计 ; V m L语言; 可编辑逻辑器件 ( F P GA ) 中图分类号: " I N 0 9 5 文献标识码 : A 频率信号抗干扰性强 , 易于传输 , 可以获得较高的测量精度 , 所 以测频 方法 的研究是 电子测量领域的 重要内容. 传统的数字频率计 一般 由分离元件搭接而成 , 其测量范围、 测量精度 和测量速度都受到很大的 限制. 虽然单片机 的发展与应用改善了这一缺陷, 但 由于单片机本身也受到工作频率及内部计数器位数等 因素的限制 , 所以无法在此领 域取得突破性的进展. 随着新型可编程逻辑 器件 F P G A技术的发展, 能够将 大量的逻辑功能集成于一个单个器件中, 根据不 同的需要所提供的门数可以从几百门到上百万门, 从根本 上解决了单片机的先天性 限制问题. 不但集成度远远超过 了以往的数字频率计 , 而且在基准频率及精度等 外部条件的允许下 , 根据不同场合 的精度要求, 对硬件描述语言进行一定 的改动 , 使系统在精度提高的同 时, 用较少的器件来实现系统的功能 , 从而降低系统的整体造价. 此外 , 系统芯片( S ( ) C ) 的发展也要求其包 含频率测量的功能, 所 以用 F P GA实现数字频率计也是实现系统芯片的前提条件. 本文应用 V HD L语言设 计的集成化数字频率计系统 , 频率测量范围为 1 I - I z ~5 0 MH z , 输入信号电压幅度为 5 0 m V, ~5 V, 测量精度 为10_.I-Iz.1设计原理 目前常用的测频方法可以分为 3类,即:(1)比较法 通过与标准频率 比较确定被测频率 , 测量精度主要取决于标准频率 . 主要方法 有用于低频频率测 量的拍频法、 示波器法和用于高频频段测量的差频法等. ( 2 ) 电路频率特性测量法 由电路的已知参数与电路的频率特性得到被测频率 , 主要方法包括 用于低频段的电桥法和用于高频或微波频段的谐振法. ( 3 ) 记数器法 由单位时间内周期信号的重复次数测得 . 目前最常用的是 电子计数器法, 其测量 精度主要取决于基准时间和记数的量化误差. · 收稿 日期 : 2 0 0 4 — 1 2 — 1 5 通讯作者 : 林 晓焕 ( 1 9 6 4 一),女,陕西省西 安市人 , 西 安工程科 技学 院副教授 , 主要 从事 计算机 通信 方面 的研 究. E - m a i l l i n x i a o h u a n 3 2 5 @y a h o o . c o m. c n 维普资讯 http://www.cqvip.com 3 2 2 西安工程科技学院学报第19卷 设门并不严格相等'时基信号【_JUUU【_J【_JUUU【.【UUlJ但最奋季嚣善是待测信号 周期 主产=f=由于多周期同步测频法的闸门时间是待测信号周期待测频率.,JUUUUUUU【的整 数倍, 消 除了 传统直 接测频 法闸 门开 启时间 与 记数脉 鲁门rf__—————————] 整个测量频段内的等精度测量.事件计数器r-1几r _ ] 几几 r 一1甘善时间计数器i【-j【_J【_jUUUUUIUl基信号的不准会造成主门启闭时间或长或短,对测频 结果..……~ 会产生一定 的影响 , 并 且被测 频率越高 , 引起的误差就越 图 多周期同步法测频原理波形图 2 系统 的开发环境 与设计 步骤 图2在+P L U SⅡ环境下进行 F P GA开发 的工 作流程 而Ⅵ{ 【 ) L语言标准规范, 易于共享与复用, 非常适用于可编程逻辑芯片的应用设计. 特别是 自I Ⅱ 公 布了其标准及其更新版本之后 , Ⅵ L语言逐渐成为系统设计领域最佳 的硬件描述语 言, 其强大的行为描 述能力避开了具体的硬件结构 , 为从逻辑行为上描述和设计大规模 电子系统提供 了重要保证[ 2 ] . 与传统的 硬件描述语言相 比, Ⅵ{ I ) L语言不但设计功能强大, 具有多层次 的设计描述功能, 可 以进 行与工艺无关的 编程, 而且方法灵活 , 支持广泛 , 可以很 方便 的进行 A S I C移植. 而作为高密度 现场 可编程逻辑芯片的 F P . G A, 能够将大量的逻辑功能集成到一个单 片集成 电路中, 具有门阵列 的高逻辑密度与通用性几用户可编 程性. 在 目前条件下 , Ⅵ L语言程序综合成 为具体的 F P G A等 目标 器件 的网表文件 已不成问题[ , Ⅵ{ I ) L 维普资讯 http://www.cqvip.com 第3期基于 V H D L语言的数字频率计设计 3 2 3 与FPGA的结合为数字 电路的设计带来了极大的方便. 本文 的设计过程如图 3示. 图3系统 的设计过程 3 系统设计 与VHDL语 言实现 整个系统根据各 自功能与控制 的关 系分为 5大 模块 , 此 5大模块按照相互间的信号 连接关系组合 起来 , 各模块 问的流程由 V H DL语言并发处理. 需说 明的是, 由于 F P G A只能实现数字电路 , 因此输入信 号的整形电路需通过外加实现. 在此假定 F P GA接 收的都是 已经整形 、 变换后的规则方波信号 , 电压 幅 值为 0 ~5 V 系统功能关系如图 4示. 图4系统 的结 构框 图 控制模块是整个系统的控制部分 , 所有 的控制信号几乎都 由此模块产生 , 控 制着其 它 4个模块 的工 作. 控制模块根据外部对系统 的复位和开始等信号, 实现系统内部的复位、 开始测频等功能 , 并通过优化模 块的标志信号实现连续无间断的频率测量. 控制模块首先通过对基准 时钟分频得到模块所用时钟 , 使所产生的测 量开始指令脉冲的宽度符合基 准时间产生模块的输入要求 , 然后检测各输入信号 , 确定各模块的复位、 测量、 输 出等操作. 当控制模块接 收到优化模块的标志信号时 , 控制模块先检测在最新一次复位后是否已经接受过系统开始测量脉冲信号. 若是 , 则输 出频率测量开始脉冲信号 , 使基准时间产生模块开始频率测量 , 同时送到优化模块 , 复位优化模 块的内部变量, 使优化模块能够再次输 出反馈标志信号. 这样 , 系统只需在开始施加一次频率测量开始脉 冲信号 , 即可实现连续不问断的频率测量. 基准时间产生模块用来产生系统所需的基准时间 , 即闸门时间. 为适应对测频精度 的不同要求 , 基准 时间的长度可通过修改程序代码加以改变. 基准时间越长, 测频精度越高 ; 反之 , 测频精度越低. 模块的基 准时钟由外加的晶振提供 , 经分频后用于产生基准时间方波信号. 本模块每次输 出基准时间方波信号之 前,都先对计数模块进行复位 , 清除计数结果 , 保证系统在连续不问断测频时的正确性. 基准时间产生模块 接受控制模块产生的复位 、 开始指令 , 同时又向计数模块输 出复位和计数指令. 计数模块完成系统的频率测量等主要工作 , 是系统 的核心. 它通过对待测信号在基准时间内进行计数 测量待测信号的频率. 计数模块从基准时间产生模块接受复位信号和基准时间方波信号 , 清除上一次计数 结果并进行新的计数 , 同时向优化模块输 出结果信号和使能信号. 使能信号在结果信号输 出后才变为高电 平, 以允许优化模块对测频结果进行优化 , 保证测频结果 的准确性. 为 了在给定条件下尽可能提高测频精度 , 计数模块首先需要估计对闸门时间内待测频率的大小. 当待 测频率大于等于基准时钟频率时 , 采用直接测量法 ; 当待测频率小于基准时钟频率时 , 采用多周期 同步法. 这样 , 系统在低频和高频段都能实现较高的测频精度 , 突破了基准时钟频率对精度 的限制 , 从而在整体上 提高了系统的测频性能. 优化模块主要对计数结果进行优化处理, 以进一步提高系统的测频精度. 其原理是把若干个测频结果 加权平均 , 把加权平均 的结果作为系统最后的测频结果 , 以减小计数器的误差对整个系统的影响. 优化模 块的复位信号由控制模块提供 , 结果由计数模块接提供. 优化模块将计数结果存储到内部寄存器后 , 产生 一 标志信号 , 送 到控制模块 , 以便新的一轮的频率测量 , 从而实现连续不问断测频. 测频结果经优化后送显 示模块显示. 显示模块的主要工作是产生共阴级数码管显示所需的控制信号和数据信号 , 将从优化模块得到的测 频结果最终用数码管实时显示 出来. 模块内用于循环显示的时钟 由基准时钟经分频处理后得到. 显示模块 将二进制的结果信号转换成 B C D码 的形式输入给数码管 , 同时对数码管 以较高 的频率不 断重复进行刷 新. 模块输出的某一数码管选通信号为低电平时 , 表示该数码管被选中有效 , 可以进行显示操作. 所需显示 数据由模块输 出的数据信号提供 , 根据数据信号各位是否为低 电平决定是否点亮数码管中对应的显示段. 维普资讯 http://www.cqvip.com 3 2 4 西安工程科技学院学报第19卷 整个 系统有4个 输入信号, 分别 为基 准时 钟信号、 待测 时钟信号、 系统 复位信号 ( 高 电平 有效) 和 开始 测量脉冲信 号;输出信号有 2个, 即 各个数码管选通 信号和系统输出 数 据信 号,如图基准时 间产生梗块 控制梗块 图5数字频率 计系统结构 5示. 图 5各信号的作用如下 : ( 1 ) 基准时钟信号由外加 晶振提供 , 同时作用于系统的 5个模块 , 整个系 统都 以它为基准 , 基准频率经二分频后得到各模块内部所用的时钟信号. ( 2 ) 待测时钟信号作用于计数模块 , 经过外加整形电路的整形与放大, 符合标准方波的输入要求. ( 3 ) 系统复位信号作用于控制模块, 用于对整个系统的复位工作 , 为高电平有效. 一般在每次测量前 都要对系统进行复位操作 , 系统复位后处于等待测量状态. ( 4 ) 系统开始测量信号指示系统开始连续不间断的测量, 作用于控制模块 , 其脉冲宽度大于模块的 一个时钟周期. 当系统收到此信号后 , 就开始对待测时钟信号进行频率测量并输 出测量结果. ( 5 ) 输出的数码管选通信号和系统输 出数据信号用于控制数码管的实时显示 , 控制信号低 电平时表 示该控制信号对应 的数码管可以进行显示操作 , 数据信号输出数码管显示所需的数据. 4 结束 语 采用 自上而下 的设计方法 , 将数字频率计系统划分为 5个子模块 , 针对各个子模块分别进行设计与编 程,充分利用 V H D L语言 的并行处理功能 , 同时考虑器件 的时延对系统的影响. 设计 出的系统经过 MA X+ P L L NⅡ 的仿真验证 , 最终完全实现 了预定 的功能 , 在测量范围、 测量精度 、 测量速度 以及系统造价等方面 都 比以前有较大的改善. 对于 1 I - I z ~5 0 MH z的频率范围 , 其 测量精度达 1 O , 并且在低频和高频都具 有较好的测频性能, 能够满足一定场合 的测频要求. 参考文献 : E 1 ] MI L A N P r o k i n .D y n a mi c r e s p o n s e o f a f r e q u e n c y me a s u r i n g s y s t e m[ J ] .I E E E T r a n s I n s t r u Me a s , 1 9 9 2 , 4 1 ( 3 ) : 3 9 0 — 3 9 6 . [ 2 ] 侯伯享 , 顾新.V H DL硬件描述 语言与数字逻辑 电路设计[ M] .西安 ; 西 安电子科技大学 出版社 , 1 9 9 7 . 1 0 — 6 5 . [ 3 ] 赵雅兴.F F ( ] - A原理 、 设计与应用 [ M] .天津 : 天津大学出版社 , 1 9 9 9 . 5 - 1 2 . Th e d e s i g n 0 f d i t a J c y mo me t e r b a s e d o n VHDL L/ N 一]y~q l , ( 1 . C o l l e g e o f El e c t r o n i c s& I n f o r ma t i o n, X 厄,Xi a n 7 1 0 0 4 8, C h i n a; 2 . C h i n a F l i g h t T e s t E s t a b l i s h me n t ,Xi a n 7 1 0 0 8 9 , C h i n a ) Ab s t r a c t :T h e p r e c i s i o n o f t r a d i t i o n a l d ist a l c y mo me t e r i s p r o d i g i o u s l i mi t e d b y t h e n o r m c l o c k f r e q u e n c y,e s p e c i a l — l y i n t h e 曲frequencyband,bmthisproblemisgoodresolvedinherefromusingtheEDAtechnology.I n t h i s p a — p er ,t h e d i g i t a l c y mo me t e r S d e s i g n p r i n c i p l e a n d p r o ce s s , e x p l o i t e n v i r o n m e n t , f r a me w o r k a n d r e a l i z a t i o n me t h o d b y V H D L a r e d is c u s s e d i n d e t ai l ,a n d t h e m o d u l e s a n d i n p u t / o u t p u t s i g na l s f u n c t i o n a r e e x p l a i n e d p a r t i c u l a r l y . B y e mu l a t i o n a l v a l i d a t e i n MA X+P L L ~Ⅱ, w e c a n s e e t h a t t h e d i g i t al c y mo me t e r s p r e c i s i o n h a s r e a c h e d t o a h ig h — e r l e v e l ,a n d i t c a n r e a l i z e u n i n t e r r u p t e d f r e q u e n c y c o u n t . K e y w o r d s : V 1 ∞ L ; d i g i t al c y mo me t e r ;F P GA 编辑、 校对 : 董军浪 维普资讯 http://www.cqvip.com