资料介绍
描述
这是一个由 5 部分组成的博客,以下是链接:
第 2 部分:在 Spartan 6 FPGA 上使用 Xilinx ISE 的组合逻辑
第 3 部分:在 Cyclone-IV FPGA 上使用 Quartus Prime 的顺序逻辑
第 4 部分:在 Artix-7 FPGA 上使用 Vivado 的组合逻辑与顺序逻辑
第 5 部分:最终项目 - DE0 Nano 开发板上的 Pong 游戏
主意:
该项目旨在通过应用本博客前面部分中学到的所有概念来构建一个简单的 Pong 游戏(单人游戏)。
乒乓球游戏的输入(用户控制)将通过旋转编码器,输出可以在 VGA 监视器中看到。
概念:
1. 旋转编码器:-
这是旋转编码器的内部接线。黄色表示 VCC,灰色表示 GND。当编码器旋转时,两个输出在 1 和 0 之间切换。
根据脉冲的位置,我们可以确定方向,我们可以将脉冲数作为该方向的计数。
让蓝色波形为输出 1,绿色为输出 2。
那么我们如何确定方向呢?如果您非常仔细地观察波形,您会注意到在输出 1 的每个上升沿,如果输出 2 为低电平,那么它是顺时针方向的。
在输出 1 的上升沿,如果输出 2 为 HIGH,那么我们可以说它是逆时针的,但这种方法在现实生活中解码信号并不可靠。
我们如何解码信号?
答案 - 正交解码器。
正交解码器的设计:
测试设计:
我们将使用 Terasic System Builder 为 Quartus Prime 构建项目。
我们将使用 8 个板载 LED 作为计数器的输出,使用 1 个 RGB LED 作为旋转编码器的方向并检查旋转编码器的开关。
您可以通过查看本博客系列的第 3 部分来熟悉 Quartus Prime 软件。
验证码:
QSF 文件和 SDC 文件:
。
好吧,这个术语对您来说应该非常熟悉,因为我们可能至少使用过一次 VGA 监视器,或者甚至现在可能正在使用它。
1987 年首次与 IBM PS/2 系列计算机一起推出,之后它被广泛用于几乎所有带 DVI 的 PC,直到 2003 年 HDMI 出现,之后由于更高的分辨率和更好的帧速率,它被广泛采用,到了当年2015 年有超过 40 亿台设备使用 HDMI。
让我们看一下VGA Pinout:
VGA有5种主要信号,分别是红、绿、蓝、水平同步和垂直同步。
来自多伦多大学的有用信息:
“VGA监视器可以被认为是一个像素网格,其中每个像素是一个可以设置为特定颜色的图片元素。有480行,每行由640个像素组成。(在本项目中使用)VGA接口串行工作,也就是说,每个像素的颜色信息一个接一个地发送,而不是一次发送。
颜色可以使用由每种基本颜色(红、绿、蓝)的强度组成的三元组来表示。监视器期望这些值是模拟的,因此使用了 DAC(数模转换器)。
需要认识到的一个重要事实是 VGA 显示器没有内存,因此不会存储写入其中的像素信息。相反,必须将像素连续发送到显示器以实现稳定的图像。VGA 适配器确实有内存,将负责不断地发送像素信息。”
让我们看一下时序图以了解有关该协议的更多信息:
测试VGA协议:
我将使用 Verilog 模块为 VGA 生成水平同步和垂直同步
现在,一旦我们有了这个模块,我们就可以在显示器上绘制任何形状。
所需时钟为 25MHz,因此首先将板载 50MHz 除以 2 得到 25MHz。
hvsync_generator 模块将在 VGA(顶部)模块中实例化。数字 160、240 表示监视器中的水平位置,480 是监视器中可能的最大垂直距离。
R-1、G-1、B-1对应白色,R-1、G-0、B-0对应红色,R-1、G-1、B-0对应黄色,以此类推上。
约束文件和SDC文件:
测试 VGA 输出:
现在我们已经学习并测试了旋转编码器和 VGA 模块,让我们开始构建乒乓球游戏。
3. 乒乓游戏的制作:
1.首先创建一个文件,用于生成水平同步和垂直同步信号并固定显示区域
2.接下来添加乒乓球游戏的代码,如以下步骤所述
声明输入和输出,然后声明分频器,如博客系列的第 3部分所述
3. 接下来实例化水平同步和垂直同步信号的模块,并编写旋转编码器的代码,如本博客前面所述。
然后我们根据计数器值移动弹跳器,计数器值可以通过旋转编码器递增或递减
4. 在这一步中,让我们编写将在乒乓球比赛中使用的球的代码:
5.根据滑动开关,选择弹跳器是手动还是自动移动,根据球的位置,反转球与任何物体碰撞的方向。
观察碰撞和旋转编码器旋转的方向,设置输出到板载 LED
6.接下来编写代码,每次碰撞时更新球的位置并重置碰撞检测器
7. 最后根据开关位置改变颜色,并将 RGB 信号分配给各自的输出,并仅在显示器的总区域内显示。
8.现在写约束文件和SDC文件
约束文件:
SDC 文件:
综合逻辑图:
分析起来太复杂了,但它确实有效!
连接:
查看下面给出的约束和图像,以了解有关如何连接模块的更多信息。
VGA:
在 Pmod VGA 中,您会注意到它支持 12 位,但在这个项目中,我们只使用 3 位,红色一位,绿色一位,蓝色一位。
将 DE0 Nano 的 Red 引脚连接到 DAC 中权重最高的 Pmod 的 R3 其余位将在 Pmod 内部接地。
以同样的方式将绿色连接到 G3,将蓝色连接到 B3。在 Pmod 中水平同步到 HS 和垂直同步到 VS。将 Pmod 的 VCC 和 GND 连接到 DE0 Nano 中的相应引脚。
旋转编码器:
按照约束文件中的规定,将旋转编码器的数据引脚连接到 ROT_A 和旋转编码器的 Clk 引脚到 ROT_B 输入。
将旋转编码器的 VCC 和 GND 连接到 DE0 Nano 中的相应引脚。
你完成了!
对 FPGA 进行编程并提供连接(请参阅引脚分配手册),您将看到球和滑块。确保启用所需的开关以查看操作。
乒乓球游戏的最终输出
参考:
1. https://how2electronics.com/construction-working-rotary-encoder/
2. https://reference.digilentinc.com/reference/pmod/pmodvga/reference-manual
3. https://reference.digilentinc.com/learn/programmable-logic/tutorials/vga-display-congroller/start
5. https://numato.com/kb/simple-vga-design-example-for-telesto/
- 如何进行电源设计–第5部分
- 电源设计方法-第5部分
- 面包板到PCB第1部分-制作西蒙说游戏
- 用电信息采集系统型式规范第2部分 1次下载
- 用电信息采集系统型式规范第3部分 1次下载
- 用电信息采集系统技术规范第3部分 2次下载
- 用电信息采集系统检验规范第4部分 0次下载
- 用电信息采集系统检验规范第2部分 0次下载
- 用电信息采集系统检验规范第3部分 0次下载
- 用电信息采集系统通信协议第3部分 3次下载
- 用电信息采集系统检验规范第1部分 2次下载
- 用电信息采集系统通信协议第2部分 3次下载
- 电压基准如何影响ADC性能,第2部分 10次下载
- 基于FPGA的乒乓游戏机设计
- 基于FPGA的乒乓游戏机设计
- 双极踏脚车(第二部分):微步和衰减模式 461次阅读
- ADC数字下变频器:抽取滤波器和ADC混叠,第2部分 1455次阅读
- ADC眼中的虚拟评估,第2部分 624次阅读
- 边缘智能第1部分:边缘节点 1046次阅读
- 实时控制技术满足实时工业通信发展的需求 —— 第2部分 993次阅读
- JESD204C入门第2部分:新特性及其内容 6242次阅读
- DC/DC转换器传导EMI - 第2部分,噪声传播和滤波 3150次阅读
- EDA实验之在FPGA上设计一个DDS模块 2051次阅读
- 电压检测器、监控器和高级监控各种功能介绍:第1部分 4859次阅读
- Virtex5 FPGA在ISE + Planahead上部分可重构功能的流程和技术要点 3687次阅读
- 如何将MCU应用到FPGA中:关于FPGA(1) 3800次阅读
- 关于如何「训练」神经网络的一部分经验与见解 7450次阅读
- V5 FPGA配置回读 9396次阅读
- 无源元件并非真的“无源”:第1部分——电容 2433次阅读
- 混合信号系统接地揭秘之第二部分 1663次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多