用VHDL设计交通灯.doc
文本预览下载声明
数字电路课程设计报告
院系: 电气信息工程学院
班级: 08测控2班
学号:
姓名: 董 亮
合作: 虞 波
指导教师: 翟 丽 芳
2010年12月10日
目 录
引言······················································2
一 设计任务和设计要求·········································2
二 电路工作原理及方案设计································3
三 软件设计与调试········································4
1. 分频模块的设计及仿真图·································4
2. 控制器设计及仿真图····································6
3. 计数器的设计及仿真图···································7
4. 分位模块的设计·······································9
5.数码管驱动设计·······································10
6. 顶层文件设置·········································14
四 硬件焊接与组装调试···································15
五 心得体会·············································16
六 参考文献·············································16
交通灯控制电路设计
引言:
随着社会的发展以及人类生活水平的提高,基于CPLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制用计算机等领域的重要性日益突出。
如今,交通的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计交通灯来完成这个需求就显的越加迫切了。为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。以下就是运用数字电子设计出的交通灯。
本程序设计的是交通灯的设计。采用EDA作为开发工具,VHDL语言为硬件描述语言,quartusII作为程序运行平台,所开发的程序通过调试运行、波形仿真验证,实现设计目标。
一.设计任务与设计要求
1. 设计任务
设计一个基于FPGA的十字路口交通控制器,假设南北方向和东西方向,两个方向分别设置红灯、绿灯、黄灯三盏灯,设置一组倒计时显示器,用以指挥车辆和行人有序的通行。红灯亮表示直行车辆禁行;绿灯亮表示直行车辆可以通行;黄灯亮表示直行车辆即将禁行;倒计时显示器用来显示允许通行或禁止通行的时间 。尽量采用层次化设计。
2. 设计要求
在十字路口南北和东西两个方向各设一组红灯、黄灯、绿灯。设一组倒计时显示器。
自动控制:
设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,南北方向为主干道,红灯、黄灯和绿灯显示时间分别是55、5s、50s。东西方向为次干道,红灯、黄灯绿灯显示时间分别为35s、5s、30s。
特殊功能:
紧急状态时,手动拨动紧急开关,主干道以及次干道都显示红灯,禁止通行,并由蜂鸣其报警。
黄灯显示信号为脉冲信号,使得黄灯为“一闪一闪”的显示状态。
二.电路工作原理及方案设计
图1总体设计框图
在VHDL设计描述中,采用自顶向下的设计思路,首先要描述顶层的接口,上面的描述已经规定了交通灯控制的输入输出信号:输入信号:外部时钟信号clk。LED在自顶向下的VHDL设计描述中,通常把整个设计的系统划分为几个模块,然后采用结构描述方式对整个系统进行描述。通过上面的分析,不难得知可以把交通灯控制系统划分为4个模块:时钟分频模块,计数模块,控制模块,分位译码模块。
分频电路:输入较高频率脉冲用分频电路的到较第频率的时钟信号,本电路通过二次分平分别得到1Hz的时钟信号。
控制器电路:根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计时数值给七段译码管的分位译码电路。当检测到手动控制信号(hold=’1’)时,执行特殊控制;
计数器电路:下一个时钟沿回复到0,开始下一轮计数。当检测到特殊情况(HOLD
显示全部