当前位置:文档之家› 毕业论设 (1) - 副本

毕业论设 (1) - 副本

摘要

摘要:根据等精度测量的原则,提出一种基于FPGA的等进度数字频率计设计方案。介绍了等精度的多周期同步测频原理,并对其测量精度和特点同传统测量方法进行了对比分析,证明了多周期同步测频方法的优势。

基于周立功公司生产的EasyFPGA030开发板,在Libero8.5集成开发软件环境下,采用硬件编程语言VerilogHDL编计器模块,除模块,并且用Synplify进行综合,ModelSim进行仿真并且给出它们的仿真结果,Designer进行布局布线,利用FlashPro和并口线下载到开发板上。

利用AT89C51单片机与共阳极LED数码管对测量结果进行动态显示。利用74LS244三态缓冲器和三极管对电流进行放大,使得LED数码管更亮。利用

74LS14集成施密特触发器的反相器进行信号的整形。

经过仿真下载验证,能够实现等精度测频功能,频率测量范围1Hz~1MHz,证明该设计方案切实。

关键词:等精度;频率测量;FPGA;VerilogHDL;Libero。

Abstract

Abstract: According to the principle of measurement etc precision, proposed based on FPGA digital frequency of design project progress. Introduces the principle of frequency measurement with etc precision and synchronous, and comparative analysis the measurement precision and features with the traditional measuring method. With more than proved step frequency method with etc precision and synchronous has periodic advantage.

Based on the ZhouLiGong company production EasyFPGA030 development board, in Libero8.5 integrated software development environment, using hardware VerilogHDL programming language to write counter module, divide module. With Synplify synthetically, with ModelSim simulation giving simulation results, Designer layout wiring. Using FlashPro download the design to development board.

Use MUC and LED digital tube to show the measurement results. Use 74LS244 tristate buffers and transistor to amplify current that LED digital tube brighter. Use 74LS14 Schmitt toggle integration to plastic signal.

Through simulation and download to the development board, can achieve the function of frequency measurement etc precision, Frequency measurement range from 1Hz to 1MHz. Proof of this scheme is feasible,

Keywords: equal precision, frequency measurement, FPGA, Libero, HDL

目录

摘要 (1)

Abstract (2)

第1章绪论 (5)

1.1 课题背景 (5)

1.2 课题来源、目的和意义 (6)

1.3 本文结构 (7)

第2章主要研究内容 (8)

2.1 引言 (8)

2.2 数字频率计主要技术指标[4] (8)

2.3 常用直接测频的方法 (9)

2.4 等精度频率测量算法 (9)

2.5 等精度测量误差分析 (10)

2.6 总体设计 (11)

2.7 本章小结 (12)

第3章 FPGA设计 (13)

3.1 引言 (13)

3.2 计数器模块 (15)

3.2.1 分频模块 (16)

3.2.2 预置闸门模块 (17)

3.2.3 实际闸门模块 (17)

3.2.4 计数Nx模块 (18)

3.2.5 计数Ns模块 (18)

3.2.6 通信控制模块 (19)

3.2.7 计数器各模块连接详图 (19)

3.3 除法器模块 (20)

3.3.1 除法控制器 (21)

3.3.2 除法运算器 (23)

3.3.3 通信信号转换模块 (25)

3.3.4 除法器各模块连接详图 (25)

3.4 本章小结 (26)

第4章显示及信号整形设计 (28)

4.1 引言 (28)

4.2 单片机显示模块 (29)

4.2.1 单片机显示软件件设计 (32)

4.2.2 单片机显示硬件设计 (32)

4.3 信号整形模块 (33)

4.4 本章小结 (35)

第5章总体设计验证 (36)

结论 (38)

致谢 (40)

参考文献 (41)

第1章绪论

1.1课题背景

EDA(Electronic Design Automation——电子设计自动化)代表了当今电子设

计技术的最新发展方向,通过VHDL(Very High Speed Integrated Circuit Hardware Description Language)硬件描述语言的设计,用FPGA(Field-Programmable Gate Array——现场可编程门阵列)来实现小型电子设备的设计,是开发仪器仪表的主流。据统计,目前发达国家在电子产品开发中EDA工具的利用率已达50%,而大部分FPGA已采用HDL(Hardware Description Language——硬件描述语言)设计。由于VHDL已成为IEEE标准,目前的EDA工具可以使ASIC系统的行为、功能、算法用VHDL描述直接生成FPGA器件,使设计者将精力集中于设计构思,提高了设计效率,同时也利于设计的分解、交流和重用。

目前最主要的方法是基于单片机和FPGA或CPLD利用EDA技术设计实现等精度频率测量,这使设计过程大大简化,缩短了开发周期,减小了电路系统的体积,同时也有利于保证频率计较高的精度和较好的可靠性。而实现等精度的算法主要是,在计数法和测周期法基础上发展起来的新型等精度频率测量算法,主要原理是预置闸门信号频率时随着被测信号频率的改变而改变,从而实现了等进度的测量。

目前,市场上的频率计厂家可分为三类:中国大陆厂家、中国台湾厂家、欧美厂家。其中,欧美频率计厂家所占有的市场份额最大。欧美频率计厂家主要有:Pendulum Instruments和Agilent科技。

Pendulum Instruments公司是一家瑞典公司,总部位于瑞典首都斯德哥尔摩。Pendulum公司源于Philips公司的时间、频率部门,在时间频率测量领域具有40多年的研发生产经历。Pendulum Instruments公司常规频率计型号主要有:CNT-91、CNT-90、CNT-81、CNT-85。同时,Pendulum Instruments

公司还推出铷钟时基频率计CNT-91R、CNT-85R。以及微波频率计CNT-90XL (频率测量范围高达60G)。

Agilent科技公司是一家美国公司,总部位于美国的加利福尼亚。Agilent科技公司成立于1939年,在电子测量领域也有着70多年的研发

1

生产经历。Agilent 科技公司的常规频率计信号主要有:53181A 、53131A 、53132A 。同时,Agilent 科技公司还推出微波频率计:53150A ,53151A ,53152A (频率测量范围最高可达46G )。

课题来源、目的和意义

随着科学技术的发展,高精度集成电路的应用,生产力得到了大幅度的发展,以大规模集成电路为主的各种设备成了当今社会最常用的设备。频率计在电子工程,资源勘探发挥着巨大作用,有条不紊地工作着,高效率地支配着系统的运行,是工程技术人员必不可少的测量工具。频率计最重要的功能是根据基准时钟信号实现对被测信号的频率进行检测。由此而延伸的频率测量是电子测量领域里的一项重要内容[1]。

在传统的电子测量仪器中,示波器在进行频率测量时测量精度较低,误差较大。频谱仪可以准确的测量频率并显示被测信号的频谱,但测量速度较慢,无法实时快速的跟踪捕捉到被测信号频率的变化。正是由于频率计能够快速准确的捕捉到被测信号频率的变化,因此,频率计拥有非常广泛的应用范围。

在传统的生产制造企业中,频率计被广泛的应用在产线的生产测试中。频率计能够快速的捕捉到晶体振荡器输出频率的变化,用户通过使用频率计能够迅速的发现有故障的晶振产品,确保产品质量。

在计量实验室中,频率计被用来对各种电子测量设备的本地振荡器进行校准。

在无线通讯测试中,频率计既可以被用来对无线通讯基站的主时钟进行校准,还可以被用来对无线电台的跳频信号和频率调制信号进行分析。

频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。

其最基本的工作原理为:当被测信号在特定时间段T 内的周期个数为

N 时,则被测信号的频率T

N

f 。

频率计主要由四个部分构成:时基电路、输入电路、计数显示电路以及控制电路。在一个测量周期过程中,被测周期信号在输入电路中经过放大、整形、微分操作之后形成特定周期的窄脉冲,送到主门的一个输入端。主门的另外一个输入端为时基电路产生电路产生的闸门脉冲。在闸门脉冲开启主门的期间,特定周期的窄脉冲才能通过主门,从而进入计数器进行计数,计数器的显示电路则用来显示被测信号的频率值,内部控制电路则用来完成各种测量功能之间的切换并实现测量设置[2]。

在工程测量中不少物理量的测量,如时间测量,速度测量,速度控制等,都涉及到频率测量。频率信号抗干扰性强,易于传输,可以获得较高的测量精度,所以测量频率的方法的研究越来越受的重视。

随着科技发展,人们对频率测量的进度要求越来越高,在此基础上的等精度频率计具有相当重要的意义。而常用的的直接测频方法在实用中有较大的局限性,

2

其测量精度随着被测信号的频率改变,测量的精度也改变,而且对被测信号的计数要产生1

个数字误差,而等精度频率计不但具有较高的测频精度,不随所测信号的变化而变化,在整个测频区域能保持恒定的测频精度[3]。

1.2本文结构

本文主要内容如下:

第2章中,介绍等精度频率测量的理论基础和设计方案。

第3章中,FPGA设计。EasyFPGA030开发板,Libero8.5集成开发环境介绍,频率计总体,计数器模块,除法器模块设计过程,并且给出它们的仿真结果。

第4章中,显示及信号的整形设计。介绍了AT89C51单片机,LED数码管,74LS244等相关硬件介绍。并且给出了动态显示的软硬件设计方案和信号整形设计方案。

第5章中,总体设计验证。通过把设计下载到开发板上,并实际用于频率测量,从而发现设计的不足和错误之处并加以改正。

3

第2章 主要研究内容

2.1 引言

本章主要介绍数字频率计的相关计数指标,传统的频率测量方法和等精度测量方法,并且对等精度测量方法进行误差分析,从而与传统频率测量方法对比,得到等精度测量方法的优势所在。并且从总体上介绍了设计方案的流程。

2.2 数字频率计主要技术指标[4]

(1)频率准确度

一般用相对误差来表示,即

???

?

???+±=?c c x x x f f Tf f f 1 (2-1) 式中,N

N N Tf x 1

1±=?=为量化误差(即1±个字误差),是数字仪器所特有的误差,

当闸门时间T 选定后,x f 越低,量化误差越大:

T

T

f f c c ?=?为闸门时间相对误差,主要有时基电路标准频率的准确度决定,

x

c c Tf f f 1≤?。 (2)频率测量范围

在输入电压符合规定要求值时,能够正常进行测量的频率区间称为频率测量范围,频率测量范围主要有放大整形电路的频率响应决定的。

(3)数字显示位数

频率计的数字显示位数决定了频率计的分辨率。位数越多,分辨率越高。 (4)测量时间

频率计完成一次测量所需要的时间,包括准备、计数、运算、锁存和复位时间。

4

2.3 常用直接测频的方法

0冲数N 来测量频率,N

F F 0

=。被测信号的周期越长(频率越低),则测得的标

准信号的脉冲数N 越大,则相对误差越小。

但这两种方法分别适合高频和低频,在整个测量域内测量精度不同,因此要求等精度的话,要求在此基础上进行改进[5]。

2.4 等精度频率测量算法

传统的测频方法有直接测频法和测周法,在一定的闸门时间内计数,门控信号和被测信号不同步,计数值会产生一个脉冲的误差。等精度测频法采用门控信号和被测信号同步,消除对被测信号计数产生的一个脉冲的误差。等精度频率测量方法消除了量化误差,可以在整个测试频段内保持高精度不变,其精度不会因被测信号频率的高低而发生变化。利用FPGA 强大的逻辑处理功能使被测信号和标准信号在闸门时间内同步测量,为了提高精度,将电子计数功能转为测周期,采用多周期同步测量技术,实现等精度测量。

在测量过程中分别对被测信号和标准信号同时计数。测量的具体方法是:首先给个闸门开启信号(预置闸门信号),此时计数器并不开始计数,而是等被测信号的上升沿到来时计数器才开始计数,然后预置闸门信号关闭信号(下降沿),计数器并不立即停止计数,而是等到被测信号上升沿来到时才停止计数,完成一次测量过程,过程如图2-1所示。

5

预置闸门信号1t 和实际闸门信号t 不相等,但两者差值不会相差被测信号的一个周期。但从图2-1中可得实际闸门控制信号与被测信号x N 同步,因此消除了1±的脉冲误差,并且此测频方法不仅对被测信号进行计数,而且去标准信号s N 也计数,所以称为多周期同步测频法[6]。

2.5 等精度测量误差分析

计数器对标准信号的计数是s N ,被测信号的计数是x N ,标准信号的频率为

s f ,被测信号的频率

s s

x

x f N N f =

(2-2) 由式(2-2)可知,若忽略标频的s f 误差,则等精度测频可能产生的相对误差为

100)(

0?=-f f f x σ (2-3)

其中0f 为被测信号频率的准确值。

在测量中,由于x f 计数的起停时间都是由该信号的上升测触发的,无字误差。而对s f 的计数s N 最多相差一个数的误差,即1≤?s N ,其测量频率为

2-1 测量原理

6

s s s x f N N N fx ??

?????+= (2-4) 将式(2-2)和(2-4)代入式(2-3),并整理得

s

s

s f t N N ?≤?=

1

σ (2-5)

从公式(2-5)可以看出等精度算法产生的误差和被测信号的频率无关,仅与闸门时间和标准信号频率有关,从而实现整个频率段的等精度测量[7]

。 2.6 总体设计

首先对EasyFPGA030提供的48MHz 的晶振频率进行分频,利用分频所得的频率通过计数的方法产生一个预置闸门信号,再利用预置闸门信号和被测信号产出一个实际闸门信号,预置闸门信号和实际闸门信号分别控制对被测信号x N 和标准信号s N 计数。利用VerilogHDL 语言编写一个除法器程序,用FPGA 做除法运算,所得结果送单片机进行数据转换并用LED 现实,设计主体流程图如图2-2所示。

7

图2-2 设计总体框图

2.7本章小结

通过以上分析,可以得到多周期同步测频法,不仅避免了传统测频方法在计数过程中产生的±1的误差,而且实现了在整个测量频域内的等精度。由于多周期同步测频方法具有如是优点,所以确定为最终的测频的算法。通过设计主体流程图可以清晰地知道此多周期同步测频法在FPGA上实现的过程。

8

第3章FPGA设计

3.1引言

本章主要介绍FPGA部分的主体设计和相关程序。FPGA部分分为计数部分和除法器部分。计数器是对被测信号和标准信号进行计数,计数完成之后发出信号通知除法器模块进行读取计数值,并且除法器把两个计数值进行除法运算。

EasyFPGA030主芯片采用Actel的A3P030,封装为VG100。板上的外设包括四个按键、四个LED、48MHz的晶振等,同时板上提供了FPGA下载所需要的下载器,直接与PC机并口相连,并通过上位机软件Libero即可下载。将可用的I/O全部引出,对于板上没有的外设可通过这些I/O进行扩展,锻炼使用者的设计创新能力,并将下载口引出可以通过USB的FlashPro3来下载,或通过引出的下载口去下载其他器件。EasyFPGA030开发板如图3-1所示[8]。

图3-1 EasyFPGA030开发板

功能特点:

(1)I/O口全部引出,方便进行二次开发。支持最大81个用户I/O,热插拔和冷备份。

(2)可以通过芯片内部的FlashROM进行数据存储,提供1kbit的片内可编程非易失性FlashROM信息存储;

(3)板上集成了高性能的并口下载器,通过连接并口电缆即可下载;(4)基于非易失性Flash技术,单芯片解决方案,上电即行;

9

(5)高度的安全性,保护知识产权,高度的可靠性,固件错误免疫;

(6)灵活高效的全局时钟网络,提高设计性能,开发板上提供48MHz的晶振频率;

(7)在封装上,A3P030有132-QFN和100-VQFP两种,此工程用的是开发板是100-VQFP封装型号;

LiberoIDE是Actel FPGA的集成开发环境,提供完整的FPGA设计工具,支持原理图,HDL输入,并以用户GUI的方式显示FPGA的设计过程。LiberoIDE 不仅带有Actel自身的高性能的布局布线工具,还集合了业界极具影响力的仿真、综合等工具。简化设计过程,方便用户使用,能够使设计得到最佳优化,大大提高系统的性能。集成软件如下

ModelSim:业界优秀的HDL语言仿真器,提供友好的调试环境,支持VHDL 和Verilog混合仿真,采用直接优化的编译技术,Tcl/TK技术和单一内核仿真技术,编译速度快,编译的代码与平台无关,便于保护IP核,是FPGA/ASIC设计的RTL级核门级电路仿真的首选工具。

Synplify:Synplicity公司提供的专门针对FPGA/CPLD的逻辑综合工具,采用先进的Timing Driven(时序驱动)核B.E.S.T(行为级综合提取技术)算法引擎,使用简便、性能优良、软件更新和技术创新速度快、,综合面积较小、综合速度快。

Designer:Actel公司提供的针对FPGA的高效布局布线工具,用户界面简单明了,可以在短时间内完成布局布线,并生成反标注文件和最终的编程下载文件,可以用图形的方式管理约束管脚、浏览布局布线的结果,提供时序约束和功耗分析的功能。

ViewDraw:图形化设计输入工具,使用麻烦,不易操作管理,容易出错,不推荐使用。

SmartDesign:在Libero8.0以上版本中集成,图形化输入方式,方便连接和直观的校验设计的正确性,可以创建和管理设计的内部功能模块,可以直接导入IP cores和HDL文件生成的模块,功能较ViewDraw更强大,操作性更好。

WaveFormer:专用波形激励生成工具,手动绘图方式生成用户所需要的波形激励文件,免去编写HDL激励文件的繁琐,不能描述复杂的测试激励向量,非常适合初学者的使用。

10

FlashPro:Actel公司提供的编程下载软件,通过JTAG接口对器件进行操作,可执行的操作包括:下载文件、设置/擦除密码、校验、读取配置信息等,支持菊花链JTAG编程,支持Pdb/Stp文件下载。

CoreConsole:用于配置处理器软核、总线和外围设备,准许设计者用图形化的方式快速搭建系统级的平台,如8051、ARM7、CortexM1平台,用户任意添加处理器的外设。

SoftConsole:免费的处理器软件开发环境,带有C、C++编译器,支持Actel 的CoreMP7、CortexM1的软件程序的编译和调试功能,使用USB的下载器FlashPro3作为调试的硬件工具,为用户的开发和调试节省成本。

Libero8.5集成开发软件设计流程如图3-2所示。

图3-2 Libero设计流程图

3.2

计数器模块

计数器模块主要是利用FPGA提供的始终脉冲,产生一个控制闸门信号,利

用控制闸门信号与被测信号共同产生一个实际闸门信号,在利用这个实际闸门信号控制分别对被测信号x N和标准信号Ns计数,计数器总体设计如图3-3所示。

图3-3 计数器

11

rest:复位信号。负脉冲有效;

start:开始信号,高电平有效。当置高时,计数器开始计数;

clkx:被测频率信号;

clk:时钟信号,由EasyFPGA030开发板提供的48MHz的时钟控制信号;

ctl:量程控制选择,低电平为1Hz-1KHz,高电平为1KHz-1MHz;

ok:通信控制信号,在计数器完成计数后置高电平,通知除法器取数,并进行除法运算;

Ns,Nx:分别是对标准信号和被测信号计数,位宽带为11为。

计数器模块仿真结果如图3-4所示。clkx被测信号设置的是1MHz,标准信号clks由48MHz分频得到的是1KHz,计数器计得Nx=2000,Ns=2。计数完成时ok信号被置高电平。结果正确。

图3-4 计数器模块仿真图

3.2.1分频模块

分频模块主要是对FGPA产生的48MHz的时钟晶振频率进行分频,获得所需的控制信号频率和标准信号频率,其模块设计如图3-5所示。

图3-5 分频模块

rest:复位控制信号,负脉冲有效;

clk:时钟信号,由EasyFPGA030开发板提供的48MHz的时钟控制信号;

12

ctl:分频控制信号,控制分频的的大小。低电平时分频为1Hz,高电平时分频为1KHz;

clk_s:为分得频率的输出端口;

3.2.2预置闸门模块

预置闸门模块是用分频模块分得的频率作为控制时钟信号,利用计数的方法产生一个预置闸门控制信号,其模块设计如图3-6所示。

图3-7 预置闸门信号生成模块

rest:复位信号,负脉冲有效;

clk:时钟信号。与分频模块端口的clk_s相连,对clk_s信号进行计数,产生一个一定宽度的预置闸门信号;

start:开始信号,高电平有效,置高时,开始产生预置闸门脉冲信号;

clkp:产生闸门信号的输出端;

3.2.3实际闸门模块

实际闸门模块是利用预置闸门模块产生的预置闸门信号与从外部输入的被测信号共同控制产生一个实际闸门控制信号,这个控制信号与被测信号时完全同步的,其模块设计如图3-8所示。

图3-8 实际闸门信号生成模块

rest:复位信号,负脉冲有效;

clkp:预置闸门信号输入端,与预置闸门信号模块的clkp端口相连;

clkx:被测信号输入端;

13

clkr:实际闸门信号输出端,利用预置闸门信号与被测信号产生一个

实际闸门信号;

3.2.4计数Nx模块

计数Nx模块是利用实际闸门模块产生的实际闸门控制信号来控制对被测量信号Nx进行计数,其模块设计如图3-9所示。

图3-9 被测信号计数器

rest:复位信号,负脉冲有效;

clkx:被测信号输入端;

clkp:预置闸门信号输入端,与预置闸门信号模块的clkp端口相连;

Nx:计数器输出端,在预置闸门信号的高电平宽度内,对被测信号的上升沿计数,输出一个11位2进制数;

3.2.5计数Ns模块

计数Ns模块是利用实际闸门模块产生的实际闸门控制信号来控制对标准信号Ns进行计数,其模块设计如图3-10所示。

图3-10 标准信号计数器

rest:复位信号,负脉冲有效;

clks:标准信号输入端。与分频模块的输出端clk_s相连,因此标准信号的频率分别是1Hz和1KHz,也就是两个量程范围,测量的量程范围是1Hz-1KHz,1KHz-1MHz;

14

clkr:实际闸门信号。

Nx:计数器输出端,在实际闸门信号的高电平宽度内,对标准信号的上升沿计数,输出一个11位2进制数;

3.2.6通信控制模块

通信控制模块是在计数器对被测信号和标准信号计数完之后产生一个高电平的ok信号,这个信号通知后面的除法器模块计数完成,可以取测量数据进行运算处理了,其模块设计如图3-11所示。

图3-11 通信控制模块

rest:复位信号,负脉冲有效;

clkr:实际闸门信号输入端。以clkr的下降沿作为计数完成时刻;

start:开始信号,高电平有效,与预置闸门模块的start是同一信号;

ok:控制信号输出端口,在计数器完成计数是ok产生一个高电平,通知后面的除法器模块开始对计数器模块所计得的数取值;

3.2.7计数器各模块连接详图

把计数器内部各个模块:分频模块,预置闸门模块,实际闸门模块,计数器Nx模块,计数器Ns模块,通信控制模块之间的端口用图形化设计的方式连接起来,连接时注意输出端口必须与输入端口连接,否侧将会出错,把外部输入端口设置成顶层端口,其连线如图3-12所示。

15

图3-12 计数器内部模块连接细图

3.3除法器模块

除法器是把计数被测信号所计得的Nx作为被除数和标准信号所计得的Ns 作为除数相除,除得一个商和余数,其模块设计如图3-13所示。

图3-13 除法器

rest:复位信号,负脉冲有效;

clk:时钟控制信号,输入的是开发板上的48MHz的时钟频率;

start:开始信号,高电平有效。与计数器模块的ok信号端相连,当start被置高时,除法器开始计数;

A,B:分别为被除数和除数,分别与计数器的Nx和Ns相连;

err:除法出错信号端,当被除数为零时,err为高电平;

ready:通信信号端,用于与单片机通信。当做完除法时,ready给出一个负脉冲信号;

D,R:分别为除法器除得的商和余数;

16

相关主题
文本预览
相关文档 最新文档