三位数码管电路设计实验
一.实验日志
1.程序下载
安装驱动程序,在quartus中选择programmer,硬件设置中选择安装硬件驱动,添加led数码管的sof文件后就可下载程序至FPGA板。
2.初步认识FPGA开发板及数码管功能演示
数码管由led发光二级管构成,其亮灭受到位选信号,段选信号及时钟信号的控制。将程序下载至FPGA板后,可通过调节拨码开关改变三位数码管的显示情况。通过调节拨码开关,发现每位数码管由四个拨码开关控制,四个拨码开关分别对应的是数字8,4,2,1;可以通过这四个数的加和显示数字, 7449模块只能显示0到9十个数字。
通过调节拨码开关,可以使数码管显示数字123。3位数码管依次快速闪动实现数字的同时出现。调节时钟信号,当时钟频率减慢时,数字显示放慢,1,2,3逐个出现。
3.示波器测量信号
测量信号:位选信号Pin101,时钟信号Pin100
测量过程,将示波器分别接入Pin101,Pin100并接地,观察波形结果。时钟信号约100hz,位选信号20hz,周期的比例为5:1
二.实验报告
1.实验目的
学习图形输入法,硬件描述语言进行开发的流程;完成子模块及顶层设计;了解功能仿真的方法并完成功能仿真;通过实验熟悉FPGA开发板的设计过程。
2.实验芯片
使用74161,74139,7449芯片。
3.实验过程
Counter4计数器
芯片选择CycloneⅡ EP2C5T144C8,创建BDF并绘制设计电路。
其中VCC为模拟电源,clk发出时序信号,DFF为触发器。
编译后进行功能仿真。首先需要创建波形输入,模4计数器响应时钟上升沿信号,循环输出00 01 10 11,首先输入clk信号,生成网表后将仿真改为功能仿真即可开始功能仿真。
3选1多路选择器(VHDL描述)
程序书写后进行编译,同样建立波形输入进行功能仿真验证。
3选1多路选择器的作用是将拨码开关的信号译码转换为7449可接收的信号。
2-3译码器
建立BDF文件设计电路,其中芯片为74139,Bor2为输入端反向的或门,完成后进行功能仿真。
2-3译码器的作用是将模4计数器输入的两位信号转换为三位位选信号,用来控制三位数码管的显示。
图形法实现顶层设计
将子模块复制至顶层设计的文件夹后,新建BDF开始顶层电路的设计。加入子模块元件和芯片7449,并进行连接。
功能仿真结果:
其中,clk是时钟信号,模4计数器产生信号并传给2-3译码器产生位选信号,位选信号使三个数字轮流显示数字,3选1多路控制器将拨动拨码开关的信号译码传给7449,7449根据输入的信号产生对应abcdefg7段数码管的段选信号。在段选信号,位选信号和时钟信号的共同作用下,数码管通过特定段的显示实现数显功能。
下载验证
将程序下载至FPGA开发板后,与一开始显示1,2,3相同,可以通过拨码开关实现0-9,a-f的逐个显示,共16位,其中超过10后发现显示为乱码。
4.乱码的解决
可以考虑编写模块,直接把7449产生的段选信号进行修改。模块接收7449的信号,如果为0-9的段选信号则不变,如果是a-f的信号则改为能正确显示字母的信号。
5.分析
数码管的实现:时钟信号为输入信号,模4计数器接收时钟信号并循环输出00 01 10 11,而模4计数器又将信号传递给3选1多路选择器和2-3译码器,分别实现位选和段选,从而实现数字显示。
下载验证与仿真验证:仿真验证可以在不依靠开发板的情况下对电路进行逻辑验证,方便快捷,且可以提供波形,频率等信息。而下载验证可以更加直观的观察到电路输出的结果。
三.实验总结
1.通过实验,熟悉了使用QuartusⅡ完成电路设计和验证的完整过程。
2.了解了FPGA开发板的使用和电路设计。
3.了解了三位数码管的电路实现原理(时钟信号,段选信号,位选信号)。