THGSC-3型 大规模EDA/SOPC综合实验开发系统
实验十二 用VHDL 设计四人抢答器
一、实验目的
1. 熟悉四人抢答器的工作原理。 2. 加深对VHDL语言的理解。 3. 掌握EDA开发的基本流程。 二、实验设备
1. PC机 一台; 2. Altera Blaster下载器 一根; 3. THGSC-3型实验箱 一台。 三、实验原理
抢答器在各类竞赛性质的场合得到了广泛的应用,它的出现,消除了原来由于人眼的误差而未能正确判断最先抢答的人的情况。抢答器的原理比较简单,首先必须设置一个抢答允许标志位,目的就是为了允许或者禁止抢答者按按钮;如果抢答允许位有效,那么第一个抢答者按下的按钮就将其清楚,同时记录按钮的序号,也就是对应的按按钮的人,这样做的目的是为了禁止后面再有人按下按钮的情况。总的说来,抢答器的实现就是在抢答允许位有效后,第一个按下按钮的人将其清除以禁止再有按钮按下,同时记录清楚抢答允许位的按钮的序号并显示出来,这就是抢答器的实现原理。 四、实验内容
本实验的任务是设计一个四人抢答器,用按键模块的S5来作抢答允许按钮,用S1~S4来表示1~4号抢答者,同时用LED 模块的D1~D4分别表示于抢答者对应的位子。具体要求为:按下S5一次,允许一次抢答,这时S1~S4中第一个按下的按键将抢答允许位清除,同时将对应的LED点亮,用来表示对应的按键抢答成功。数码管显示对应抢答成功者的号码。此实验中数码管、LED、按键开关与FPGA 的连接电路和管脚连接在《用户手册》中都做了详细说明。 五、实验步骤
1. 打开QUARTUSII 软件,新建一个工程。
2. 建完工程之后,再新建一个VHDL File,打开VHDL 编辑器对话框。 3. 按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序。 4. 编写完VHDL 程序后,保存起来。方法同实验一。
5. 对自己编写的VHDL 程序进行编译并仿真,对程序的错误进行修改。
6. 编译仿真无误后,依照《用户手册》进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。
7. 用下载电缆通过JTAG 口将对应的sof 文件加载到FPGA 中。
8. 按下按键开关的S5按键,表示开始抢答。然后,同时按下S1-S4,首先按下的键的键值被数码管显示出来,对应的发光管被点亮。与此同时,其它按键失去抢答作用。观察实验结果是否与自己的编程思想一致。
40 天煌科技 天煌教仪
THGSC-3型 大规模EDA/SOPC综合实验开发系统
9. 实验完毕,关闭电源,整理实验器材。
六、实验结果
当设计文件加载到目标器件后,S5微动按键按下,设置抢答标志位有效,允许一次抢答,这时S1~S4中第一个按下的按键将抢答允许位清除,同时将对应的LED点亮,用来表示对应的按键抢答成功。数码管显示对应抢答成功者的号码。与此同时,其它按键失去抢答作用。 七、实验报告
1. 绘出仿真波形,并作说明;
2. 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来; 3. 实验心得和意见。
41 天煌科技 天煌教仪
THGSC-3型 大规模EDA/SOPC综合实验开发系统
实验十三 可控脉冲发生器的设计
一、实验目的
1. 了解可控脉冲发生器的实现机理。 2. 学会用示波器观察FPGA产生的信号。 3. 学习用VHDL 编写复杂功能的代码。 二、实验设备
1. PC机 一台; 2. Altera Blaster下载器 一根; 3. THGSC-3型实验箱 一台; 4. 示波器 一台。 三、实验原理
脉冲发生器就是要产生一个脉冲波形,而可控脉冲发生器则是要产生一个周期和占空比可变的脉冲波形。可控脉冲发生器的实现原理比较简单,可以简单的理解为一个计数器对输入的时钟信号进行分频的过程。通过改变计数器的上限值来达到改变周期的目的,通过改变电平翻转的阈值来达到改变占空比的目的。下面举个简单的例子来说明其工作原理。假如有一个计数器T 对时钟分频,其计数的范围是从0~N,另取一个M(0≤M≤N),若输出为Q,那么Q 只要满足条件时,
通过改变N 值,即可改变输出的脉冲波的周期;改变M 值,即可改变脉冲波的占空比。这样输出的脉冲波的周期和占空比分别为:
四、实验内容
本实验的任务就是要设计一个可控的脉冲发生器,要求输出的脉冲波的周期和占空比都可变。具体的实验过程中,时钟信号选用时钟模块中的1MHz 时钟,然后再用按键模块的S3和S4 来控制脉冲波的周期,每按下S3,N会在慢速时钟作用下不断地递增1,按下S4,N会在慢速时钟作用下不断地递减1;用S1和S2来控制脉冲波的占空比,每按下S1,M会在慢速时钟作用下不断地递增1,每按下S2,M会在慢速时钟作用下不断地递减1,S8用作复位信号,当按下S8时,复位FPGA内部的脉冲发生器模块。脉冲波的输出直接输出到实验箱 J7探针右1脚,以便用示波器观察输出波形的改变。 五、实验步骤
1. 打开QUARTUSII 软件,新建一个工程。
42 天煌科技 天煌教仪
THGSC-3型 大规模EDA/SOPC综合实验开发系统
2. 建完工程之后,再新建一个VHDL File,打开VHDL 编辑器对话框。 3. 按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序。 4. 编写完VHDL 程序后,保存起来。方法同实验一。
5. 对编写的VHDL 程序进行编译并仿真,对程序的错误进行修改。
6. 编译仿真无误后,依照《用户手册》进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。
7. 用下载电缆通过JTAG 口将对应的sof 文件加载到FPGA 中。
8. 将数字信号源模块的时钟选择为1MHZ,按下按键开关模块的S8按键,用示波器观察J7的右脚的输出波形。按下S3 键或者S4 键,观察此波形的变化。按下S1 键或者S2 键,观察此波形的变化,记录实验现象(为体现实验编程基本思想,在程序中没有对功能进行优化,所以在调整脉冲占空比或频率到达极值时会出现一条直线)。观察实验结果是否与自己的编程思想一致。
9. 实验完毕,关闭电源,整理实验器材。
六、实验结果
以设计的参考示例为例,当设计文件加载到目标器件后,S8为复位键,按下复位FPGA内部计数器,用示波器观察实验箱 J7探针右1脚输出波形,按下S2键或者S4键,这个矩形波的频率会发生相应的增加或者减少。按下S1键或者S3键,这个矩形波的占空比会相应的增加或减少。 七、实验报告
1. 绘出仿真波形,并作说明;
2. 在这个实验的基础上重新设计,使程序改变频率的时候不会影响占空比的改变; 3. 偶数分频、奇数分频电路设计;
4. 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来; 5. 实验心得和意见。
43 天煌科技 天煌教仪
THGSC-3型 大规模EDA/SOPC综合实验开发系统
实验十四 正负脉宽调制信号发生器设计
一、实验目的
1. 在掌握可控脉冲发生器的基础上了解正负脉宽数控调制信号发生的原理。 2. 熟练的运用示波器观察实验箱上的探测点波形。 3. 掌握时序电路设计的基本思想。 二、实验设备
1. PC机 一台; 2. Altera Blaster下载器 一根; 3. THGSC-3型实验箱 一台; 4. 示波器 一台。 三、实验原理
首先详细说明一下正负脉宽数控的原理。正负脉宽数控就是直接控制输入脉冲信号的正脉宽数和负脉宽数,当然,正负脉宽数一旦定下来,脉冲波的周期也就确定下来了。其次是调制信号,调制信号有很多种,有频率调制、相位调制、幅度调制等等,本实验中仅对输出的波形进行最简单的数字调制,另外为了EDA 设计的灵活性,实验中要求可以输出非调制波形、正脉冲调制和负脉冲调制。非调制波形就是原始的脉冲波形;正脉冲调制就是在脉冲波输出‘1’的期间用输出另一个频率的方波,而在脉冲波为‘0’器件还是原始波形;负脉冲调制正好与正脉冲调制相反,要求在脉冲波输出为‘0’期间输出另外一个频率的方波,而在‘1’期间则输出原始波形。为了简化实验,此处的调制波形(另外一个频率的方波)就用原始的时钟信号。其具体的波形如下图14-1 所示:
图14-1 调制波形
四、实验内容 本实验的任务是设计一个正负脉宽数控调制信发生器。要求能够输出正负脉宽数控的脉冲波、正脉冲调制的脉冲波和负脉冲调制的脉冲波形。实验中的时钟信号选择时钟模块的1MHz 信号,用拨挡开关模块的SW1~SW4 作为正脉冲脉宽的输入,用SW5~SW8 作为负脉冲脉宽的输入,用按键开关模块中的S1所谓模式选择键,每按下一次,输出的脉冲波形改变一次,依次为原始脉冲波、正脉冲调制波和负脉冲调制波形。波形输出至实验箱观测模块的探针,以便示波器观察。 五、实验步骤
1. 打开QUARTUSII 软件,新建一个工程。
44 天煌科技 天煌教仪