首页 > 范文大全 > 正文

基于FPGA的多功能全同步数字频率计设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于FPGA的多功能全同步数字频率计设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:在分析比较现有测频方法优缺点的基础上,介绍全同步测频原理,给出采用AT89C51单片机实现控制,并通过FPGA芯片,在Max+Plus Ⅱ中运用VHDL语言编程,设计出一个多功能全同步数字式频率计。该设计可以兼顾频率计对速度、资源和测频精度等各方面的优化需求。

关键词:FPGA;多功能;全同步;频率计;VHDL

中图分类号:TN74;TP368.1文献标识码:B

文章编号:1004-373X(2010)02-151-03

Design of Multi_functional Full_ synchronization Digital Frequency

Meter Based on FPGA

RAO Chengming1,2,MA Xizhi1

(1.College of Mechanical and Electrical Engineering,Nanjing University of Aeronautics and Astronautics,Nanjing,210016,China;

2.Wuxi Institute of Technology,Wuxi,214121,China)

Abstract:Based on the analysis of frequency_measuring methods,the full_synchronization theory is introduced,and a multi_functional full_synchronization digital frequency meter controlled by SCM_AT89C51 and VHDL Language is used for developing a program in Max+Plus Ⅱ through FPGA chip is presented.This design methods can meet the needs of measurements for rate,resource and frequency accuracy of the frequency meter.

Keywords:FPGA;multi_function;full_synchronization;frequency meter;VHDL

0 引 言

在电子技术领域内,频率是最基本的参数之一。由于测频的重要性,也使测频方法有了很大的发展。常用的数字频率测量方法有M法(直接测量法)、T法(周期测量法)和M/T法(等精度测量法),但这三种方法都存在±1个计数误差的问题。全同步测量法的提出,从根本上消除了测量精度±1个计数误差问题[1],从而使频率测量的精度和性能大为改善。

基于传统测频方法的频率计测量精度随被测信号频率的变化而变化,且功能单一,成本较高,在实用中有很大的局限性[2]。全同步测量不但有很高的测量精度,而且在整个频率区域能保持恒定的测量精度,同时通过功能的扩展,可以解决电信号和非电量的多个参数测量,从而实现功能的多样化。在此,基于对单片机控制技术、fpga器件和全同步测量方法的研究,给出一种利用FPGA实现DC-50 MHz多功能同步数字频率计的实现方法及其仿真波形。整个系统在研制FPGA/CPLD实验开发系统上调试通过。采用这种方法,可以大幅度缩短设计周期,并使设计产品具有小型化,功耗低,速度高,集成度和可靠性高的优点。

1 全同步测频原理

M/T法的测量精度不仅取决于基准时间和计数器的计数误差,还取决于频率,频率不同,则其精度不一样。M法在高频段的准确度相对较高,T法在低频段的准确度较高,M/T法在整个测试频段的精度一样。闸门信号是被测信号的整数倍,与被测信号同步,因此大大减少了误差,但由于只与被测信号同步,而不与标准时钟同步,因此还是存在着±1个计数误差。其测量频率原理如图1所示[3]。

图1 等精度测频原理

若不计标准时钟误差,则测量的相对误差计算为:

δ=(|fx-fx′|/fx×100%=1/(Tsfs)(1)

式中:fx为被测信号频率的真实值;fx′为被测信号频率的测量值;Ts为闸门时间;fs为标准时钟频率。

由式(1)可知,误差与闸门时间及时钟频率有关,闸门时间越长,标准时钟频率越高,误差越小。由于用等精度频率法测量时所取的标准时钟一般都比较高,因此±1个计数误差相对很小。标准时钟频率不可能无限制提高,并且随着频率的提高,产品成本成倍增加,对于生产应用没有意义。因此该设计采用改进的等精度频率测量方法,即全同步测量来实现数字频率计的设计。在全同步的情况下,闸门信号不仅与被测信号同步,还与标准时钟同步,其原理图如图2所示[4]。

图2 全同步测频原理

设开启闸门时脉冲同步时间差为Δt1;关闭闸门时脉冲同步时间差为Δt2;脉冲同步检测最大误差为Δt,则有Δt1≤Δt,Δt2≤Δt。频率测量的相对误差为:

δ=|fx-fx′|/fx×100%=

|Δt1+Δt2|/Ts≤2|Δt|/Ts(2)

由式(2)可知,误差只与脉冲检测电路的准确度有关,采用控制误差的方式可有效地提高频率测量精度,而且实现起来比提高标准时钟频率更容易。在以上分析的基础上,该设计采用FPGA实现多功能数字频率计,由74LS系列与非门来实现脉冲全同步检测。脉冲同步检测电路如图3所示[5]。

图3 脉冲同步检测电路

图3中,U1~ U8为74LS系列与非门,同步检测电路由门电路的延时构成。当且仅当Fx与CLK的上升沿在延时时间内同时到达时,U8才会输出高电平。

74LS系列与非门的延时最小为4 ns,最大为15 ns,因此最大误差为11 ns。根据式(2)可得:

δ=2|Δt|Ts=2×11×10-9Ts=22109Ts

当Ts=1 s时,其精度可达到10-7,如果再减少相位误差,则可提高频率计的精确度。

2 多功能全同步频率计模块设计

该设计选用的是Altera公司生产的FPGA(Field Programmable Gate Array) 芯片,该芯片型号为EP1C6Q240C8,属应用VHDL语言数据类型,它的结构是层次化的,利用这些丰富的数据类型和结构模型,可对复杂的数字系统进行逻辑设计,并用计算机进行仿真。在对其逐步完善后,再进行自动综合,最后下载到可编程逻辑器件中,从而完成设计任务。

2.1 硬件电路设计系统原理图

系统组成原理框图如图4所示[6]。该系统由一片FPGA完成各种测试功能,并实现计数。系统控制由AT89C51单片机完成,包括对键盘信号、测量结果、FPGA测量过程、LED显示等信号和数据的处理[7]。被测信号通过整形电路整形后,送入FPGA芯片测频计数。单片机由外接12 MHz标准晶振提供时钟电路。用50 MHz的有源晶振作为FPGA的标准频率。电源部分采用220 V交流电压变压、滤波、稳压后得到5 V电压供整个系统使用。

图4 系统原理框图

2.2 FPGA实现模块

在电子设计领域,可编程逻辑器件(Programmable Logic Devices,PLD)的出现,改变了传统系统设计由门级电路到模块再到系统的设计方法,而是由顶层到底层的设计,使系统设计和升级具有极大的方便性和灵活性。FPGA是目前应用最广泛的可编程器件之一。它的设计需在专用的设计环境下,经过设计输入、编译、仿真、综合等步骤[8],再通过下载器下载到与FPGA配套的储存器件中,当系统工作时,FPGA会自动读取数据,从而实现预定的电路设计功能。

该频率计的测试功能都由FPGA完成。根据测频原理,利用VHDL语言编写各个部分逻辑模块,实现框图如图5所示。

设计原理图主要由脉冲同步检测电路、控制器、计数器、相位测量、脉宽/占空比测量、多路选择器电路等组成。以测频为例,工作原理如下:被测信号TCLK及标准时钟BCLK分别送给脉冲同步检测电路及测频电路中的两个计数器,当脉冲同步检测电路检测到TCLK与BCLK同步时,脉冲同步检测电路发出同步信号,两个计数器开始计数,同时控制器发出指令,由多路选择器选择测频开始;当脉冲同步检测电路再次检测到同步信号时,又发出同步信号,测频模块中两个计数器停止计数,同时计数器所得数据传输给控制电路运算,所得结果就是被测信号的频率。

图5 FPGA模块电路原理图

2.3 软件设计

各种测试功能流程如图6所示[9]。以测频为例,在系统初始化后,由键盘扫描子程序读入要执行的功能键;读入键之后,立刻跳转到测频子程序;测频子程序先置测频控制位SPUL,CL,SEL,将FPGA内的计数清零,然后将预置门的时间值读入单片机再打开预置门进行测频计数,等预置门时间到后,关断预置门;然后FPGA给单片机一个结束信号,单片机读到结束信号后,通过DATA端,分四次将测频结果的32位数据读入单片机,计算后将结果转换为BCD码送入LED显示输出。由于测控主程序较长,这里不给出。

图6 单片机主程序流程图

2.4 FPGA芯片顶层设计及仿真结果

根据图5所示的模块电路设计原理,并经过VHDL编程,得到各模块的VHDL设计实体。对各模块的设计实体在Max+Plus Ⅱ中进行仿真,验证各模块的正确性。设计一个顶层文件把各模块按图5连接起来,便构成了一个全同步多功能数字频率计的FPGA内部硬件电路。图7给出测频顶层文件的仿真结果。

图7 测频顶层文件仿真波形图

3 结 语

与传统的频率计相比,基于EDA技术设计的频率计简化了电路板的空间,提高了系统设计的可靠性。在设计中采用全同步和两个同步的32位计数器,无需选择量程便可实现宽频高精度的频率测量,并在FPGA中实现系统集成,达到预期效果。该频率计还具有扩展功能,配上相应的转换器可测量电压、电流、功率和电阻等电量;配合传感器还可以测量长度、位移、重量、压力、温度、转速、速度等非电量[10]。因此,全同步多功能频率计有着广泛的应用空间。

参考文献

[1]徐成,刘彦,李仁发.一种全同步数字频率测量方法的研究[J].电子技术应用,2004,38(12):43-46.

[2]潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2005.

[3]李云鹏,王思明.基于FPGA的等精度频率计设计[J].电子元器件应用,2007,9(11):54-55.

[4]魏西峰.全同步数字频率测量方法的研究[J].现代电子技术,2005,28(12):101-105.

[5]包本刚,何怡刚,朱湘萍.全同步数字频率计的VHDL设计与仿真[J].现代电子技术,2007,30(20):176-178.

[6]林占江,林放.电子测量仪器原理与应用[M].北京:电子工业出版社,2006.

[7]孙涵芳.MCS51/96系列单片机原理及应用[M].北京:北京航空航天大学出版社,1994.

[8]谭会生.EDA技术及应用[M].西安:西安电子科技大学出版社,2004.

[9]金西.VHDL与复杂数学系统设计[M].西安:西安电子科技大学出版社,2003.

[10][美]Michael John,Sebastian Smith.专用集成电路[M].北京:电子工业出版社,2007.