等精度多功能测试仪设计.docx

上传人:b****8 文档编号:13120451 上传时间:2023-06-11 格式:DOCX 页数:13 大小:621.97KB
下载 相关 举报
等精度多功能测试仪设计.docx_第1页
第1页 / 共13页
等精度多功能测试仪设计.docx_第2页
第2页 / 共13页
等精度多功能测试仪设计.docx_第3页
第3页 / 共13页
等精度多功能测试仪设计.docx_第4页
第4页 / 共13页
等精度多功能测试仪设计.docx_第5页
第5页 / 共13页
等精度多功能测试仪设计.docx_第6页
第6页 / 共13页
等精度多功能测试仪设计.docx_第7页
第7页 / 共13页
等精度多功能测试仪设计.docx_第8页
第8页 / 共13页
等精度多功能测试仪设计.docx_第9页
第9页 / 共13页
等精度多功能测试仪设计.docx_第10页
第10页 / 共13页
等精度多功能测试仪设计.docx_第11页
第11页 / 共13页
等精度多功能测试仪设计.docx_第12页
第12页 / 共13页
等精度多功能测试仪设计.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

等精度多功能测试仪设计.docx

《等精度多功能测试仪设计.docx》由会员分享,可在线阅读,更多相关《等精度多功能测试仪设计.docx(13页珍藏版)》请在冰点文库上搜索。

等精度多功能测试仪设计.docx

等精度多功能测试仪设计

 

VHDL设计(EDA)课程设计

设计题目:

脉宽/占空比/等精度频

率多功能测试仪设计

系:

物理与电子科学系

专业:

应用物理学

班级:

2012级

学号:

学生姓名:

指导教师:

卫黄河

2015年7月5日

1课程设计内容(功能、用途)

随着微电子技术和计算机技术的迅速发展,特别是单片微机和片上可编程系统的出现和发展,使传统的电子测量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代测量仪器。

频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。

传统的频率计测量误差较大,等精度频率计以其测量准确、精度高、方便等优势将得到广泛的应用。

频率计是电子器的一种,在电子技术领域内,频率与电压一样,也是一个基本参数。

目前,随着电子技术、微电子技术、数字技术、计算机科学的发展,电子计数器已经大量采用大规模、超大规模集成电路,尤其是与微处理器相结合,实现了程控化和智能化,频率计不断得到发展和完善。

尤其是近代以来,随着电子工业的飞速发展,EDA技术的问世,新型的频率计具有测量精度高、发展快、自动化程度高、直接数字显示、操作简便等特点。

在此基础上附加参数转换电路,可以完成多参数、多功能测量,应用前景非常广阔。

传统的测频方法有直接测频法和测周法,在一定的闸门时间内计数,门控信号和被测信号不同步,计数值会产生一个脉冲的误差。

等精度测频法采用门控信号和被测信号同步,消除对被测信号计数产生的一个脉冲的误差。

等精度频率计测量方法消除了量化误差,可以在整个测试频段内保持高精度不变,其精度不会因被测信号频率的高低而发生变化。

采用FPGA作为控制核心的等精度频率计,可以充分利用FPGA高速数据采集技术较容易实现等精度测频。

通过FPGA对同步门的控制,使被测信号和标准信号在闸门时间内同步测量,为了提高精度,将电子计数功能转为测周期,采用多周期同步测量技术,实现等精度测量。

随着电子设计技术的飞速发展,专用集成电路ASIC、用户现场可编程门阵列(FPGA)及复杂可编程逻辑器件(CPLD)的复杂度越来越高,数字通信、工业自动化控制等领域所用的数字电路及系统的复杂也越来越高。

设计这样复杂的电路及系统也不再是简单的个人劳动而需要综合许多专家的经验和知识才能完成。

硬件描述语言Verilog顺应这种潮流,迅速发展,目前已得到广泛的应用。

FPGA的结构灵活,其逻辑单元、可编程内部连线和I/O单元都可以由用户编程,可以实现动态配置、在线系统重构(可以在系统运行的不同时刻,按需要改变电路的功能,使系统具备多种空间相关或时间相关的任务)及硬件软化、软件硬化等功能。

在大多数的研制过程中,人们习惯把FPGA技术跟MCU技术相结合的方式来完成设计。

FPGA有速度快、灵活等特点,速度快的优势来源于FPGA的逻辑功能,FPGA的逻辑功能全部用硬件电路实现,故所有的延迟只来源于门电路,而一般门电路的延迟都在ns级别。

但与MCU相比,FPGA实现的功能较为简单。

你无法想象用硬件电路可以实现一个Windows操作系统。

所以人们更习惯把FPGA在绝大多数系统中充当配角,比如,为系统的主控MCU扩展某种接口等待。

现在,最终FPGA不会变成MCU,最终FPGA会发扬其优点,成为比MCU更为强大的东西。

目前有些FPGA已带有模拟IO,很多FPGA可嵌入8051,ARM等软核,尽管现在由于成本等因素,这类应用并不多,但是这个发展路线不会错。

一些厂商已经考虑把软核变成硬核,也就是在FPGA中嵌入MCU,一旦类似的产品出现,实现sytermonthechip便变得非常容易。

本设计采用的就是目前相对成熟的NIOS软核嵌入到FPGA中实现SPOC。

等精度频率计的主系统由六个部分构成:

(1)信号整形电路。

用于对待测信号进行放大和整形,以作FPGA器件的输入信号。

(2)测频电路。

是测频的核心电路模块,可以由FPGA器件担任。

(3)100MHz的标准频率信号源(可通过锁相环倍频从FPGA内部获得)接入FPGA。

(4)单片机核构建的最小系统模块。

用于控制FPGA的测频操作和读取测频数据,并作出相应数据处理。

设单片机的P0口读取测试数据,P2口读向FPGA发控制命令,通过液晶显示频率值。

(5)键盘模块。

可以用四个键执行测试控制,其中一个是复位键,其余是各项测试命令键。

(6)液晶显示模块。

可以显示测试结果,最高可表示百万分之一的精度。

图1是FPGA中的测频采样核心模块。

模块的工作原理是这样的:

图中的“预置门控行”CL可由单片机发出。

可以证明,在1~0.1秒选择的范围内,CL的时间宽度对测频精度几乎没有影响,在此设其宽度为

(图2)。

“BHZ”和“TF”模块是两个可控的32位高速计数器,BENA和ENA分别是它们的计数允许信号端,高电平有效。

标准频率信号从BZH的时钟输入端BGLK输入,设其频率为

;经整形后的被测信号从与BZH相似的32位计数器TF的时钟输入端TCLK输入,设其真实频率值为

,被测频率为

.

测频开始前,首先发出一个清0信号CLR,使两个计数器和D触发器置0;同时D触发器通过信号ENA禁止两个计数器计数,这是初始化操作。

然后由单片机发出允许测频命令,即令预置门控信号CL为高电平(须将电路图1和图2里联系起来看),这时D触发器要一直等到被测信号的上沿通过时,Q端才被置1(即令START为高电平);与此同时,将同时启动计数器BHZ和TF,进入图2所示的“计数允许周期”。

在此期间,BHT和TF分别对被测信号(频率为

)同时计数。

秒后,预置门信号被单片机置为低电平,但此时两个计数器并没有停止计数,一直等到随后而至的被测信号的上升沿到来时,才通过D触发器将这两个计数器同时关闭。

图1等精度频率计主控结构

 

图2频率计测控时序

由波形图2可见,CL的宽度和发生的时间都不会影响计数使能信号(START)允许计数的周期总是恰好等于待测信号TCLK的完整周期数这样一个事实。

这正是TCLK在任何频率条件下都能保持恒定精度的关键。

而且,CL宽度的改变以及随机的出现时间造成的误差最多只有BCLK信号的一个时钟周期。

由于BCLK由精确稳定的晶体振荡器发出,则任何时刻的绝对测量误差只有10ns(对应100MHz标准频率)。

设在一次预置门时间

中对被测信号计数值为

,对标准频率信号的计数值为

则有关系式:

于是不难得到测得的频率的关系式:

.

最后通过控制SEL选择信号和64位至8位的多路选择器MUX64-8,将计数器BHZ和TF中的两个32位数据分8次读入单片机,并按式

进行计算,然后显示测得的频率结果。

控制方式如下:

(1)单片机的P0口接8位数据DATA[7.0],负责分段读取测频数据(两个32位)。

(2)单片机可以通过信号START的电平,了解计数是否结束,以确定何时可以读取数据。

(3)在测脉宽阶段SPUL被设置成0,EEND的功能与START基本相同,当其由低电平变到高电平时指示脉宽计数结束。

(4)P2.2、P2.1和P2.0与SEL[2.0]相接,用于控制多路通道的数据选择。

当SEL分为“000”、“001”、“010”、“011”时,由低8位到高8位读出待测频率计数值。

(5)P2.4接清信号CLR,高电平有效。

每一测频周期开始时,都应该首先对此清0.

(6)P2.5和P2.6分别接控制信号CL和SPUL。

CL和SPUL协同控制测试操作。

即当SPUL为1时,CL作为预置门控信号,用于测频计数的时间控制(如可取0.5秒);当SPUL为0时,CL作为测脉宽控制信号。

这时,CL若为1,测TCLK的高电平脉宽,而当CL为0时,则测TCLK的低电平脉宽。

然后分别从DATA数据口读出BZH对标准频率的计数,即只需SEL的取值分别为“000”、“001”、“010”、“011”即可。

对于占空比的测量,可以通过测量正反两个脉宽的计数值来获得。

设BZH对正脉宽的计数值为

对负脉宽的计数值为

测周期计数值为

于是占空比为:

占空比=

二设计过程(代码及注释)

VHDL程序过程设计

根据逻辑原理图1、功能波形图2,以及以上给出的测频原理说明,就可以写出相应的VHDL描述了,如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYETIS

PORT(BCLK:

INSTD_LOGIC;

TCLK:

INSTD_LOGIC;

CLR:

INSTD_LOGIC;

CL:

INSTD_LOGIC;

SPUL:

INSTD_LOGIC;

START:

OUTSTD_LOGIC;

EEND:

OUTSTD_LOGIC;

SEL:

INSTD_LOGIC_VECTOR(2DOWNTO0);

DATA:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDET;

ARCHITECTUREbehavOFETIS

SIGNALBZQ:

STD_LOGIC_VECTOR(31DOWNTO0);

SIGNALTSQ:

STD_LOGIC_VECTOR(31DOWNTO0);

SIGNALENA:

STD_LOGIC;

SIGNALMA,CLK1,CLK2,CLK3:

STD_LOGIC;

SIGNALQ1,Q2,Q3,BENA,PUL:

STD_LOGIC;

SIGNALSS:

STD_LOGIC_VECTOR(1DOWNTO0);

BEGIN

START<=ENA;

DATA<=BZQ(7DOWNTO0)WHENSEL="000"ELSE

BZQ(15DOWNTO8)WHENSEL="001"ELSE

BZQ(23DOWNTO16)WHENSEL="010"ELSE

BZQ(31DOWNTO24)WHENSEL="011"ELSE

TSQ(7DOWNTO0)WHENSEL="100"ELSE

TSQ(15DOWNTO8)WHENSEL="101"ELSE

TSQ(23DOWNTO16)WHENSEL="110"ELSE

TSQ(31DOWNTO24)WHENSEL="111"ELSE

TSQ(31DOWNTO24);

BZH:

PROCESS(BCLK,CLR)BEGIN

IFCLR='1'THENBZQ<=(OTHERS=>'0');

ELSIFBCLK'EVENTANDBCLK='1'THEN

IFBENA='1'THENBZQ<=BZQ+1;ENDIF;

ENDIF;

ENDPROCESS;

TF:

PROCESS(TCLK,CLR,ENA)BEGIN

IFCLR='1'THENTSQ<=(OTHERS=>'1');

ELSIFTCLK'EVENTANDTCLK='1'THEN

IFENA='1'THENTSQ<=TSQ+1;ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(TCLK,CLR)BEGIN

IFCLR='1'THENENA<='0';

ELSIFTCLK'EVENTANDTCLK='1'THENENA<=CL;ENDIF;

ENDPROCESS;

MA<=(TCLKANDCL)ORNOT(TCLKORCL);

CLK1<=NOTMA;CLK2<=MAANDQ1;CLK3<=NOTCLK2;SS<=Q2&Q3;

DD1:

PROCESS(CLK1,CLR)BEGIN

IFCLR='1'THENQ1<='0';

ELSIFCLK1'EVENTANDCLK1='1'THENQ1<='1';ENDIF;

ENDPROCESS;

DD2:

PROCESS(CLK2,CLR)BEGIN

IFCLR='1'THENQ2<='0';

ELSIFCLK2'EVENTANDCLK2='1'THENQ2<='1';ENDIF;

ENDPROCESS;

DD3:

PROCESS(CLK3,CLR)BEGIN

IFCLR='1'THENQ3<='0';

ELSIFCLK3'EVENTANDCLK3='1'THENQ3<='1';ENDIF;

ENDPROCESS;

PUL<='1'WHENSS="10"ELSE

'0';

EEND<='1'WHENSS="11"ELSE

'0';

BENA<=ENAWHENSPUL='1'else

PULWHENSPUL='0'ELSE

PUL;

ENDbehav;

 

 

3仿真结果分析

图3等精度频率计测频时序图

图4等精度频率计测脉宽时序图

图3和图4分别以上VHDL程序的频率测试仿真波形和脉宽测试仿真波形。

从图3可以看出,当设置SPUL=1时,系统进行等精度测频。

这时,CLR一个正脉冲后,系统被初始化。

然后CL被置为高电平,但这时两个计数器并未开始计数(START=0),直到此后被测信号开始计数,其中BZQ和TSQ分别为标准频率计数器和被测频率计数器的计数值。

由图可见,可作为单片机了解计数结束的标志信号。

由图3可见,计数结果是,对TCLK的计数值是5,对BCLK的计数值是64(十六进制)。

通过控制SEL就能按照8个8位将两个计数器中的32位数读入单片机中,进行计算。

图4中,取SPUL=0时,系统被允许进行脉宽测试。

由实验内容和图4分析,CL和CLR的功能都发生了变化,前者为1时测信号高电平的脉宽;为0时测低电平的脉宽,而后者CLR变为1时做系统初始化;由1变为0后启动电路系统的标准信号计数器BZQ准备对标准频率进行计数。

而允许计数的条件是此后出现的第一个脉宽。

由波形图4可见,当CL=1,TCLK的高电平脉冲到来时,即启动了BZQ进行计数,而在TCLK的低电平到来时停止计数,状态型号EEND则由低电平变为高电平,告诉单片机计数结束。

计数值可以通过SEL读出,这里是4BH。

由此不难算出,TCLK的高电平应该等于4BH乘以BCLK的周期。

改变CL为0,又能测出TCLK的低电平脉宽,从而可以获得TCLK的周期和占空比。

 

4总结

经过将近一个星期的课程设计,通过对各种资料的查阅,我发现了自己动手的乐趣。

以前所学的知识都被局限于课本之中,这次通过程设计我体会到了,只要勇于探索和吸收,知识是无边无境的。

因为是第一次做课程设计,在这个过程中遇到了很多问题,比如如何画图,如何组织那种专业语言,上网、到图书馆查找相关的资料。

虽然很费劲,但是其乐无穷。

通过此次的设计,我发现到这个设计对数字电子技术及模拟电子技术的学习要求非常高,我相信在今后的学习和工作中它也占据着非常重要的地位。

课堂中的学习是远远不够的,我们还需要自己吸收和再学习,不断的探索和研究。

这样在以后的学习工作中才能节节进步,不断创新。

不但如此,想要完成一个任务,不能只局限于自己所学的知识中,要各个方面都有涉猎。

通过这次课程设计,我掌握了常用元件的识别和测试;熟悉了常用的仪器仪表;了解了电路的连接方法;以及如何提高电路的性能。

通过这次的课程设计,自己也对许多的软件有了一定的了解,但是也还不能很熟练的掌握只是能用一些基本的功能,所以这就要求我们还要多加努力的学习各种EDA软件的以用这多我们以后的学习会有很大的帮助。

其次,这次课程设计提高了我们的团队合作精神,使我们配合更加默契。

这次的设计当中,只能说基本完成了设计任务中的基本要求。

本课题用EDA进行虚拟频率计的软件设计,实际的硬件设计用到的器件较多,联机比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。

而且还存在着许多不足之处。

为了能测量不同电平值与波形的周期信号的频率,必须对被测信号进行放大与整形处理,数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置。

它不仅可以测量正弦波、方波、三角波、尖脉冲信号和其它具有周期特性的信号的频率,而且通过频率与周期之间的转换还可以测量它们的周期。

通过本课题的设计使我们对数字频率计有更深一步的了解。

本设计参考了P335,例12-1。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2