数字频率计实验报告

上传人:汽*** 文档编号:504389808 上传时间:2023-10-21 格式:DOC 页数:14 大小:771.50KB
返回 下载 相关 举报
数字频率计实验报告_第1页
第1页 / 共14页
数字频率计实验报告_第2页
第2页 / 共14页
数字频率计实验报告_第3页
第3页 / 共14页
数字频率计实验报告_第4页
第4页 / 共14页
数字频率计实验报告_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《数字频率计实验报告》由会员分享,可在线阅读,更多相关《数字频率计实验报告(14页珍藏版)》请在金锄头文库上搜索。

1、-数字频率计设计计双0102 雷昊 86一、课程设计容及要求本次课程设计要求设计并用FPGA实现一个数字频率计,具体设计要求如下:测量频率围: 10Hz100KHz精度: F / F 2 %系统外部时钟: 1024Hz测量波形: 方波 Vp-p 35 V硬件设备:Altera Fle*10K10 五位数码管 LED发光二极管编程语言:Verilog HDL / VHDL二、系统总体设计考虑到测量方便,将数字频率方案分为四档:1099Hz、100999Hz、10009999Hz、1000099999Hz。这样可以保证每一档三位有效数字,而且第三位有效数字误差在2以内时即可到达精度要求。三个输入信

2、号:待测信号、标准时钟脉冲信号和复位脉冲信号。设计细化要求:频率计能根据输入待测信号频率自动选择量程,并在超过最大量程时显示过量程,当复位脉冲到来时,系统复位,重新开场计数显示频率。基于上述要求,可以将系统根本划分为四个模块,分别为分频、计数、锁存和控制,并可以确定根本的连接和反应,如上图所示。三、系统及模块设计与说明如左图所示为数字频率计测量频率的原理图。给定标准时钟脉冲高电平时间,将此高电平信号作为计数器闸门电平,通过计数器得到时间待测脉冲的个数N,则有。由图示可以看出,一个闸门电平时间计数的最大误差为N1,为保证误差要求取N100。经计算,四档的闸门电平时间分别为10s、1s、0.1s和

3、0.01s。仅对计数器计数值N进展简单的移位即可得到结果。产生闸门电平的工作由分频器完成。分频器采用计数分频的方法,产生计数闸门电平和一系列控制脉冲,并承受计数器和控制器的反应。控制器主要用来判断计数器计数是否有效,从而控制档位转换,锁存器翻开、关闭和设定值。计数器在分频器和控制器的作用下对输入待测信号计数,并把计数值输出,在计数溢出时向控制器和分频器发送溢出脉冲。锁存器用来储存有效计数值,以稳定输出。四、系统及模块具体实现与说明系统总体构造图见附图1,下面对每一个模块的具体功能、引脚分配和Verilog HDL语言编程实现进展详细说明。在分模块介绍之前先说明两个重要的存放器状态STAT1.0

4、和LATCH_STAT1.0。STAT1.0用来保存当前档位信息,STAT1.0等于0则为第一档,等于1则为第二档,依此类推,共可标记四档,它位于控制模块中,也是输出,这样其他模块可以通过它得到当前档位信息,而控制模块可以修改它从而调整档位注:在系统总图中由于所有与STAT1.0相连的线路均为对应顺序连接,故没有才用MA*+plus II中默认的总线连接,而是采用单根线。LATCH_STAT1.0用来保存锁存器状态信息,LATCH_STAT1.00时,锁存器在CLK作用下翻开关闭。LATCH_STAT1.01时,锁存器强制置零,CLK无效。LATCH_STAT1.0 2时,锁存器强制置1FFF

5、F,CLK无效。它也在控制器中,这样可以通过对其改变数值到达控制锁存器锁存、复位和显示过量程的功能。计数器COUNTER计数器设计图见附图1右上局部,由四个十进制计数器级联。四个输入端口:时钟脉冲CLK、使能端EN、清零端CLRN、档位状态端STAT1.0。五个输出端口:四个四位十进制BCD码输出OUT13.0OUT43.0、过量程溢出OF。功能表见下:表格 1十进制计数器功能表HL0,1,23位加一计数OF等于第三位进位HL34位加一计数OF等于第四位进位LL计数保持LLLHLL输入输出每个十进制计数器用Verilog HDL语言编程实现。源程序如下:module counter_10(cl

6、k, en, clrn, cr, out);/clk:时钟脉冲,上升沿触发 en: 使能端,高电平有效/clrn:清零端,上升沿,高电平有效input clk, en, clrn;/cr: 进位端output cr;reg cr;/四位十进制BCD码输出output3:0 out;reg3:0 out;always (posedge clk or posedge clrn)begin/clrn 上升沿、高电平清零if(clrn) beginout = 0;cr = 0;endelse begin/en为高,模十加一计数,en为低,计数保持if(en) beginif(out 9) begino

7、ut = out + 1;cr = 0;endelse if(out = 9) beginout = 0;cr = 1;endelse beginout = 0;cr = 0;endendelse beginout = out;cr = 0;endendendendmodule分频器分频器是本系统最重要的功能部件之一,由它产生闸门电平和控制器、计数器的控制脉冲。它有四个输入:标准时钟脉冲输入CLK1024、溢出处理触发TRIGGER、复位触发RESET和档位状态STAT1.0。三个输出:计数闸门电平FGATE、控制器工作脉冲FTRIGGER、计数器控制器清零脉冲FCLR。其组成图见附图2右上局

8、部。分频器采用计数分频的方法,即使用一部存放器,在时钟脉冲上升沿加一计数,当计到一定值时就改变FGATE的状态,从而到达分频的目的。由于输入标准时钟脉冲为1024Hz,要得到0.1s的FGATE计数值相当小,约为20,误差很大,故在实际设计中把第四档闸门电平时间调整为0.1s,这样第三、四档公用一个闸门电平,同时在计数和锁存时要做相应的移位,因为测量第四档频率时有4位有效数字。要得到10s、1s、0.1s三个FGATE,分别要计数到10240、1024和103。从组成图中也可以看出分频器由这三种计数器并联组成,通过3个4选1选择器一个74LS153和一个4_1MU*,由STAT1.0选择使用的

9、FGATE、FCLR和FTRIGGER。输出FGATE送计数器EN作为计数器使能闸门电平。FTRIGGER送控制器TRIGGER作为控制器工作脉冲。FCLR送计数器CLRN作为每次计数开场前的清零信号,送控制器CLR作为控制器部触发信号。这三个信号的时序图如下:由图可以看出FGATE由高变低,即计数完毕时,FTRIGGER信号才产生,这时控制器开场工作,判断计数是否有效,然后发出一系列指令直到FCLR信号到来,计数器清零,准备进入下一次计数。采用这样的像CPU时钟一样的信号的原因,一方面,处理计数数据只用了很短的时间,两次测量之间时间很短,加快了频率计的响应速度;另一方面,解决了异步时序逻辑的

10、竞争,使系统工作在异步时序状态下,既保持了很高的响应速度,又有很高的稳定性。为了解决在第一档向第二档转换时等待时间过长的问题,分频器由TRIGGER端口接收一个计数器的溢出脉冲,当计数器溢出时,在脉冲上升沿将部计数器置为FGATE完毕高电平的最后一个计数器值。这样,由于控制器此时溢出已被置位,马上就能进入一次换档处理,保证了换档的快速。另外,RESET信号上升沿到来时,计数器被置为零,这样就可以马上重新开场计数,实现了复位的效果。分频器单元FREQCER_10240的源程序如下其他两个单元仅计数值不一样,其他均一样,故不列在此,见附录:module freqcer_10240(clk, tri

11、gger, reset, out_gate, out_clr, out_trigger);input clk, trigger, reset;output out_gate, out_clr, out_trigger;reg out_gate, out_clr, out_trigger;reg13:0 counter;always (posedge clk or posedge trigger or posedge reset)begin/计数器溢出,准备进入换档状态if(trigger) begincounter = 10239;end/复位else if(reset) begin/清零,准

12、备开场计数counter = 10239;out_trigger = 0;out_clr = 0;out_gate = 0; end/非对称式分频else if(counter = 10239) beginout_trigger = 0;out_gate = 1;out_clr = 0;counter = 10240) & (counter = 10247) beginif(counter = 10241) | (counter = 10243) | (counter = 10245)out_trigger = 1;else if(counter = 10247)out_clr = 1;els

13、e beginout_clr = 0;out_trigger = 0;endout_gate = 0;counter = counter + 1;endelse if(counter = 10248) begincounter = 0;out_gate = 0;out_trigger = 0;out_clr = 0;endendendmodule锁存器锁存器有八个输入:时钟脉冲CLK,置位端SET,复位端RESET,4个4bit十进制BCD输入IN13.0IN43.0,档位状态STAT1.0。五个输出:5个5bit十进制BCD输出。组成图见附图2左上局部。由一桥接器BRIDGE和4个LATCH_4_16、1个LATCH_4_1锁存器组成。桥接器BRIDGE主要是为了数据对齐。因为3、4两档使用同一个分频器,故测量第四档时有4位有效数字,通过桥接器转换后就能保证数据有效数字最高位与锁存器第五位对齐。其具体构造见附图2下半局部。输入输出对应表如下:. z-表格 2 桥接器功能表OUT5 IN3 IN4OUT4 IN2 IN3OUT3 IN1 IN2OUT20 IN1表格 3 LATCH_4_16功能表CLKSETRESETOUT00= IN01010F000F.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号