实验三---可控脉冲发生器的设计.doc

实验三---可控脉冲发生器的设计.doc

ID:57417556

大小:34.00 KB

页数:4页

时间:2020-08-16

实验三---可控脉冲发生器的设计.doc_第1页
实验三---可控脉冲发生器的设计.doc_第2页
实验三---可控脉冲发生器的设计.doc_第3页
实验三---可控脉冲发生器的设计.doc_第4页
资源描述:

《实验三---可控脉冲发生器的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三可控脉冲发生器的设计一、实验目的1、了解可控脉冲发生器的实现机理。2、学会用示波器观察FPGA产生的信号。3、学习用VHDL编写复杂功能的代码。二、实验原理脉冲发生器就是要产生一个脉冲波形,而可控脉冲发生器则是要产生一个周期和占空比可变的脉冲波形。可控脉冲发生器的实现原理比较简单,可以简单的理解为一个计数器对输入的时钟信号进行分频的过程。通过改变计数器的上限值来达到改变周期的目的,通过改变电平翻转的阈值来达到改变占空比的目的。下面举个简单的例子来说明其工作原理。假如有一个计数器T对时钟分频,其计数的范围是从0~N,另取一个M(0≤M≤N),若输出为Q

2、,那么Q只要满足条件时,通过改变N值,即可改变输出的脉冲波的周期;改变M值,即可改变脉冲波的占空比。这样输出的脉冲波的周期和占空比分别为:三、实验内容本实验的任务就是要设计一个可控的脉冲发生器,要求输出的脉冲波的周期和占空比都可变。具体的实验过程中,时钟信号选用时钟模块中的1MHz时钟,然后再用按键模块的S1和S7来控制脉冲波的周期,每按下S1,N会在慢速时钟作用下不断地递增1,按下S7,N会在慢速时钟作用下不断地递减1;用S2和S8来控制脉冲波的占空比,每按下S2,M会在慢速时钟作用下不断地递增1,每按下S8,M会在慢速时钟作用下不断地递减1,S12用作

3、复位信号,当按下S12时,复位FPGA内部的脉冲发生器模块。脉冲波的输出直接输出到实验箱观测模块的探针,以便用示波器观察输出波形的改变。四、实验步骤1、打开QUARTUSII软件,新建一个工程。1、建完工程之后,再新建一个VHDLFile,打开VHDL编辑器对话框。2、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。3、编写完VHDL程序后,保存起来。方法同实验一。4、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。5、编译仿真无误后,依照拨动开关、LED与FPGA的管脚连接表(表1-1、表1-2

4、)或参照附录进行管脚分配。表10-1是示例程序的管脚分配表。分配完成后,再进行全编译一次,以使管脚分配生效。端口名使用模块信号对应FPGA管脚说明CLK数字信号源PIN_A14时钟为1MHZNU按键开关S1PIN_AF5频率控制/增加ND按键开关S7PIN_AH14频率控制/减少MU按键开关S2PIN_AH6占空比控制/增加MD按键开关S8PIN_AG7占空比控制/减少RST按键开关S12PIN_AH11复位控制FOUT输出观测模块PIN_C5示波器观测点表10-1端口管脚分配表6、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是

5、否与自己的编程思想一致。一、实验结果与现象以设计的参考示例为例,当设计文件加载到目标器件后,将数字信号源模块的时钟选择为1MHZ,按下按键开关模块的S12按键,在输出观测模块通过示波器可能观测到一个频率约为1KHZ、占空比为50%的矩形波。按下S1键或者S7键,这个矩形波的频率会发生相应的增加或者减少。按下S2键或者S8键,这个矩形波的占空比会相应的增加或减少。二、实验报告1、绘出仿真波形,并作说明。2、在这个实验的基础上重新设计,使程序改变频率的时候不会影响占空比的改变。3、将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。实验代码:m

6、odulepluse(Clk,Nu,Nd,Mu,Md,Rst_n,Out);inputClk;//系统时钟1HzinputNu;//频率变快inputNd;//频率变慢inputMu;//占空比增加inputMd;//占空比减少inputRst_n;//复位信号outputOut;//观测信号reg[10:0]M,N;reg[10:0]N_Count;regClk_f,Out;reg[9:0]Clk_Count;//用于按键判断always@(posedgeClk)//计数器累加beginif(N_Count==1000)N_Count<=0;elseN_

7、Count<=N_Count+1;endalways@(posedgeClk)//输出观测beginif(N_CountM&&N_Count

8、u==0)N<=N+1;if(Nd==0)N<=N-1;if(Mu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。