版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE2566.5等精度数字频率/相位测试仪程序设计与仿真1实验目的学习利用EDA技术和FPGA实现等精度数字频率/相位测试仪的设计。2实验原理基于传统测频原理的频率计的测量精度将随被测信号频率的下降而降低,即测量精度随被测信号的频率的变化而变化,在实用中有较大的局限性,而等精度频率计不但具有较高的测量精度,且在整个频率区域能保持恒定的测试精度。设计项目可达到的指标如下:=1\*GB3①频率测试功能:测频范围0.1Hz~100MHz。测频精度:测频全域相对误差恒为百万分之—。=2\*GB3②脉宽测试功能:测试范围0.1us~ls,测试精度0.0lus。=3\*GB3③占空比测试功能:测试(显示)精度1%一99%。=4\*GB3④相位测试功能:测试范围0~360度,测试精度0.2度。(1)主系统组成等精度频率计的主系统如图6.5.1所示,主要由六个部分构成:=1\*GB3①信号整形电路。用于对待测信号进行放大和整形,以便作为PLD器件的输入信号。=2\*GB3②测频电路。是测频的核心电路模块,可以由FPGA器件担任。=3\*GB3③100MHz的标准频率信号源(可通过PLL倍频所得)进入FPGA。=4\*GB3④单片机电路模块。用于控制FPGA的测频操作和读取测频数据,并做出相应数据处理。安排单片机的P0口读取测试数据,P2口向FPGA发控制命令。=5\*GB3⑤键盘模块。可以用5个键执行测试控制,一个是复位键,其余是命令键。=6\*GB3⑥数码管显示模块。可以用7个数码管显示测试结果,最高可表示百万分之一的精度。考虑到提高单片机I/O口的利用率,降低编程复杂性,提高单片机的计算速度以及降低数码显示器对系统的干扰,可以采用串行静态显示或是液晶显示方式。图6.5.1频率计主系统电路组成(2)主系统组成测频原理。等精度测频原理可以简单地用图6.5.2和波形图6.5.5和图6.5.6来说明。图6.5.2中“预置门控信号”CL可由单片机发出,可以证明,在1秒至0.1秒间的选择范围内,CL的时间宽度对测频精度几乎没有影响,在此设其宽度为Tpr。BZH和TF模块是两个可控的32位高速计数端,BENA和ENA分别是它们的计数允许信号端,高平有效。标准频率信号从BZH的时钟输入端BCLK输入,设其频率为FS:经整形后的被测信号从与BZH相似的32位计数器TF的时钟输入端TCLK输入,设其真实频率值为FxC,被测频率为Fx。等精度测频原理说明如下:图6.5.2频率计主系统电路组成测频开始前,首先发出—个清零信号CLR,使两个计数器和D触发器置0,同时D触发器通过信号ENA,禁止两个汁数器汁数。这是一个初始化操作。然后由单片机发出允计测频命令,令预置门控信号CL为高电平(注意将图6.5.2和图6.5.5和图6.5.6波形时序图联系起来看),这时D触发器要—直等到被测信号的上升沿通过时Q端才被置1(即令START为高电平),与此同时,将同时启动计数器BHZ和TF,进入图6.5.5和图6.5.6所示的“计数允许周期”。在此期间,BHT和TF分别对被测信号(频率为Fx)和标准频率信号(频率为Fs)同时计数。当Tpr秒后,预置门信号被单片机置为低电平,但此时两个计数器并没有停止计数,一直等到随后而至的被测信号的上升沿到来时,才通过D触发器将这两个计数器同时关闭。由图6.5.5和图6.5.6可见,CL的宽度和发生的时间都不会影响计数使能信号(START),允许计数的周期总是恰好等于待测信号TCLK的完整周期数这样一个事实,这正是确保TCLK在任何频率条件下都能保持恒定精度的关键。而且,CL宽度的改变以及随机的出现时间造成的误差最多只有BCLK信号的一个时钟周期,如果BCLK由精确稳定的晶体振荡器(100MHz)发出,则任何时刻的绝对测量误差只有10ns。设在—次预置门时间Tpr中对被测信号的计数值为Nx,对标准频率信号的计数值为Ns则下式成立:(6-5-1)不难得到测得的频率为:(6-5-2)最后通过控制SEL选择信号和64位至8位的多路选择器MUX64-8,将计数器BHZ和TF中的两个32位数据分8次读入单片机按式(6-5-2)进行计算,并显示结果。(3)VHDL测试程序设计。根据逻辑原理图6.5.1功能波形图6.5.5和图6.5.6,以及以上给出的测频原理说明,可以写出相应的VHDL功能描述。图6.5.3即根据源程序画出的电路模块。本实验中的源程序已通过了综合和硬件测试,可以直接应用。源程序与单片机可以按照如下方式接口:=1\*GB3①单片机的P0口接8位数据DATA[7..0],负责读取测频数据。=2\*GB3②单片机可以通过信号START,了解计数是否结束,以确定何时可以读取数据。=3\*GB3③在测脉宽阶段(SPUL=0),EEND的功能与START基本相同,当其由低电平变到高电平时指示脉宽计数结束。=4\*GB3④P2.2、P2.1和P2.0-~SEL[2..0]相接,用于控制多路通道的数据选择。当SEL分别为"000”、“001”、“010"、“011”时,由低8位到高8位读出标准频率计数值:当SEL分别为“100”、“101”、“110"、“=5\*GB3⑤P2.4接清零信号CLR,高电平有效。每一测频周期开始时,都应首先清零。=6\*GB3⑥P2.5和P2.6分别接控制信号CL和SPUL。CL和SPUL协同控制测试操作。即当SPUL为“1”时,CL作为预置门控信号,用于测频计数的时间控制(如可取0.5s):当SPUL为“0”时,CL作为测脉宽控制信号。这时,CL若为“1”,测TCLK的高电平脉宽,而当CL为“0”,时,则测TCLK的低电平脉宽。然后分别从DATA数据口读出BZH对标准频率的计数,即只需令SEL的取值分别为“000”、“001”、“010”(6-5-3)图6.5.3RTL图(4)主系统组成测试与实现。单片机程序中可以根据以上给出的控制方法进行测量控制,在读取相以的数据后,按照式(6-5-2)和式(6-5-3)进行计算。测试步骤如下:=1\*GB3①在使用单片机统调用前,应该直接对下载了实验源程序的FPGA进行测试,如果使用GW48EDA系统,建议电路图用实验电路模式5(附录A图A-6)。如果以上的仿真测试无误,进行引脚锁定,以便能在实验系统上进行FPGA硬件功能的测试。BCLK接系统的clock9(50MHz):TCLK接clock0,可选择多个信号测试,如2、4、8Hz等,或拔下短路帽输入其他待测信号:信号CLR、CL、SPUL分别由键7、键8、键4控制:SI:ART和EEND分别由发光管7和8显示:8位输出数据DATA7、DATA6…DATA0分别用数码管2和1显示,由高位到低位分别锁定在FPGA上。DATA[7..0]读取选样信号SEL2、SEL1、SEL0分别由键3、键2、键1控制。在测试过程中,应该根据图6.5.5和图6.5.6的电平设置,控制按键,以便测得正确的频率和脉宽。=2\*GB3②如果能通过以上步骤,则表明专用功能的FPGA已设计完成,可根据用户板的引脚情况,重新锁定引脚,以便将FPGA插到用户板上,与板上的单片机和其他器件协调工作,完成独立的测频系统。=3\*GB3③根据图6.5.5和图6.5.6各信号的时序设置方式和输出信号的含义,设计单片机程序,其中包括单片机与FPGA的数据通信程序单片机控制FPGA进行测频和测脉宽的控制程序、数据运算程序等。最后将设计调试好的单片机程序编译后烧录进单片机中。=4\*GB3④为了提高测试精度,可以利用PLL将系统时钟在FPGA中倍频到100MHz或更高。=5\*GB3⑤统调中,利用GW48系统的各种标准频率,测试用户板的功能。=6\*GB3⑥最后用ByteBlasterII烧录Cyclone/II的配置器件EPCSl,完成掉电保护设计。(5)相位测试。图6.5.4测相仪模型由图6.5.5和图6.5.6可知,对于源程序补充一个简单逻辑模块就能构成一个相位测试仪。图6.5.4是—个测相仪电路框图。在FPGA模块中除了原来的测频测脉宽功能块外,还增加了一个鉴相器,鉴相器接受来自外部的两路被整形后的信号。由鉴相器输出的脉冲信号的占空比与这两路信号的相位差成正比,即(6-5-4)其中N1是高电平脉宽时间内的计数值,N2是低电平脉宽时间内的计数值。3实验内容(1)根据以上步骤,首先完成等精度频率汁FPGA的设计,并在GW48系统上硬件验证源程序的各项功能:等精度测频率、测脉宽、测占空比。在GW48系统上给出的标准待测频率,计算误差,并与理沦误差值比较。(2)根据图6.5.5和图6.5.6和式(6-5-2)、式(6-5-3)设计单片机程序,完成单片机与FPGA的接口程序、控制程序和计算显示程序的设计。完成等精度频率计独立系统的设计,控制键可以参考图6.5.1的电路,每一个键控制一种功能。(3)修改原设计,增加测相位功能,并在系统上增加一个键,控制测相差和显示。被测信号可以用前面设计的移相信号发生器产生。(4)实验内容4:用嵌入式锁相环PLL的LPM模块对实验系统的50MHz或20MHz时钟源倍频达到100MHz,PLL的输出信号作为频率计的标准频率源。注意PLL的输入时钟必须是器件的专用时钟输入脚。4实验预习思考(1)根据图6.5.3说明信号SPUL和EEND的作用,信号CL和START的关系。(2)分析图6.5.5和图6.5.6,说明信号START利EEND的关系,并计算TCLK的脉宽,详细说明占空比的测量方法。(3)用数学方法证明,CL的时间在0.1-ls间,在可测的频率内,误差小于等于标准频率源一个周期。5程序设计与仿真程序设计源程序如下:LIBRARYIEEE;--2004GWDVPB,模式5USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYetesterISPORT(BCLK:INSTD_LOGIC;--Clock9标准频率时钟信号TCLK:INSTD_LOGIC;--clock2待测频率时钟信号CLR:INSTD_LOGIC;--键7:PIO6清零和初始化信号CL:INSTD_LOGIC;--键8:PIO7当SPUL为高电平时,CL为预置门控信号,用于测频计数时间控制--当SPUL为低电平时,CL为测脉宽控制信号,CL高电平时测高电平脉宽--而当CL为低电平时,测低电平脉宽。SPUL:INSTD_LOGIC;--键4:PIO3测频或测脉宽控制START:OUTSTD_LOGIC;--发光管8:PIO15EEND:OUTSTD_LOGIC;--发光管7:PIO14由低电平变到高电平时指示脉宽计数结束,SEL:INSTD_LOGIC_VECTOR(2DOWNTO0);--键3、2、1:PIO2/PIO1/PIO0--两个32位计数器计数值分8位读出多路选择控制DATA:OUTSTD_LOGIC_VECTOR(7DOWNTO0)--数码管2/1:PIO23/22/21/20/19/18/17/16,8位数据读出);ENDetester;ARCHITECTUREbehavOFetesterISSIGNALBZQ:STD_LOGIC_VECTOR(31DOWNTO0);--标准计数器SIGNALTSQ:STD_LOGIC_VECTOR(31DOWNTO0);--测频计数器SIGNALENA:STD_LOGIC;--计数使能SIGNALMA:STD_LOGIC;SIGNALCLK1:STD_LOGIC;SIGNALCLK2:STD_LOGIC;SIGNALCLK3:STD_LOGIC;SIGNALQ1:STD_LOGIC;SIGNALQ2:STD_LOGIC;SIGNALQ3:STD_LOGIC;SIGNALBENA:STD_LOGIC;SIGNALPUL:STD_LOGIC;--脉宽计数使能SIGNALSS:STD_LOGIC_VECTOR(1DOWNTO0);BEGINSTART<=ENA;DATA<=BZQ(7DOWNTO0)WHENSEL="000"ELSE--标准频率计数低8位输出BZQ(15DOWNTO8)WHENSEL="001"ELSEBZQ(23DOWNTO16)WHENSEL="010"ELSEBZQ(31DOWNTO24)WHENSEL="011"ELSE--标准频率计数最高8位输出TSQ(7DOWNTO0)WHENSEL="100"ELSE--待测频率计数值最低8位输出TSQ(15DOWNTO8)WHENSEL="101"ELSETSQ(23DOWNTO16)WHENSEL="110"ELSETSQ(31DOWNTO24)WHENSEL="111"ELSE--待测频率计数值最高8位输出TSQ(31DOWNTO24);BZH:PROCESS(BCLK,CLR)--标准频率测试计数器,标准计数器BEGINIFCLR='1'THENBZQ<=(OTHERS=>'0');ELSIFBCLK'EVENTANDBCLK='1'THENIFBENA='1'THENBZQ<=BZQ+1;ENDIF;ENDIF;ENDPROCESS;TF:PROCESS(TCLK,CLR,ENA)--待测频率计数器,测频计数器BEGINIFCLR='1'THENTSQ<=(OTHERS=>'0');ELSIFTCLK'EVENTANDTCLK='1'THENIFENA='1'THENTSQ<=TSQ+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(TCLK,CLR)--计数控制使能触发器,CL为预置门控信号,同时兼作正负脉宽测试控制信号BEGINIFCLR='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)BEGINIFCLR='1'THENQ1<='0';ELSIFCLK1'EVENTANDCLK1='1'THENQ1<='1';ENDIF;ENDPROCESS;DD2:PROCESS(CLK2,CLR)BEGINIFCLR='1'THENQ2<='0';ELSIF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026山东理工大学招聘23人备考题库含答案详解(能力提升)
- 2026广东河源市连平县工业商务和信息化局招聘编外人员1人备考题库及答案详解(各地真题)
- 2026甘肃定西市陇西广惠骨科医院招聘11人备考题库及答案详解(网校专用)
- 2026河北沧州渤海新区博爱医院招聘70人备考题库附答案详解(综合卷)
- 2026河南安阳市文惠小学代课教师招聘1人备考题库含答案详解
- 2026上海市众仁慈善服务中心招聘20人备考题库含答案详解(满分必刷)
- 2026湖北武汉市华中农业大学附属学校小学语文教师招聘2人备考题库(第二轮)含答案详解(培优b卷)
- 2026重庆机电控股集团财务有限公司招聘备考题库含答案详解(综合卷)
- 2026年4月四川旅游学院考试招聘5人备考题库带答案详解
- 2026山东第一医科大学第二附属医院招聘高级专业技术岗位工作人员5人备考题库及答案详解(夺冠)
- 博士论文写作精解
- 数字普惠金融对粮食供应链韧性的影响研究
- 新教科版一年级科学下册第一单元第6课《哪个流动得快》教案
- 2024年11月医用冷库建设合同3篇
- 护理CQI项目模板
- 2025年河北省职业院校技能大赛建筑工程识图(高职组)赛项参考试题库(含答案)
- 2024年洛阳职业技术学院单招职业适应性测试题库及答案解析
- 监狱新干警培训课件
- 设计服务合同创意模板
- 有机磷农药中毒的急救与护理
- 2024年贵州省技能大赛白酒酿造赛项考试题库(含答案)
评论
0/150
提交评论