基于Nios Ⅱ的等精度频率计设计

时间:2022-08-04 01:38:42

基于Nios Ⅱ的等精度频率计设计

摘 要:采用Nios Ⅱ作为系统控制单元,辅以适当的软、硬件资源完成以FPGA为核心的等精度频率计设计。利用FPGA对同步门的控制,使被测信号和标准信号在实际闸门时间内同步测量,实现了等精度频率测量,提高了测量精度。利用Nios Ⅱ技术开发的频率计具有硬件结构简单、性能稳定可靠的特点,并且可以灵活地实现定制应用。

关键词:FPGA;Nios Ⅱ;等精度;频率测量

中图分类号:TP274文献标识码:A

文章编号:1004-373X(2010)05-084-02

Design of Equal Precision Frequency Meter Based on Nios Ⅱ

WU Aiping,FU Qingqing

(College of Electronics and Information Engineering,Yangtze University,Jingzhou,434023,China)

Abstract:The equal precision frequency meter with FPGA is designed by control unit Nios Ⅱ in the system,which is su-pported by appropriate software and hardware resources,the system controls the synchronous door through FPGA so that the measured signal and standard signal can be measured synchronously at the real gate-time,so the equal precision measurement is realized and precision is improved.The frequency meter system based on Nios Ⅱ technology has features such as simplified hardware structure,stable and reliable performance,it can be achieved at custom-made applications flexibly.

Keywords:FPGA;Nios Ⅱ;equal precision;frequency measurement

0 引 言

在电子工程、资源勘探、仪器仪表等相关应用中,频率计是工程技术人员必不可少的测量工具,频率测量也是电子测量技术中最基本最常见的测量之一。不少物理量的测量,如转速、振动频率等的测量都涉及到或可以转化为频率的测量[1]。传统的频率测量方法有直接测频法和测周法,在一定的闸门时间内计数,门控信号和被测信号不同步,计数值会产生一个脉冲的误差[2]。基于传统测频原理的频率计的测量精度将随被测信号频率的变化而变化,传统的直接测频法其测量精度将随被测信号频率的降低而降低,测周法的测量精度将随被测信号频率的升高而降低,在实际应用中有较大的局限性[3]。为适应实际工作的需要,本文提出一种基于Nios Ⅱ的等精度数字频率计的设计,以Nios Ⅱ作为测量控制核心,利用FPGA(现场可编程门阵列)实现门控信号和被测信号的同步。基于Nios Ⅱ技术设计的等精度数字频率计不但具有高度集成、小巧轻便、便于携带等特点,而且具有较高的测量精度,在整个被测频率区域能保持恒定的测试精度。

1 等精度频率测量

1.1 等精度频率计的测量原理

等精度测频基本原理是利用控制器产生一个软件闸门信号(预置闸门),由软件闸门信号和被测信号共同产生实际闸门信号,实际闸门信号和被测信号同步,保证实际闸门时间是被测信号周期的整数倍,消除了对被测信号产生的±1周期误差[4]。等精度频率的测量原理如图1所示[5]。

图1 等精度测量原理图

1.2 等精度频率计的测量误差

实际闸门信号由软件闸门和被测脉冲信号共同决定,利用被测脉冲信号的上升沿触发产生[6]。在实际闸门时间固定且为被测信号周期整数倍的条件下,有T=NxTx,Tx为被测信号的周期,是待测量;Nx为在实际闸门T内对被测脉冲的计数值,其测量的绝对误差为0。标准脉冲信号频率为fs已知,在实际闸门T内对标准脉冲计数,计数值为Ns,时间为T′=NsTs。由于实际闸门信号与标准脉冲信号不相关,Ns的计量有误差,ΔNs≤±1,导致T′≠T,相对误差不大于1/Ns。由此可知,相对测量误差与标准信号fs频率有关,而与被测信号频率的大小无关[7]。

2 FPGA内部设计

2.1 FPGA内部逻辑模块设计

FPGA内部逻辑模块设计是本设计的核心部分,它包括利用硬件描述语言实现的数字逻辑模块和Nios Ⅱ的定制以及其中的软件设计,数字逻辑模块利用VHDL语言编写,逻辑模块有同步模块、计数锁存模块,内部结构框图如图2所示。fs为标准脉冲频率,fx为被测信号频率,GATE信号为预置门闸信号,EN为实际门闸信号,作为两个计数器的控制使能,Ns为标准脉冲计数,Nx为被测信号脉冲计数。同步电路的设计是等精度测频的关键,在门闸时间内保证是被测信号周期的整数倍,设计时利用被测信号的上升沿触发,将预置门闸信号在上升沿时输出,用一个D触发器即可实现。计数器1和计数器2分别对标准脉冲和被测信号脉冲进行计数,门闸信号EN作为计数器的计数使能,高电平时允许计数器计数,低电平时计数器保持当前值,门闸信号的下降沿锁存计数器的计数值,待Nios Ⅱ读取后发出清零信号CLR,计数器清零。

图2 FPGA内部设计逻辑模块图

2.2 Nios Ⅱ 定制与编程

Nios Ⅱ是Altera公司于2004年5月推出的┬乱淮32位RISC嵌入式软核处理器,用户可以根据需要自行定制[8]。在Quartus中启动SoPC Builder,添加CPU和设备,外部设备有定时器、2个32位的输入端口、2个1位的输出端口、LCD端口和SDRAM,┩3是构建的Nios Ⅱ模块,图4显示了完整的系统配置及其地址映射。定制的Nios Ⅱ 模块是控制部件,相当于一个CPU[9],负责定时发送预置门闸信号,读取计数器在实际门闸信号时间内计数的值并按照公式fx=fs•Nx/Ns进行计算和显示,在读完计数数据后发送清零信号。

图3 Nios Ⅱ构建模块

图4 系统配置及其地址映射

NiosⅡ软核是系统的核心,Nios Ⅱ IDE是Nios Ⅱ系列嵌入式处理器的基本软件开发工具,相应的函数丰富,语法简便,采用文件操作的方式访问系统外设,设计人员可以根据系统的硬件结构十分方便地设计系统的软件[10]。Nios Ⅱ的开发是在Nios Ⅱ IDE环境下进行,利用C语言编写,Nios Ⅱ完成的主要任务有:预置门闸信号的发出,门闸信号由定时器控制;读取FPGA中两个计数器计数的值Ns,Nx,按照公式Ns/fs=Nx/fx计算显示fx;发出计数器的清零的控制信号,待读取数据后清零。程序流程图如图5所示。

图5 Nios Ⅱ 软件流程图

3 结 语

基于Nios Ⅱ的等精度频率计的设计,充分利用FPGA内部硬件资源,在FPGA内部构建Nios Ⅱ,采用VHDL编写底层模块,C语言编写上层应用程序,大大降低测量硬件电路的复杂性,使电路结构更加简洁,提高了频率计工作的可靠性。

参考文献

[1]杨焕峥.嵌入式高精度数字频率计的设计[J].长沙航空职业技术学院学报,2007(9):64-67.

[2]孙传友,孙晓斌.感测技术基础[M].2版.北京:电子工业出版社,2006.

[3]李宝营,赵永生.基于单片机的等精度频率计设计[J].微计算机信息,2007,23(9):152-154.

[4]白海成,陈星.智能等精度频率计的设计与实现[J].微处理机,2005(12):87-90.

[5]殷铄.基于EDA技术的新型频率计设计[J].能源技术与管理,2005(3):70-71.

[6]赵茂泰.智能仪器原理及应用[M].北京:电子工业出版社,2004.

[7]周航慈,朱兆优,李跃忠.智能仪器原理及应用[M].北京:北京航空航天大学出版社,2005.

[8]任爱锋.基于FPGA的嵌入式系统设计[M].西安:西安电子科技大学出版社,2004.

[9]He Anhua.Application of EDA Technology and μClinx Operating System in the Earthquare Precursor Instruments [J].Earthq.Sci.,2009,22:101-106.

[10]周立功.SoPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2006.

上一篇:基于Proteus与单片机的步进电机控制设计 下一篇:电流激励蔡氏电路混沌的解析预测