1、 了解交通灯的燃灭规律。
2、 了解交通灯控制器的工作原理。
3、 熟悉VHDL语言编程,了解实际设计中的优化方案。
二、 实验原理
交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。
要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的燃灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。
在实验中使用8个七段码管中的任意两个数码管显示时间。东西路和南北路的通车时间均设定为20s。数码管的时间总是显示为19、18、17……2、1、0、19、18……。在显示时间小于3秒的时候,通车方向的黄灯闪烁。
三、 实验内容
本实验要完成任务就是设计一个简单的交通灯控制器,交通灯显示用实验箱的交通灯模块和七段码管中的任意两个来显示。系统时钟选择时钟模块的1464Hz时钟,黄灯闪烁时钟要求为2Hz,七段码管的时间显示为1Hz脉冲,即每1s中递减一次,在显示时间小于3秒的时候,通车方向的黄灯以2Hz的频率闪烁。系统中用核心板的RST按键进行复位。
四、 实验步骤
1、 打开QUARTUSII软件,新建一个工程。
2、 建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。
3、 按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4、 编写完VHDL程序后,保存起来。方法同实验一。
5、 对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。直到完全通过。
6、 编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。
7、 根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。
8、 用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致。
五、 实验结果与现象
以设计的参考示例为例,当设计文件加载到目标器件后。交通灯模块的红、绿、黄LED发光管会模拟实际中的交通信号灯的变化。此时,数码管上显示通行的时间的到计时。当到计时到5秒时,黄灯开始闪烁。到0秒时红绿灯开始转换,倒计时的时间恢复至20秒。按下按键开关K1则从头开始显示和计数。
六、 实验报告
1、 绘出仿真波形,并作说明。
2、 试编写能手动控制交通灯通行时间的交通灯控制器。
3、 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
相关产品:
DB-E807 FPGA实验教学系统