用现场可编程门阵列实现的频率计
该频率计基于电子设计(EDA)技术.实现了在一片现场可编程门阵列上的数字频率计的设计。该系统具有稳定可靠、抗干扰能力强和现场可编程等优点
数字频率计是通信设备、音、视频等科研生产领域不可缺少的测量仪器。采用Vrilog HDL编程设计实现的数字频率计,除被测信号的整形部分、键输人部分和数码显示部分外,其余全部在一片FPGA芯片上实现整个系统非常精简,且具有灵活的现场更改性。
相比传统的电路系统设计方法,EDA技术采用VHDL语言描述电路系统,包括电路的结构、行为方式、逻辑功能及接口。Verilog HDL具有多层次描述系统硬件功能的能力,支持自顶向下的设计特点。设计者可不必了解硬件结构。从系统设计人手,在顶层进行系统方框图的划分和结构设计,在方框图一级用Verilog HDI对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的FPGA器件中去,从而实现FPGA的设计。
2测量原理及总体结构框图
频率测量方法有2种。一种是测频法,在一定时间间隔TM内测出待测信号重复变化次数N,则被测信号的频率为fM=N/TM另一种方法是测周法,在被测信号的一个周期内测出标准高频信号f的个数N,则被测频率为fM=fM/N。可见测频法对高频信号有较高的测量精度,而测周法对低频信号的测量精度较高:本频率测量系统采用测频法和测周法相结合的方法,使两者的测量带宽得到了互补,而且采用了延时为纳秒级的FPGA来实现,从而极大地提高了系统工作带宽和系统测量精度:此外,具有自动测频和测周转换量程功能,每个数量级为一个量程,每个量程保留3位有效数字,用"xxxEx"表示"x.xx *l0x"。
本频率计由控制模块、测频模块、测周期算频模块、锁存显示模块4个模块组成。总体框图如图1所示。
系统结构框图中信号说明。singal:被测信号。stateshift:测频或测周期得出的量程不够或溢出信号。reset:复位信号。iclk:输入标准时钟12 MHz。en_pre-cent;显示占空比的按键信号。oclk:控制模块输出基本时钟,根据不同状态对iclk进行分频而得。en:使能信号。state_jmp:状态跳变信号。 oen_precent:由控制模块输出的占空比显示信号。condition;状态输出信号。load:允许输出显示信号。data[11 ;0]:计算所得数据,3位有效数字。out[19:0]:最终的输出显示数据.为"xxxEx"。
3相应模块分析及设计
3.1控制模块
该控制模块有11种状态:在1 Hz~100 MHz范围内每个数量级为一种状态,共8种,小于1 Hz大于100MHz为两种量程溢出状态,还有一种为显示占空比状态。当进人两种量程溢出状态后,若被测信号又进人量程,控制器又能回到8种正常显示状态中去。8种数量级的状态中,每种状态对应一个基本时钟,每个基本时钟都由iclk(12 MHz)分频而来,为了保证误差在2%以内,本控制模块选择保留3位有效数字。
3.2测频模块
测频模块在数字频率计中是一个比较重要的模块,要想使频率计能自动测频,还需要一个测频控制电路,要求它能产生3个控制信号;CN,LOAD和reset,以便使频率计能顺利完成测频3步:计数、锁存和清0。
相比传统的电路系统设计方法,EDA技术采用VHDL语言描述电路系统,包括电路的结构、行为方式、逻辑功能及接口。Verilog HDL具有多层次描述系统硬件功能的能力,支持自顶向下的设计特点。设计者可不必了解硬件结构。从系统设计人手,在顶层进行系统方框图的划分和结构设计,在方框图一级用Verilog HDI对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的FPGA器件中去,从而实现FPGA的设计。
2测量原理及总体结构框图
频率测量方法有2种。一种是测频法,在一定时间间隔TM内测出待测信号重复变化次数N,则被测信号的频率为fM=N/TM另一种方法是测周法,在被测信号的一个周期内测出标准高频信号f的个数N,则被测频率为fM=fM/N。可见测频法对高频信号有较高的测量精度,而测周法对低频信号的测量精度较高:本频率测量系统采用测频法和测周法相结合的方法,使两者的测量带宽得到了互补,而且采用了延时为纳秒级的FPGA来实现,从而极大地提高了系统工作带宽和系统测量精度:此外,具有自动测频和测周转换量程功能,每个数量级为一个量程,每个量程保留3位有效数字,用"xxxEx"表示"x.xx *l0x"。
本频率计由控制模块、测频模块、测周期算频模块、锁存显示模块4个模块组成。总体框图如图1所示。

系统结构框图中信号说明。singal:被测信号。stateshift:测频或测周期得出的量程不够或溢出信号。reset:复位信号。iclk:输入标准时钟12 MHz。en_pre-cent;显示占空比的按键信号。oclk:控制模块输出基本时钟,根据不同状态对iclk进行分频而得。en:使能信号。state_jmp:状态跳变信号。 oen_precent:由控制模块输出的占空比显示信号。condition;状态输出信号。load:允许输出显示信号。data[11 ;0]:计算所得数据,3位有效数字。out[19:0]:最终的输出显示数据.为"xxxEx"。
3相应模块分析及设计
3.1控制模块
该控制模块有11种状态:在1 Hz~100 MHz范围内每个数量级为一种状态,共8种,小于1 Hz大于100MHz为两种量程溢出状态,还有一种为显示占空比状态。当进人两种量程溢出状态后,若被测信号又进人量程,控制器又能回到8种正常显示状态中去。8种数量级的状态中,每种状态对应一个基本时钟,每个基本时钟都由iclk(12 MHz)分频而来,为了保证误差在2%以内,本控制模块选择保留3位有效数字。
3.2测频模块
测频模块在数字频率计中是一个比较重要的模块,要想使频率计能自动测频,还需要一个测频控制电路,要求它能产生3个控制信号;CN,LOAD和reset,以便使频率计能顺利完成测频3步:计数、锁存和清0。
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
责任编辑:童伟
- 上一篇文章:用CPLD和FLASH存储器配置FPGA
- 下一篇文章:<连载汇总>Protel二次开发从入门到精通
近期热点
相关文章
相关新闻
