当前位置:文档之家› 乒乓球实验报告

乒乓球实验报告

乒乓球实验报告
东南大学电工电子实验中心
实验报告
课程名称:数字逻辑设计实践
第六次实验
实验名称:可编程数字系统设计基础——模拟乒乓球游戏院系:吴健雄学院专业:电类姓名:学号
实验时间:2019年12月31日
评定成绩:____________________审阅教师:__________________
一、实验目的
1. 了解可编程数字系统设计的流程
2. 掌握Quartus II 软件的使用方法
3. 掌握原理图输入方式设计数字系统的方法和流程
二、实验原理
详见课本第7章内容
三、实验要求
设计一个乒乓球游戏电路。

基本要求与扩展要求见课本。

利用试验箱提供的按键、LED 灯和数码管,设计一个模拟打乒乓球游戏。

①根据设计要求划分设计层次、单元模块和接口信号,画出系统框图、控制器ASM 流程图、②设计所有单元模块并编译,分析编译时产生的错误和警告信息。

③对所有的单元模块进行功能仿真,并记录和分析全部仿真结果。

④在顶层文件中连接全部单元模块并编译、综合、分配引脚和适配,可编程器件选择Altera Cyclone 1C3T 。

⑤对整个系统进行时序仿真,并记录和分析仿真结果。

⑥将仿真正确的设计下载到实验箱上进行板级验证。

四、设计过程
1、划分层次、单元模块和接口信号
根据实验要求,将本系统划分为五个单元,分别为:键盘单元、频率分配单元、球运动单元、得分设置单元、强度发球控制单元。

键盘单元:因为本实验中只要用到三个键,所以键盘单元比较简单,其中有五个信号输出:A (左边选手代码,下同)按键短暂信号,A 按键长信号(直到下一个键按下此信号消失),B 按键短暂信号,B 按键长信号,裁判按键长信号。

频率分配单元:本系统中需要的频率较多,而实验室中提供频率发生器只有一台,所以本系统中增加此单元,将一个频率信号重新分配,获取多个可用的频率信号。

在此单元中只需要多个不同的分频器即可,将一个高频信号分为多个。

球运动单元:此单元为球台部分,接受控制信号,显示球的运动方向与球速,输出得分失分信号给得分单元处理。

得分处理单元:此单元接受球运动单元发来的得分失分信号,经过处理输出给数码管显示,并且判断胜负的条件,得出最后的胜负。

强度发球控制单元:此单元为实现发球控制,也即本系统的核心部分,以及强度控制单元,用来控制回球的速度,该单元接受来自键盘的按键信号、球运动单元的反馈信号,处理后输出发球信号和强度信号给球运动单元。

顶层文件:将上述五个部分的文件全部连接,实现综合功能。

系统框图如下:
2、分单元设计
键盘单元:其设计与上一个实验中相同,具体在这里不详解,本系统中只是将暂时信号和长时间信号分开输出,暂时信号不经过寄存器161直接输出,而长时间信号经过寄存器寄存后输出,本系统中只需要E 、D 、F 三个键,因此只需要五个或门即可实现。

具体电路见下图:
频率分配单元:由两个频率信号得到五个不同频率的信号,其中高信号直接输出,频率较低的四个信号由分频器分配得到,由2Hz 的输入信号得到2Hz 、1Hz 、0.5Hz 和
0.25Hz 的信号,本单元较简单,电路图如下:
球运动控制单元:此单元控制球的走向,即
本系统的状态转换,用两个194来显示球的走向,大体的状态图如下:
状态表:
由上面的状态表画出卡诺图(略),设计组合电路如下:
这是左端的194的S0与S1的输入电路图,还有右端的与其相同,不再累赘。

下面是判断哪边胜利的判断电路,判断哪边胜利可分为一下几个方面:①球未到达最
后一个LED 灯选手就提前按下接球信号;②球已经过了最后一个LED 灯,选手还没有及
时按下接球信号;③选手按下接球键后等待强度灯闪烁,若放下按键后四个强度等全部熄灭。

写出真值表,画出卡诺图(略),设计电路如下:
强度的第一个灯
最左端球 A 方长按键
A 方短按键裁判按键
在上面的两个小部分的基础上,加了八个LED灯的输出,构成了此球台控制单元的
整体,其电路图如下图所示:
得分处理单元:此单元接收球运动控制单元的胜利得分信号经过处理后输出显示到数
码管上,并且判断最终胜利的条件,符合条件的即可以胜利,不符合条件的则继续比赛。

前面的计分比较简单,对于后面谁达到11分,判断分差是否大于等于2分,此部分判断
电路较复杂,一下讨论:
判断A 胜利可分为两个部分:1、两个条件:①A 达到11分;②B 不大于9分;2、
三个条件:①A 大于等于11分;②A 的得分大于B 的得分;③A 得分的BCD 码的末位与
B 得分的BCD 码的末位异或为0(相同,说明相差两分而不是一分,可以判断胜负)。


面两个部分为或得关系,任何一个实现都可以判断胜负。

数码管寄存采用模十计数器,其始终端分别接得分信号,来一个得分信号,使计数器
增加一个数。

其中比较两个八位二进制码的大小用了一个可编程比较器,这样简洁明了,便于理解。

具体的电路图如下所示:
强度发球控制单元:
1、轮换发球控制:将裁判的按键信号输入,用161作2分频,则裁判按两下161的
输出变一下,可以实现两次轮发球。

本系统还实现了另外的一个功能,当某一方达到11
分之后,变为一次轮换发球,这可以用裁判的信号不分频直接输出。

这部分电路图如下:
A 发球
裁判信号
B 发球
2、击球强度控制:由强度显示的四个LED 灯的亮灭情况,我用移位寄存器来实现强
度显示功能,A 按键的即时信号(按住有信号,松开无信号)、球台左侧第一个灯和一个
低频率信号相与输入194的CLK 端,这样当球到达最左侧之时,按下接球键,低频率信号到达194的CLK 端,移位寄存器开始工作,强度灯闪烁。

当松开按键时,194停止一位,
其将会输出一个BCD 码,通过下表的转换,经过组合电路,输出信号输入到数据选择器,选择适当的频率输入到球运动单元的CLK 端。

发球强度选择真值表如下:
画出卡诺图(略),设计电路如下:
则此部分的总的电路图由以上两个部分组成,具体如下
根据各部分的电路图,以及系统框图,将各个单元的电路在顶层文件中组合,顶层文件电路图如下:
3、对所有单元模块进行编译,分析编译时产生的错误和警告信息。

4、对所有单元进行功能仿真,并记录和分析全部仿真结果。

各个部分的功能仿真结果如下:键盘部分:
按下裁判E 键后的功能仿真图:
其他按键的功能仿真略。

频率分配单元:
球运动控制单元:仿真说明:仿真步骤如下1、首先建立波形,设置输入信号,先设置频率信号,在加入裁判键信号,在E 输入加入一段1电平,在之后加入左击球信号在D 上加上即时信号,在D_上加上长时间信号,并将QL 设为高电平,输入信号完毕;2、打开功能仿真,打开建立波形文件,先进行编译,在进行仿真,仿真图如下,最终符合设计要求:裁判按下,左选手按下,球由左向右移动,移动频率为所加频率。

得分设置单元:
仿真说明:仿真步骤同上相同,输入得分信号,可以看到输出计数器工作,此部分功能正常。

第11页共13页
强度发球控制单元:
仿真说明:裁判按下开球键,当左边选手按下击球键时,强度灯闪烁,当放下左侧击球键时,强度灯停止,选择所需要的频率从CLK_L输出,送到球运动的频率上。

各部分功能符合设计需要。

顶层文件:
由于顶层文件模拟时需要将按键的时间长短考虑进去,所以无法将按键长短输入,并且无法再屏幕上显示,因为按键信号频率与原始频率相比要小得多,所以在此不再将模拟图片放上。

5、在顶层文件中编译文件,分配引脚。

第12页共13页
6、将仿真正确的设计系统下载到实验箱中进行验证,验证结果正确,完全符合设计要求。

五、实验分析与总结
本次实验是设计一个模拟乒乓球的游戏,从开始准备实验到最终验收完成、直至写好报告有一路的收获。

在实验设计中,首先学习Quarters 的使用设计方法,到学习可编程数字系统的设计一般流程与方法,再到具体设计,在设计的过程中,学习到得主要如下:设计分模块,简化设计;对模块内各个部分的功能写出真值表,画卡诺图,设计组合电路的步骤;尽量少用ROM ,其可以用组合电路代替,ROM 只是实践中简化连线,用组合电路可以让我们加深设计步骤与思想;注意时序电路,设计必要时用D 触发器实现数据的寄存;避免险象与冲突;功能仿真中信号的输入方法,注意各个操作的步骤,在输入信号中体现;实验中遇到错误,分析方法,从预测结果与实际结果出发,寻找错误的根源。

在实验报告中,做完实验后,在写实验报告的过程中,对本实验做出进一步的思考,最大的收获是设计数字系统的方法,自顶向下的设计思想,状态转换的思想,对今后做实验有很大帮助。

第13页共13页。

相关主题