可控脉冲发生器的设计实验
可控脉冲发生器的设计
一、实验目的
1、了解可控脉冲发生器的实现机理。
2、学会用示波器观察FPGA产生的信号。
3、学习用VHDL编写复杂功能的代码。
二、实验原理
脉冲发生器就是要产生一个脉冲波形,而可控脉冲发生器则是要产生一个周期和占空比可变的脉冲波形。可控脉冲发生器的实现原理比较简单,可以简单的理解为一个计数器对输入的时钟信号进行分频的过程。通过改变计数器的上限值来达到改变周期的目的,通过改变电平翻转的阈值来达到改变占空比的目的。下面举个简单的例子来说明其工作原理。
假如有一个计数器T对时钟分频,其计数的范围是从0~N,另取一个
M(0≤M≤N),若输出为Q,那么Q只要满足条件
![](https://www.aiav.com.cn/uploads/allimg/240525/0AFKZ1-0.jpg)
时,通过改变N值,即可改变输出的脉冲波的周期;改变M值,即可改变脉冲波的占空比。这样输出的脉冲波的周期和占空比分别为:
![](https://www.aiav.com.cn/uploads/allimg/240525/0AFKZ1-1.jpg)
三、实验内容
本实验的任务就是要设计一个可控的脉冲发生器,要求输出的脉冲波的周期和占空比都可变。具体的实验过程中,时钟信号选用时钟模块中的1.5MHz时钟,然后再用按键模块的BT1和BT2来控制脉冲波的周期,每按下BT1,N会在慢速时钟作用下不断地递增1,按下BT2,N会在慢速时钟作用下不断地递减1;用BT3和BT4来控制脉冲波的占空比,每按下BT3,M会在慢速时钟作用下不断地递增1,每按下BT4,M会在慢速时钟作用下不断地递减1,BT8用作复位信号,当按下BT8时,复位FPGA内部的脉冲发生器模块。脉冲波的输出直接从FPGA的IO端口输出用示波器观察输出波形的改变。
四、实验步骤
1、打开QUARTUSII软件,新建一个工程。
2、建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。
3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4、编写完VHDL程序后,保存起来。方法同实验一。
5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
6、编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。
7、根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。
如果是调用的本书提供的VHDL代码,则实验连线如下:
CLK:FPGA时钟输入信号,接数字时钟CLOCK1并将时钟设为1 .5MHZ。
RST:复位输入信号,接一个按键开关BT8。
NU、ND:控制频率的输入信号,接两个按键开关BT1、BT2。
MU、MD:控制占空比的输入信号,接两个按键开关BT3、BT4。
FOUT:信号发生器的信号输出,接一个FPGA的IO端口。
8、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致。
五、实验结果与现象
以设计的参考示例为例,当设计文件加载到目标器件后,按下按键开关模块的BT8按键,在输出的FPGA IO通过示波器可能观测到一个频率约为1KHZ、占空比为50%的矩形波。按下BT1键或者BT2键,这个矩形波的频率会发生相应的增加或者减少。按下BT3键或者BT4键,这个矩形波的占空比会相应的增加或减少。
六、实验报告
1、绘出仿真波形,并作说明。
2、在这个实验的基础上重新设计,使程序改变频率的时候不会影响占空比的改变。
3、将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
X
截屏,微信识别二维码
微信号:13817525788
(点击微信号复制,添加好友)
打开微信
微信号已复制,请打开微信添加咨询详情!